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

 找回密码
 立即注册
查看: 2813|回复: 17

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

[复制链接]

3

主题

10

帖子

157

积分

注册会员

Rank: 2

积分
157
金钱
147
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


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

回复

使用道具 举报

41

主题

2191

帖子

8462

积分

元老级技术达人

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

使用道具 举报

17

主题

805

帖子

5844

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

3

主题

381

帖子

3443

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

12

主题

1457

帖子

4641

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

0

主题

76

帖子

1497

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

50

主题

1833

帖子

7288

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

158

主题

2508

帖子

7790

积分

元老级技术达人

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

使用道具 举报

3

主题

10

帖子

157

积分

注册会员

Rank: 2

积分
157
金钱
147
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

主题

91

帖子

1066

积分

金牌会员

Rank: 6Rank: 6

积分
1066
金钱
975
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, 2025-2-3 05:57 , Processed in 0.056959 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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