我发现您的策略2非常有趣,因此根据您的工作,我创建了一个使用本地家庭助理的版本19463331伟德国际脚本
而不是python_script。
自动化部分几乎与您相同。您需要将此代码列入Automations.YAML或自动化部分:
- 别名:rfbridge_demultiplexer触发器: - 平台:MQTT主题:tele/sonoffrf/结果条件: - 条件:template value_template:“ {(trigger.payload_json已定义))和(trigger.payload_jjson.rfreceived,定义了)和(定义了)和(定义了).rfreceived.data已定义)}}}“操作: - 服务:script.rf_mqtt_publish data_template:code:” {{trigger.payload_json.rfreceived.data}}}}}}}}}}}}}}aaaaaa“:{” topor”:“ sensor1”,“有效载荷”:“ on”,“ on”,“ retain”:true},“ bbbbbbb”:{“ topic”:“ sensor1”,“有效载荷”,“ off”,“ off”,“保留”,“保留”,““:true},“ cccccc”:{“ topic”:“ sensor2”,“有效载荷”:“ on”,“ on”,“ retain”:false},“ dddddd”:{“ topic”:“ sensor3”:“ sensor3”,“有效载荷”:“ on”,“ retain”:false}}'}}}
它没有调用您的python脚本,而是调用本地家庭助手脚本名称rf_mqtt_publish并使用19463331伟德国际字段
通过配置。这是要放入脚本的脚本部分。YAML或您的脚本部分:
rf_mqtt_publish:别名:rf_mqtt_publish字段:{“代码”:{},“ topor_base”:{},“ list”:{}}}序列: - servicence: - service: - service:mqtt.publish data_templait|from_json-%} {{topor_base〜l [code] .topic if((l [code]定义)和(l [code] .topic是定义的))else topip_base〜'unknown'}}有效载荷:> - {%{%{%- 设置L =列表|from_json-%} {{l [code] .payload如果((定义了[code])和(l [code] .pay load定义))else code}}}}}}}}}} recodein:> - {% - set l = list |from_json-%} {{l [code] .retain if(((l [code]定义))和(l [code] .retain是定义的))else false}}}}} QOS:0
然后,您可以像您一样定义二进制传感器:
binary_sensor: - 平台:MQTT名称:'浴室门'state_topic:'home/sensor1'device_class:门 - 平台:MQTT名称:'Callway Motion'state_topic:'HOME/SENSSOR2'off_delay:5 device_class:5 device_class:Motion_class:Motion_class:Motion_class:Motion_class:Motion_class:Motion_class:Motion_Class:
当然,您需要使用自己的主题和配置来调整此代码。