Home Assistant не получает статус от термометра mqtt - PullRequest
0 голосов
/ 05 мая 2020

Я создал датчик термометра, используя ESP8166 с MQTT, чтобы публиковать sh обновления температуры. Излучаемый JSON имеет формат:

{
    "temperature": "53.4"
}

В Home Assistant я создал датчик в конфигурации. 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 (состояние остается буквальным «Неизвестно»).

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

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

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

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

0 голосов
/ 05 мая 2020

Я думаю, ваше значение state_topi c должно быть в кавычках

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"
...