Home Assistant не получает статус от термометра mqtt

Я создал датчик термометра, используя ESP8166 с MQTT, чтобы публиковать обновления температуры. Созданный 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 (состояние остается буквальным "Неизвестно").

Вот как выглядит визуализированная группа. Странно, что в заголовке группы есть переключатель.

Кто-нибудь может увидеть, что мне не хватает? Согласно документации, я сделал все, чтобы это работало.

2 ответа

Решение

После удаления / переустановки брокера Mosquitto я понял, что не проверял опцию обнаружения. С этим набором он работает, как ожидалось. Ооо!

Я думаю, ваше значение 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"
Другие вопросы по тегам