我试图在Homebridge Mqttthing插件和一些移动传感器中配置安全系统
传感器发布到两个主题zigbee2/hex1
,zigbee2/hex2
。
传感器信息包括:
{"battery":100,"linkquality":102,"occupancy":false,"update":{"state":"idle"},"update_available":false}
报警将状态发布到security/current
。报警值为:预警、夜间防护、家庭防护、解除防护、触发
传感器在其消息中向zigbee2/hex
发送以下信息:
我想编写一个python脚本,当zigbee2/hex
“占用率”中的值更改为true
时,将值“触发”发布到security/current
。。。然而,只有在警报第一时间启动的情况下才能这样做
#!/user/bin/env python3
import paho.mqtt.client as mqtt
MQTT_BROKER = "192.168.0.189"
MQTT_PORT = 1883
MQTT_TOPIC = [("security/current", 0), ("zigbee2mqtt/hex1",0), ("zigbee2mqtt/hex2", 0)]
def on_connect(client,userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe(MQTT_TOPIC)
print("Subscribed to topic.")
def on_message(client, userdata, message):
if str(message.payload) == "AwayArm":
if 'true,' in str(message.payload):
print("Occupancy true, triggering alarm...")
client.publish("security/current", "Triggered")
client = mqtt.Client()
client.connect(MQTT_BROKER, MQTT_PORT)
client.on_connect = on_connect
client.on_message = on_message
client.loop_forever()
目前没有回答
相关问题 更多 >
编程相关推荐