本帖最后由 nuknoop 于 2023-11-9 15:00 编辑
之前在闲鱼上采购了插线板zigbee,每次家装断电或者突然小区停电,而插线板没有断电记忆,很痛苦需要手按设备或网页端控制通电
又其次因为我的MQTT服务是安装Hass当中,hass设备是需要插线板供电,这样无法启动MQTT,但是Zigbee2MQTT是不受影响,虽然无法链接MQTT,但是网页端还是可以控制的
在测试中发现Zigbee2MQTT没有APi可以彻底调用可以控制,那么就需要其他方法调用,节省大家时间只需要修改部分内容,代码很简单,,利用py脚本,websocket库
import websocket
import json
# Zigbee2MQTT WebSocket URL
socket_url = 'ws://你的zigebee2mqtt设备:8080/zigbee2mqtt'
# 构建请求消息
message = {
'topic': '你的zigebe设备名称/set',
'payload': {'要控制什么按钮': 'ON或者OFF'}
}
# WebSocket 连接回调函数
def on_open(ws):
print('WebSocket 连接已建立')
ws.send(json.dumps(message))
ws.close() # 发送完消息后关闭连接
# 建立 WebSocket 连接
ws = websocket.WebSocketApp(socket_url,
on_open=on_open)
# 运行 WebSocket 连接
ws.run_forever()
|