我已经创建了一个温度计传感器,使用带有MQTT的ESP8166来发布温度更新。发出的JSON的格式为:
{
"temperature": "53.4"
}在Home Assistant中,我在configuration.yaml中创建了一个传感器:
sensor:
- platform: mqtt
name: Backyard Temperature
unique_id: a1234
state_topic: home/temperature
value_template: '{{ value_json.temperature }}'
unit_of_measurement: F传感器正在正确发送JSON有效负载,在我的桌面上运行的MQTT订阅正在接收更新,但Home Assistant仪表板上的值永远不会更新(状态仍为文字"Unknown")。
下面是渲染组的外观。奇怪的是,组头上有个开关。

有人能看到我错过了什么吗?根据文档,我已经为此做了所有的工作。
发布于 2020-05-07 01:30:42
在卸载/重新安装Mosquitto代理之后,我意识到我没有选中discovery选项。有了这个设置,它就像预期的那样工作了。哦!
发布于 2020-05-06 01:20:03
我认为您的state_topic值需要用引号括起来
state_topic: "home/temperature"至少这是我在我的HA中做的,它有所有的读数。
下面是我的configuration.yaml拥有的功能:
- platform: mqtt
state_topic: "temp/read/Outside"
value_template: "{{ value_json.temp }}"
unit_of_measurement: '°F'
device_class: "temperature"
name: "Outside Temp"https://stackoverflow.com/questions/61618585
复制相似问题