Статья

HomeAssistant + Node-RED = Простая автоматизация

Перeчень разделов

  1. Введение
  2. Инсталляция HomeAssistant (сборка Hass.io) в Docker
  3. Инсталляция Node-RED, начальная конфигурация и запуск
  4. Прямая интеграция Node-RED в интерфейс HomeAssistant
  5. Заключение
  6. Полезные ссылки

1 Введение

Давно прорабатывал вопрос по самому гибкому и простому решению в плане автоматизации различных устройств на разной частоте и протоколах. 

Казалось бы есть решение «из коробки» - это Athom Homey (он же «Колобок») с отличным вариантом автоматизации через Workflow, что больше всего меня и привлекает в нем. Но, к сожалению, в моем случае, есть существенное ограничение, которое останавливает использование этого хаба - исторически сложилось, что 90% девайсом в доме на Z-Wave и на RU частоте (869 МГц).

Изначально, простейшую кросплатформенную автоматизацию легко получилось осуществить через HomeKit с использованием Homebridge. Например, подружить Bluthooth датчик температуры и влажности от Xiaomi c Fibaro Relay Switch на Z-wave, который в свою очередь управляет вытяжным вентилятором в ванне, т.е. при определенном уровне влажности вентилятор включается или выключается.  Но на более сложных вариантах автоматизации гибкость и возможности такого решения кончаются…

После, решил для себя в плотную познакомится с решением HomeAssistant (HA).

Вроде бы все ОК, возможностей и гибкости предостаточно, но что называется не User-friendly в плане подхода конфигурации и автоматизации.

Так вот, чтобы удовлетворить изначальные два требования - гибкость и простота - пришел на данном этапе к решению, подразумевающее использование HomeAssistant (hass.io сборка) в связке с модулем Node-RED, который обеспечивает интуитивную понятную настройку автоматизации всех устройств в HA и за его переделами через графический интерфейс написания Workflow схожий c Athom Homey. 

В данной статье рассматривается определенный подход инсталляции и конфигурации базовой среды, для последующей возможности простой, в плане настройки, автоматизации УД с помощью симбиоза HomeAssistant и Node-RED.

2 Инсталляция HomeAssistant (сборка Hass.io) в Docker

Если у вас уже стоит сборка hass.io, то можно переходит к 3-ему разделу.

ВАЖНО, обычная инсталляция HomeAssistant не поддерживает установку необходимого Add-on’а. То есть, например, описанный способ инсталляции в статье «Home Assistant, статья 1 (установка)» на этом портале работать не будет. 

Нужна именно сборка hass.io, подразумевающая возможность инсталляции hass add-on’ов. 

Стандартный и простой способ инсталляции, подразумевающий подготовку загрузочной флэшки и описанный на официальной странице, я не рассматривал, так как хотелось поставить на имеющийся Raspberry Pi 3 c развернутой ОС (Raspbian Stretch), на которой уже крутятся различные сервисы для УД.

Поэтому пришлось прибегнуть к альтернативному, немного как оказалось, нетривиальному способу инсталляция через Docker. 

Далее привожу выверенные в моем случае шаги инсталляции

Инсталлируем пакеты пререквизиты

$ sudo apt-get install bash jq curl avahi-daemon apparmor-utils

undefined

$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh $ sudo usermod -aG docker pi

undefined

$ sudo curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | sudo bash -s -- -m raspberrypi3

После выполнения команды выше в systemctl формируются два новых сервиса, которые обеспечивают работу HA:

hassio-apparmor.service
hassio-supervisor.service

Проверяем их статус:

$ sudo systemctl status hassio-supervisor.service $ sudo systemctl status hassio-apparmor.service


undefined

$ sudo docker logs --follow hassio_supervisor

undefined

$ sudo docker pull homeassistant/raspberrypi3-homeassistant

undefined

$ sudo systemctl restart hassio-supervisor.service

undefined

$ sudo docker ps

undefined

3 Инсталляция Node-RED, начальная конфигурация и запуск

Прежде всего необходимо проверить есть ли необходимый репозиторий и при необходимости добавить его в HA для возможности скачивания Node-RED Add-on’а

Необходимый адрес репозитория: https://github.com/hassio-addons/repository

Делается это через меню Hass.io

undefined
undefined
undefined
undefined

{ "log_level": "info", "credential_secret": "<секретное_слово_для_административных_задач>", "http_node": { "username»: "<использовал_такой_как_для_HA>", "password": "<использовал_такой_как_для_HA>" }, "http_static": { "username": "<использовал_такой_как_для_HA>", "password": "<использовал_такой_как_для_HA>" }, "port": 1880, "ssl": false, "certfile": "fullchain.pem", "keyfile": "privkey.pem", "require_ssl": true, "system_packages": [], "npm_packages": [], "init_commands": [] }

undefined
undefined
undefined
undefined
undefined

4 Прямая интеграция Node-RED в интерфейс HomeAssistant

Для этого всего лишь нужно в конфигурационном файле HA прописать необходимые параметры.

Открываем на редактирование файл configuration.yaml

cd /usr/share/hassio/homeassistant sudo nano configuration.yaml

undefined

panel_iframe: nodered: title: Node-RED icon: mdi:sitemap url: http://<addres.to.your.hass.io>:1880

undefined
undefined
undefined

5 Заключение

В итоге, мы получили в тесной связке HA, обеспечивающий гибкую интеграцию устройств и управление их состоянием, и Node-Red, использующий всю информационную среду HA и за ее пределами для написания правил автоматизации УД простым и интуитивно понятным способом - через flows, который заменяет написание скриптов автоматизации на YAML.

Плюс к этому, данный способ инсталляции позволяет использовать уже имеющийся Raspberry Pi 3 c развернутой ОС (Raspbian Stretch), на которой уже крутятся различные сервисы для УД, с еще большей отдачей.

6 Полезные ссылки

https://smarthome.university/using-node-red-with-home-assistant/ - взял отсюда картинку для обложки статьи. Приведенный здесь способ инсталляции hass.io мне не подошел, так как подразумевает использование образа hass.io c флешки, а также способ инсталляции Node-red уже не актуален, так как используемый репозиторий и сам Add-on уже сняты с поддержки и не возможны к скачиванию.

https://docs.docker.com/install/linux/docker-ce/debian/#install-using-the-convenience-script - официальная страница Docker по различным способом инсталляции. Ссылка ведет на вариант инсталляции для Raspberry Pi 

https://medium.com/the-code-review/top-10-docker-commands-you-cant-live-without-54fb6377f481 - полезная статья по основным командам Docker

https://medium.com/the-code-review/clean-out-your-docker-images-containers-and-volumes-with-single-commands-b8e38253c271 - статья, описывающая полную очистку Docker

https://www.home-assistant.io/hassio/installation/ - официальная страница hass.io по различным способам инсталляции

https://hub.docker.com/u/homeassistant/ - страница Docker со всеми имеющимися image файлами для homeassistant

https://github.com/hassio-addons/addon-node-red/blob/v1.1.0/README.md - официальная страница Add-on'а Node-Red на Github'е


Вернуться назад
Вернуться назад