Подключаем arduino к Home Assistant

Итак, Home Assistant на raspberry pi мы уже установили, скетч в arduino тоже загрузили, настало время добавить управление нашей платой arduino в Home Assistant, об этом короткая заметка.
Если ставили Home Assistant по статье этого сайта, то конфигурационный файл лежит в /home/hmeassist/.homeassistant/configuration.yaml, если нет, то узнать, где он лежит, можно зайдя на веб-интерфейс Home Assistant в раздел «Панель разработчика» — «О системе».
Перед его редактированием, конечно же делаем резервную копию:
sudo cp -R /home/hmeassist/.homeassistant/ /home/hmeassist/.homeassistant-2020.06.28/

И теперь можно конфигурационный файл немного подредактировать:
sudo nano /home/hmeassist/.homeassistant/configuration.yaml
Будьте очень внимательны с пробелами, так как это yaml файлы (configuration.yaml из этого примера вы сможете скачать в конце статьи).
добавляем туда строки(исправьте на свои данные для авторизации в mosquitto):

mqtt:
broker: IP-АДРЕС-БРОКЕРА-mosquitto
port: ПОРТ-mosquitto
username: ПОЛЬЗОВАТЕЛЬ-В-mosquitto
password: ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ-В-mosquitto

switch:
- platform: mqtt
unique_id: ArdClient
name: "ArdClient_LED"
icon: mdi:lightbulb-outline
state_topic: "/r1"
command_topic: "/r1"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
qos: 0
retain: true

здесь:
unique_id — уникальный id для переключателя
name — имя переключателя
icon — картинка слева от name на веб-интерфейсе
state_topic — на какой топик подписаться для получения сведений о состоянии (у меня это /r1)
command_topic — топик для переключения состояния (у меня это /r1)
payload_on — значение переключателя при включенном состоянии
payload_off — значение переключателя при выключенном состоянии
state_on — значение включенного состояния (1 включено)
state_off — значение выключенного состояния (0 выключено)
qos — значение qos в состоянии топика. По умолчанию 0
retain — должно ли опубликованное сообщение содержать флаг о значении включения или выключения (по умолчанию false).

сохраняем, перезапускаем Home Assistant:
sudo service home-assistant@hmeassist stop
sudo service home-assistant@hmeassist start

После этого заходим на веб интерфейс в раздел Обзор и увидим наш переключатель, которым можно включать или выключать светодиод на Arduino, которую мы прошили в предыдущей статье.

arduino,mqtt,homeassistant,mosquitto,умный дом,raspberry

А чтобы поменять иконку, которая у меня в виде лампочки слева от надписи «ArdClient_LED», надо в configuration.yaml поменять название иконки lightbulb-outline на своё. А посмотреть возможные варианты иконок можно на сайте https://cdn.materialdesignicons.com/4.5.95/ , только при копировании названия иконки на сайте, копируется вместе с «mdi-«, например «mdi-lamp», а в конфиг configuration.yaml надо вставлять названия без «mdi-«. То есть скопировали вы на сайте название допустим «mdi-light-switch», а в конфиг в строку с icon надо вставлять как light-switch и строка в configuration.yaml будет выглядеть как
icon: mdi:light-switch
После изменений configuration.yaml надо перезапускать Home Assistant:
sudo service home-assistant@hmeassist stop
sudo service home-assistant@hmeassist start

и иконка станет такой:

arduino,mqtt,homeassistant,mosquitto,умный дом,raspberry

Можете пробовать включать и выключать светодиод, кнопкой в веб-интерфейсе Home Assistant, но вы ведь прекрасно знаем, что вместо светодиода может быть, к примеру, реле, включающее/выключающее свет, нагревательный элемент, вентилятор и всё, что угодно. И в завершение обещанный configuration.yaml можно скачать здесь или посмотреть здесь.

Добавить комментарий