Home Assistant, публикация в MQTT.

Igor Mullin
4 min readAug 1, 2021

--

Впервые опубликовано на моем канале Дзен: https://zen.me/2hIC0R

Для одной из своих задач мне потребовалось передавать информацию из HA в MQTT. Конечно, “в интернете найдется все” подумал я, но задача оказалась сложнее, чем я думал. По достижению успешного результата и родилась данная статья.

Также не забывайте читать нас в других сервисах: Instagram канала и telegram канала (RU, EN, DE). Medium, LiveJournal, YouTube.

Первое, что пришло мне в голову — проверить возможные автоматизации в HA. Там нашлась служба #mqtt.publish , которая как бы намекала на нужную мне функцию. Создал тестовую автоматизацию и сохранил ее. Обратите внимание, триггером выступает шаблон времени. т.е. раз в минуту правило запускается автоматом.

Далее подправил параметры в ESP. Результатом наших манипуляций станет успешное считывание информации контроллером из топиков. На дисплее отобразится соответствующая информация. Если нам требуется отображать статусы, то этого уже достаточно.

Подправим еще немного. Добавим вывод на экран “время работы контроллера”, это поможет понять, насколько стабильно работает система и как давно отключали электричество. Изменим названия топиков на одноименное с названием контроллера. Просто для порядка, теперь все общение между контроллером и MQTT происходит в одном топике. И последним действием подправим правило. Смысл правила в том, чтобы напоминать о себе 1 раз в 30 секунд информацией о своем ip адресе.

Но что делать, если мы хотим отображать динамическую информацию? Понятно было что это возможно, но не очевидно. Поиск навел меня на следующий вид команды:

topic: home-assistant/light/1/state payload_template: “{{ states(‘device_tracker.paulus’) }}”

Но методом проб и ошибок стало ясно, что ее нужно немного модернизировать

service: mqtt.publish
data:
topic: ESP_D1–7/temperature
payload: ‘{{ states(‘’sensor.0x0000000000000000_sensor’’) }}’

Осталось узнать все ID. Заходим по очереди в нужные нам сенсоры и подставляем данные в правило. Не забываем менять публикуемые топики. В случае, если все сделано правильно, то в топике начнут появляться данные с сенсоров. Таким образом я вывел температуру и влажность с датчика на улице, а давление с датчика в комнате. Данная “метеостанция” удобно расположилась рядом с Алисой и помогает по утрам в выборе одежды.

Подобным образом в HA можно добавить любые умные устройства, сделанные на коленках, а также наладить с ними. Бюджет устройства, кстати составляет ~5$.

Подписываемся, ставим лайки, репостим… ну вы все и сами знаете…. Это и правда поможет статьям выходить чаще.

--

--

Igor Mullin
Igor Mullin

Written by Igor Mullin

I´m a Hardware and Software Engineer and a PhD. In my professional activity I focus on such things like smart home systems and electric development.

No responses yet