找回密码
 立即注册
查看: 360|回复: 9

[基础教程] 中国移动X11不刷机接入HA

[复制链接]

2

主题

94

回帖

1172

积分

金牌会员

积分
1172
金钱
1076
HASS币
0
发表于 2025-3-15 17:20:14 | 显示全部楼层 |阅读模式
本帖最后由 loveyolanda 于 2025-4-17 17:36 编辑

参考scry大佬的帖子中国移动x11脱离app配网方案
https://bbs.hassbian.com/thread-25208-1-1.html
(出处: 『瀚思彼岸』» 智能家居技术论坛)
配网后,配置好你的本地MQTT服务器后,接入ha配置yaml如下:但是目前存在一个问题,就是只能接入1个X11,同时接入多个X11的话,HA都不能控制插座,经请教scry大佬,是因为这个插座默认以username作为Clinetid,解决办法就是修改脚本  
data = {
            "code": 200,
            "msg": "OK",
            "result": {
                "username": USERNAME, #post_data['productId'][0] + '.' + post_data['deviceId'][0]
                "secret": SECRET,
                "sslEndpoint": f"ssl://{BROKER}:8883",
                "tcpEndpoint": f"tcp://{BROKER}:1883",
                "channel": ""
            },
            "ok": True

修改为
  data = {
            "code": 200,
            "msg": "OK",
            "result": {
                "username": post_data['productId'][0] + post_data['deviceId'][0],
                "secret": SECRET,
                "sslEndpoint": f"ssl://{BROKER}:8883",
                "tcpEndpoint": f"tcp://{BROKER}:1883",
                "channel": ""
            },
            "ok": True
配置多个mqtt账号和密码,账号为2dGkWmko1110052001256,其中的1110052001256修改为你自己插座的SN。能将所有插座接入mqtt,控制无问题。
yaml配置如下:

mqtt:
  - switch:
      name: 'X11'
      unique_id: X11
      state_topic: '/sys/2dGkWmko/sn/thing/service/property/set_reply'
      command_topic: '/sys/2dGkWmko/sn/thing/service/property/set'
      payload_on: '{"id":137555423,"method":"thing.service.property.set","params":{"switch":1},"timestamp":1681502670027,"version":"2.0.0"}'
      payload_off: '{"id":137555423,"method":"thing.service.property.set","params":{"switch":0},"timestamp":1681502670027,"version":"2.0.0"}'
      value_template: '{{ value_json.data.switch }}'
      state_on: '1'
      state_off: '0'


回复

使用道具 举报

2

主题

94

回帖

1172

积分

金牌会员

积分
1172
金钱
1076
HASS币
0
 楼主| 发表于 2025-3-28 20:39:40 | 显示全部楼层
有大佬帮忙看看吗?
回复

使用道具 举报

2

主题

94

回帖

1178

积分

金牌会员

积分
1178
金钱
1082
HASS币
0
发表于 2025-3-29 03:40:18 | 显示全部楼层
esphome是用add mac suffix来区分,供参考
回复

使用道具 举报

2

主题

94

回帖

1172

积分

金牌会员

积分
1172
金钱
1076
HASS币
0
 楼主| 发表于 2025-3-29 10:34:53 | 显示全部楼层
sauron 发表于 2025-3-29 03:40
esphome是用add mac suffix来区分,供参考

scry大佬是用python的脚本配网和配置mqtt服务器的,并不是esphome固件。脚本里面配置mqtt服务器的时候,没有对每个插座的Clinet ID做区分,直接用mqtt服务器的登录名,导致每个插座接入mqtt服务器都是同一个Clinet ID。
回复

使用道具 举报

scry 

5

主题

90

回帖

772

积分

高级会员

积分
772
金钱
677
HASS币
10
发表于 2025-4-9 20:04:17 | 显示全部楼层
topic指定不同的sn也不能分开控制嘛
回复

使用道具 举报

2

主题

94

回帖

1172

积分

金牌会员

积分
1172
金钱
1076
HASS币
0
 楼主| 发表于 2025-4-10 20:56:40 | 显示全部楼层
本帖最后由 loveyolanda 于 2025-4-10 20:58 编辑
scry 发表于 2025-4-9 20:04
topic指定不同的sn也不能分开控制嘛

是的,我查看了mqtt日志,所有接入的插座topic是用sn区分了的,但是接入的名称全部都是用mqtt服务器的username为设备名,导致接入多个插座会冲突,反而全部都不能控制。期待大佬能解决这个问题,脚本太好用了,不用拆机刷机。
回复

使用道具 举报

2

主题

94

回帖

1172

积分

金牌会员

积分
1172
金钱
1076
HASS币
0
 楼主| 发表于 2025-4-11 10:58:57 | 显示全部楼层
scry 发表于 2025-4-9 20:04
topic指定不同的sn也不能分开控制嘛

大佬,能留个QQ吗?请教下
回复

使用道具 举报

scry 

5

主题

90

回帖

772

积分

高级会员

积分
772
金钱
677
HASS币
10
发表于 2025-4-11 19:25:58 | 显示全部楼层
loveyolanda 发表于 2025-4-10 20:56
是的,我查看了mqtt日志,所有接入的插座topic是用sn区分了的,但是接入的名称全部都是用mqtt服务器的user ...

username是指server.py脚本里的那个嘛,第30行有一段注释那个是动态返回username的代码
回复

使用道具 举报

scry 

5

主题

90

回帖

772

积分

高级会员

积分
772
金钱
677
HASS币
10
发表于 2025-4-11 19:27:21 | 显示全部楼层
loveyolanda 发表于 2025-4-11 10:58
大佬,能留个QQ吗?请教下

私发给你了
回复

使用道具 举报

2

主题

94

回帖

1172

积分

金牌会员

积分
1172
金钱
1076
HASS币
0
 楼主| 发表于 2025-4-17 17:36:27 | 显示全部楼层
解决办法见帖子。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 09:12 , Processed in 0.126880 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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