|
|
(не показано 46 промежуточных версий 8 участников) |
Строка 1: |
Строка 1: |
| {{DISPLAYTITLE: Установка Home Assistant на контроллер Wiren Board }} | | {{Draft}} |
| [[Image: HA Devices.png |300px|thumb|right| Устройства в Home Assiatant ]]
| |
| == Описание == | | == Описание == |
| Home Assistant — это open-source платформа для автоматизации, которую разрабатывает и поддерживает сообщество [https://www.home-assistant.io/ home-assistant.io]. Существует одноимённый мобильный клиент, который может управлять контроллером по локальной сети или через облако производителя.
| |
|
| |
| Платформу можно установить на контроллер Wiren Board и использовать вместо [[Wiren_Board_Web_Interface | стандартного веб-интерфейса]] для управления подключёнными устройствами.
| |
|
| |
|
| == Установка == | | == Установка == |
| {{Wbincludes:Installing Software In Console Catalog And Update}}
| | Установите docker по [[docker | инструкции]] |
|
| |
|
| {{Wbincludes:Installing Software In Console}}
| | Создаём каталог под файлы конфигурации HA и создаём на него симлинк. |
| | <syntaxhighlight lang="bash"> |
| | mkdir /mnt/data/root/HA && ln -s /mnt/data/root/HA /HA |
| | </syntaxhighlight> |
|
| |
|
| Мы будем использовать рекомендуемый разработчиком платформы метод '''Home Assistant Container'''. В нём нет супервизора, поэтому установка аддонов (дополнений) из веб-интерфейса Home Assistant недоступна.
| | <syntaxhighlight lang="bash"> |
| | | docker run -d --name homeassistant --privileged --restart=unless-stopped -e TZ=Europe/Moscow -v /HA:/config --network=host ghcr.io/home-assistant/home-assistant:stable |
| В большинстве случаев в дополнение завёрнут сторонний софт: zigbee2mqtt, ESPHome, Node-RED и т.п., который вы можете поставить отдельно теми же контейнерами. Возможно, эта статья по переезду с супервизора в docker вам поможет: [https://ivan.bessarabov.ru/blog/docker-compose-instead-of-home-assistant-supervisor Использование docker-compose.yaml вместо супервизора Home Assistant].
| |
| | |
| Установка:
| |
| # Установите docker по [[docker | инструкции]].
| |
| # Создайте каталог под служебные файлы:
| |
| #:<syntaxhighlight lang="bash">
| |
| mkdir /mnt/data/.HA
| |
| </syntaxhighlight>
| |
| # Запустите образ homeassistant — docker автоматически загрузит его из интернет и запустит:
| |
| #:<syntaxhighlight lang="bash">
| |
| docker run -d --name homeassistant --privileged --restart=unless-stopped -e TZ=Europe/Moscow -v /run/dbus:/run/dbus:ro -v /mnt/data/.HA:/config --network=host ghcr.io/home-assistant/home-assistant:stable | |
| </syntaxhighlight> | | </syntaxhighlight> |
| | == Настройка устройств Wiren Board == |
|
| |
|
| После установки и запуска, откройте браузер и введите [[How_to_find_IP_address | адрес своего контроллера]] в сети и порт 8123. Например: http://192.168.42.1:8123 Консоль можно закрыть.
| |
|
| |
| <gallery mode="packed" heights="150px" caption="Ресурсы, потребляемые Home Assistant">
| |
| Image: HA Free Space.png | После установки Home Assistant для пользовательских данных остаётся ещё 60 % пространства в разделе <code>/mnt/data</code>
| |
| Image: HA top.png | Вывод утилиты <code>top</code> при запущенном Home Assistant
| |
| </gallery>
| |
|
| |
| == Работа с устройствами Wiren Board ==
| |
| === Установка MQTT-интеграции ===
| |
| Home Assistant может управлять Modbus-устройствами с помощью [[MQTT]], для этого нужно установить MQTT-интеграцию и настроить получение и отправку данных.
| |
|
| |
| Установите MQTT-интеграцию:
| |
| # Перейдите в веб-интерфейс Home Assistant.
| |
| # В панели слева кликните на пункт '''Configuration'''.
| |
| # На открывшейся странице найдите пункт '''Devices & Services''' и зайдите в него.
| |
| # Нажмите внизу на кнопку ''Add Integration'''.
| |
| # Введите в поле поиска '''MQTT''' и выберите найденную интеграцию.
| |
| # Через несколько секунд откроется окно настройки, в котором заполните поля '''Broker''' — localhost и '''Port''' — 1883. В стандартной конфигурации контроллера логин и пароль не используется, эти поля оставьте пустыми. Нажмите кнопку '''Submit'''.
| |
|
| |
| <gallery mode="packed" heights="150px" caption="Установка MQTT-интеграции">
| |
| Image: 1.HA MQTT Integration.png | Configuration
| |
| Image: 2.HA MQTT Integration.png | Devices & Services
| |
| Image: 3.HA MQTT Integration.png | Add Integration
| |
| Image: 4.HA MQTT Integration.png | Поиск интеграции
| |
| Image: 5.HA MQTT Integration.png | Настройка интеграции
| |
| Image: 6.HA MQTT Integration.png | Установленная интеграция
| |
| </gallery>
| |
|
| |
| === Настройка связи с устройствами ===
| |
| Настройка интеграции завершена, теперь надо для каждого устройства создать описание в файле '''configuration.yaml''', для этого откройте файл с помощью редактора:
| |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| nano /mnt/data/.HA/configuration.yaml
| | mcedit /mnt/data/root/HA/configuration.yaml |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| В процессе настройки вы будете добавлять в файл секции и описывать в них параметры, например, для описания реле нужно использовать секцию '''switch'''.
| | https://www.home-assistant.io/docs/mqtt/discovery/ |
|
| |
|
| После редактирования сохраните файл и перезапустите Home Assistant, для этого перейдите в его веб-интерфейсе '''Configuration''' → '''Settings''' и нажмите кнопку '''Restart'''. После нажатия на кнопку файл конфигурации будет проверен и, если он содержит ошибки, вы получите сообщение с подробностями. Чаще всего ошибки связаны с неверными отступами строк, которые имеют значение.
| |
|
| |
| Так как место на контроллере не очень много, то рекомендуем ограничить количество сохраняемых в архиве. Добавьте для этого в файл настроек строки, где 14 — глубина архива в днях:
| |
| <syntaxhighlight lang="yaml"> | | <syntaxhighlight lang="yaml"> |
| recorder: | | recorder: |
| purge_keep_days: 14 | | purge_keep_days: 14 |
| </syntaxhighlight>
| |
|
| |
|
| Несколько моментов:
| | sensor: |
| * Полный синтаксис и поддерживаемые типы устройств смотрите в описании [https://www.home-assistant.io/docs/mqtt/discovery/ MQTT Discovery].
| | - platform: mqtt |
| * Адреса MQTT-топиков смотрите в [[Wiren Board Web Interface | стандартном веб-интерфейсе контроллера]], раздел '''Settings''' → '''MQTT Channels'''.
| | name: "CPU Temperature" |
| * В ''state_topic'' пишете адрес MQTT-топика, а в ''command_topic'' — тот же адрес, только в конец добавляете <code>/on</code>.
| | unique_id: wb_cpu_temperature |
| | state_topic: "/devices/hwmon/controls/CPU Temperature" |
| | unit_of_measurement: "°C" |
|
| |
|
| Сенсоры создаются в группе <code>mqtt:</code>, объявленной в примере с датчиком температуры. Подробнее о формате читайте в [https://www.home-assistant.io/integrations/sensor.mqtt/#new_format документации Home Assistant].
| | switch: |
| | - platform: mqtt |
| | name: "WB A1" |
| | unique_id: wb_A1 |
| | command_topic: "/devices/wb-gpio/controls/A1_OUT/on" |
| | state_topic: "/devices/wb-gpio/controls/A1_OUT" |
| | payload_on: "1" |
| | payload_off: "0" |
| | retain: true |
| | - platform: mqtt |
| | name: "WB A2" |
| | unique_id: wb_A2 |
| | command_topic: "/devices/wb-gpio/controls/A2_OUT/on" |
| | state_topic: "/devices/wb-gpio/controls/A2_OUT" |
| | payload_on: "1" |
| | payload_off: "0" |
| | retain: true |
|
| |
|
| Выведем данные с датчика температуры процессора:
| | light: |
| <syntaxhighlight lang="yaml">
| | - platform: mqtt |
| mqtt: | | name: "Buzzer" |
| sensor:
| | unique_id: wb_buzzer |
| - unique_id: wb_cpu_temperature | | state_topic: "/devices/buzzer/controls/enabled" |
| name: "CPU Temperature"
| | command_topic: "/devices/buzzer/controls/enabled/on" |
| state_topic: "/devices/hwmon/controls/CPU Temperature"
| | brightness_state_topic: '/devices/buzzer/controls/volume' |
| unit_of_measurement: "°C"
| | brightness_command_topic: '/devices/buzzer/controls/volume/on' |
| | brightness_scale: 100 |
| | payload_on: "1" |
| | payload_off: "0" |
| | retain: true |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| |
| Настроим управление выходами '''A1''' и '''A2''', этот пример можно использовать для управления модулями реле:
| |
| <syntaxhighlight lang="yaml">
| |
| #mqtt:
| |
| switch:
| |
| - unique_id: wb_a1_switch
| |
| name: "WB A1 Switch"
| |
| state_topic: "/devices/wb-gpio/controls/A1_OUT"
| |
| command_topic: "/devices/wb-gpio/controls/A1_OUT/on"
| |
| payload_on: "1"
| |
| payload_off: "0"
| |
| retain: true
| |
| - unique_id: wb_a2_switch
| |
| name: "WB A2 Switch"
| |
| state_topic: "/devices/wb-gpio/controls/A2_OUT"
| |
| command_topic: "/devices/wb-gpio/controls/A2_OUT/on"
| |
| payload_on: "1"
| |
| payload_off: "0"
| |
| retain: true
| |
| </syntaxhighlight>
| |
|
| |
| Настроим управление зуммером контроллера, этот пример можно использовать при подключении диммера светодиодных ламп:
| |
| <syntaxhighlight lang="yaml">
| |
| #mqtt:
| |
| light:
| |
| - unique_id: wb_buzzer
| |
| name: "Buzzer"
| |
| state_topic: "/devices/buzzer/controls/enabled"
| |
| command_topic: "/devices/buzzer/controls/enabled/on"
| |
| brightness_state_topic: '/devices/buzzer/controls/volume'
| |
| brightness_command_topic: '/devices/buzzer/controls/volume/on'
| |
| brightness_scale: 100
| |
| payload_on: "1"
| |
| payload_off: "0"
| |
| retain: true
| |
| </syntaxhighlight>
| |
| <gallery mode="packed" heights="150px" caption="Настройка Modbus-устройства Wiren Board">
| |
| Image: 0.HA MQTT Channels.png | MQTT-топики в веб-интерфейсе контроллера
| |
| Image: 1.HA Config Editor.png | Редактирование файла конфигурации
| |
| Image: 2.HA Restart .png | Кнопка перезагрузки Home Assistant
| |
| Image: 3.HA Config Error.png | Пример сообщения об ошибке
| |
| Image: 4.HA Devices.png | Устройства в веб-интерфейсе Home Assistant
| |
| Image: 5.HA Devices Dimmer.png | Управление зуммером
| |
| </gallery>
| |
|
| |
| == Полезные ссылки ==
| |
| * [https://www.home-assistant.io/installation/linux#install-home-assistant-container Оригинальная инструкция по установке Home Assistant]
| |
| * [https://support.wirenboard.com/t/hass-configurator-file-editor-dlya-home-assistant-wb7 Установка HASS Configurator (File Editor) для Home Assistant на Wiren Board 7]
| |
| * [https://support.wirenboard.com/t/wb-engine/13251 Добавление устройств в Home Assistant мышкой из веб-интерфейса через WB-Engine]
| |
| * [https://github.com/4mr/wb-mqtt-homeassistant Автоматическое добавление serial-устройств в Home Assistant, решение от пользователя]
| |
| * [https://ivan.bessarabov.ru/blog/docker-compose-instead-of-home-assistant-supervisor Использование docker-compose.yaml вместо супервизора Home Assistant]
| |
| * [https://www.home-assistant.io/integrations/mqtt#mqtt-discovery Описание Home Assistant MQTT Discovery]
| |
| * [https://github.com/wirenboard/conventions/blob/main/README.md Wiren Board MQTT Conventions]
| |
| * [https://support.wirenboard.com/t/wb-mrgbw-d-i-homeassistant-cherez-mqtt/11566 Преобразование RGB формата для диммера WB-MRGBW-D или WB-LED]
| |
| * [https://support.wirenboard.com/t/dimmer-i-home-assistant/10475/18 Диммер WB-MDM3 и Home Assistant]
| |
| * [https://github.com/dext0r/yandex_smart_home Yandex Smart Home (Яндекс Алиса) для Home Assistant]
| |
| * [https://support.wirenboard.com/t/instrukcziya-po-ustanovke-home-assistant-stable-c-podderzhkoj-bluetooth-portainer-file-editor-na-kontroller-wirenboard-7-v-docker-compose/19166 Инструкция по установке пользователей портала]
| |