尝试创建来自JSON MQTT的二进制传感器,但无法将其工作。我想使用“活动”并通过“0”和“1”打开/关闭开关。
JSON看起来像这样:

{“时间戳”:1588945675722,“主题”:“测试:某事/到/测量”,“消息”:{“源”:{},“键”:{},“数据”:{“活动”:“0“}}}

我的传感器:

- 平台:MQTT名称:TEST状态_TOPIC:“测试:某事/到/测量”value_template:“{{value_json [message] [活动]}}”payload_on:“1”payload_off:“0”device_class:motion

我不明白如何从嵌套的JSON文件到“活动”。

请阅读主题并正确格式化代码。

首先要创建一个二进制传感器,而不是交换机,所以你需要使用一个MQTT二进制传感器

值模板应如下所示:

value_template:“{{value_json.message.data.active}}”

谢谢。我试图用正确的格式更新我的帖子并更改为二进制传感器。我也根据您的提案更新,但仍然没有运气。

传感器: - 平台:MQTT名称:TEST状态_TOPIC:“测试:某事/到/测量”value_template:“{{value_json.message.data.active}}”payload_on:“1”payload_off:“0”device_class:motion

这是我的json:

{“时间戳”:1588945675722,“主题”:“测试:某事/到/测量”,“消息”:{“源”:{},“键”:{},“数据”:{“活动”:“0“}}}

转到开发人员工具,在主题下输入#订阅,然后单击“开始侦听”

图片

它不是因为你的JSON包含

“主题”:“测试:某事/到/测量”

这是听的实际话题。

好的。这是我得到的。我想在消息/数据/活动从“0”到“1”时创建一个传感器。

{“时间戳”:1589011166387,“主题”:“测试:某事/到/测量”,“消息”:{“源”:{},“键”:{},“数据”:{“活动”:“1“}}}

这不是我问的。我想看看你在HA中收到了什么。就像是 :

消息118在家用/传感器/ XIRON_3201 /湿度/配置上10:08 AM:{“Unit_of_measurement”:“%”,“device_class”:“湿度”,“value_template”:“{{value_json.hum}}”,“endate_topic”:“rflink / xiron-3201”,“名称”:“eetkamer_humity”,“unity_id”:“humity_huiskamer”,“设备”:{“标识符”:[XIRON_3201“,”名称“:”XIRON_3201“,“型号”:“Digoo Temp&Hymity Sensor”,“制造商”:“Digoo”}} QoS:0  - 保留:True

排除故障排除的重要行为:

消息654收到电力2 /远程/结果10:11 AM:

好的,我想我明白了。这是HA的完整日志:

在Device1 / Event / ABC上收到的消息895:测试/以10:27:{“时间戳”:{“时间戳”:1589012870339,“主题”:“测试:某种东西/到/测量”,“消息”:{“源“:{},”键“:{},”数据“:{”活动“:”1“}}} QoS:0  - 保留:FALSE

然后您的传感器需要:

传感器: - 平台:MQTT名称:TEST endicate_topic:“device1 / event / abc:test / something / to / mestem”value_template:“{{value_json.message.data.active}}”payload_on:“1”payload_off:“0“device_class:motion
2喜欢

绝对辉煌​​!!效果完美。因此,MQTT主题是从DEV面板中标题中的显示。在JSON代码中,我对“主题”感到困惑。非常感谢!

你好!我是新助理的新手,正在寻19463331伟德国际找这个例子来练习。我想知道我必须在哪里发布这个JSON来改变传感器的状态。