Подключение брокера

В ELX-MQTT создайте отдельную учётную запись для Home Assistant. В Home Assistant откройте «Настройки → Устройства и службы → Добавить интеграцию → MQTT» и укажите адрес и порт внешнего брокера, логин и пароль. Если интеграция уже настроена, измените параметры её подключения. Используйте адрес, доступный с машины Home Assistant: localhost работает только когда брокер на той же машине и доступен в той же сетевой среде.

Интерфейс и варианты настройки см. в документации Home Assistant.

MQTT Discovery на одном датчике

По умолчанию Discovery использует префикс homeassistant. Для примера опубликуйте конфигурацию тестового датчика в homeassistant/sensor/lab_temperature/config с RETAIN. Состояние отправляйте в тему, указанную в state_topic.

{"name":"Lab temperature","unique_id":"elx_lab_temp_01","state_topic":"lab/temperature/state","device_class":"temperature","unit_of_measurement":"°C"}

Публикация 23.5 в lab/temperature/state должна обновить значение. Сначала проверьте его обычной подпиской. Если значение приходит, а сущность не появляется, проверьте префикс, JSON и права на ветку Discovery. Удаляйте retained-конфигурацию пустой retained-публикацией только в тестовой теме.

TLS и минимальные права

  • Датчик пишет в свои темы состояния и конфигурации, но не в соседние ветки.
  • Home Assistant читает нужные состояния и Discovery; право записи выдавайте только на темы команд и служебные темы, которые реально используются.
  • Для соединения по TLS укажите порт брокера и DNS-имя из сертификата. При собственном CA добавьте доверенный сертификат вместо отключения проверки.

Проверка после перезапуска

Переподключите Home Assistant и проверьте появление датчика и обновление состояния. Для реле держите команды отдельно от состояния и не сохраняйте команды с RETAIN без осознанной необходимости.