『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1776|回复: 15

[进阶教程] 功能齐全,深度适配 HA 的 CMPOWER W1 智能插排固件

[复制链接]

2

主题

7

帖子

111

积分

注册会员

Rank: 2

积分
111
金钱
104
HASS币
0
发表于 2024-8-1 08:28:46 | 显示全部楼层 |阅读模式
Capture_2024-07-06_16-38-30.png
123.png

固件特点:

1. 足够傻瓜,配网即用,无需添加/修改任何 yaml 文件,配网后 HA 中的 mqtt broker 会自动发现设备以及所有实体(包括计量)。
2. 支持计量功能,无需额外校准(电压,电流,功率,电量,频率,温度),基本满足日常使用。
3. 设备离线 HA 自动更新状态显示设备不可用,当设备重新上线后 HA 中自动更新状态显示设备可用(包括 HA 重启)。
可能就差一个 web ota 功能了,是否适配看后面使用情况吧!

第一部分

1. 简介

不同于之前版本(链接),当前版本主要是为了对接 Home Assistant 来控制中移铁通智能插座。

固件基于乐鑫 ESP8266_RTOS_SDK 开发,通信协议采用 MQTT-TCP 方式控制插座的两个继电器。其中 MQTT Broker 使用 Home AssistantMosquitto Broker,从而利用 Home Assistant 控制主继电器和子继电器。

2. 配网 APP

使用 EspTouch,详细介绍可以点击链接:

[安卓](https://github.com/EspressifApp/EsptouchForAndroid)
[IOS](https://github.com/EspressifApp/EsptouchForIOS)

可以通过手机应用市场下载安装。

手机连接 WiFi (最好是非混合的2.4G),打开 APP 后选择 EspTouch V2 方式,输入 WiFi 密码和需要配网的设备数量。

关于自定义数据说明

由于对接 Home AssistantBroker IP 通过自定义数据方式传给设备。除此之外,为了避免多个插排情况下在 HA 中同名,用户可以自定义 objetc id (具体规范可以参考 HA 官网)。除此之外,mqtt 用户名 密码 也需要传入,因此,自定义数据格式如下:

"broker ip":"object id":"mqtt username":"mqtt password"

使用 : 分隔,不能缺省否则 Broker 连接失败:

234.jpg

图片以 broker ip: 192.168.10.159,自定义 object id: bedroom,username: admin,password: 123456 为例说明

由于自定义数据总长度不能超过 32 字节,因此 broker ip 只需填写后两位,前两位默认“192.168”

3. LED说明

LED状态功能
蓝色闪烁设备未配网
蓝色常亮WiFi 已连接,但 Broker 还未连接
蓝色Broker 连接成功
红色常亮WiFi 断连
红色WiFi 回连成功
白色常亮子继电器开
白色子继电器关
按键 LED常亮主继电器开
按键 LED主继电器关

蓝色 LED 只在配网环节指示,后续只有红色 LED 指示网络情况

4. 按键说明

双击按键同时开/关主/子继电器

单击按键开/关子继电器(前提是主继电器是开的状态,否则子继电器不会开启。主继电器不开,打开子继电器没意义)

5. 重置说明

长按按键直至红色 LED 亮起松手则重置设备

6. 计划开发
  • 本地 OTA(视情况而定)

第二部分

1. 如何编译源码

参考[官方指导]

注意: ESP8266_RTOS_SDK 使用 release/v3.4

2. 如何烧录

可自行编译或者使用 release 的固件 xxx_factory.bin


download_1.png
download_2.png
567.png


源码,预编译固件以及工具可以关注公众号:物联网不互联 获取。

回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2024-8-1 08:42:40 | 显示全部楼层
最后点题了:互联网不互联
不错
回复

使用道具 举报

17

主题

799

帖子

5734

积分

论坛元老

Rank: 8Rank: 8

积分
5734
金钱
4930
HASS币
0
发表于 2024-8-1 08:52:40 | 显示全部楼层
虽然已经用esphome接入了,但是感谢分享~~~
回复

使用道具 举报

3

主题

380

帖子

3325

积分

论坛元老

Rank: 8Rank: 8

积分
3325
金钱
2945
HASS币
0
发表于 2024-8-1 09:00:04 | 显示全部楼层
esphome好
回复

使用道具 举报

10

主题

1332

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
2918
HASS币
0
发表于 2024-8-1 09:46:33 | 显示全部楼层
感谢大佬分享
回复

使用道具 举报

0

主题

71

帖子

1399

积分

金牌会员

Rank: 6Rank: 6

积分
1399
金钱
1328
HASS币
0
发表于 2024-8-1 10:22:22 | 显示全部楼层
感谢楼主分享。关于自定义数据请教2个问题:1、如果broker的ip不是192开头要怎么填?2、broker没有用户名和密码该怎么填?
回复

使用道具 举报

46

主题

1654

帖子

6676

积分

论坛元老

Rank: 8Rank: 8

积分
6676
金钱
5012
HASS币
40
发表于 2024-8-1 12:27:17 | 显示全部楼层
高手            
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-8-1 12:37:49 | 显示全部楼层
为什么不直接用esphome的api接入ha呢,为什么要走一遍mqtt,我不太懂,感觉直接接入更好。
回复

使用道具 举报

2

主题

7

帖子

111

积分

注册会员

Rank: 2

积分
111
金钱
104
HASS币
0
 楼主| 发表于 2024-8-1 14:23:32 | 显示全部楼层
wwjw 发表于 2024-8-1 10:22
感谢楼主分享。关于自定义数据请教2个问题:1、如果broker的ip不是192开头要怎么填?2、broker没有用户名和 ...

1.家庭局域网一般是192.168.开头,目前固件是这么处理的,主要受限于字符个数。或者把其它字段个数压缩,让broke ip可以输全。
2.HA 的 mqtt broker 在配置时候有账户和密码,那么设备连接时候也需要。倒是没有试过不要密码连接可不可以。
回复

使用道具 举报

2

主题

86

帖子

929

积分

高级会员

Rank: 4

积分
929
金钱
843
HASS币
0
发表于 2024-8-1 14:27:03 | 显示全部楼层
本帖最后由 sauron 于 2024-8-1 14:28 编辑

不错,感谢楼主分享,我用esphome也可以实现mqtt自发现,但是要关web server(api不连接),不然内存不够会死机,不用mqtt就可以api和web server一起开了,可以web ota,甚至web调校准参数
mqtt应该能支持域名和指定端口的吧,我是ipv6域名接入的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 08:31 , Processed in 0.129392 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表