Home Assistant: различия между версиями

Материал из Wiren Board
Строка 24: Строка 24:


== Настройка устройств Wiren Board ==
== Настройка устройств Wiren Board ==
Home Assistant может управлять Modbus-устройствами с помощью [[MQTT]], для этого нужно установить MQTT-интеграцию и настроить получение и отправку данных.


Установите MQTT-интеграцию:
# Перейдите в веб-интерфейс Home Assistant.
# В панели слева кликните на пункт '''Configuration'''.
# На открывшейся странице найдите пункт '''Devices & Services''' и зайдите в него.
# Нажмите внизу на кнопку ''Add Integration'''.
# Введите в поле поиска '''MQTT''' и выберите найденную интеграцию.
# Через несколько секунд откроется окно настройки, в котором заполните поля '''Brocker''' — localhost и '''Port''' — 1883. В стандартной конфигурации контроллера логин и пароль не используется, эти поля оставьте пустыми. Нажмите кнопку '''Submit'''.
Настройка интеграции завершена, теперь надо для каждого устройства создать описание в файле '''configuration.yaml''', для этого откройте файл с помощью редактора:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mcedit /mnt/data/root/HA/configuration.yaml
mcedit /mnt/data/root/HA/configuration.yaml
</syntaxhighlight>
</syntaxhighlight>


https://www.home-assistant.io/docs/mqtt/discovery/
В процессе настройки вы будете добавлять в файл секции и описывать в них параметры, например, для описания реле нужно использовать секцию '''switch'''.  


После редактирования сохраните файл и перезапустите Home Assistant, для этого перейдите в его веб-интерфейсе '''Configuration''' → '''Settings''' и нажмите кнопку '''Restart'''. После нажатия на кнопку файл конфигурации будет проверен и, если он содержит ошибки, вы получите сообщение с подробностями. Чаще всего ошибки связаны с неверными отступами строк, которые имеют значение.
Так как место на контроллере ограничено, то рекомендуем ограничить количество сохраняемых в архиве. Добавьте для этого в файл настроек строки, где 14 — глубина архива в днях:
<syntaxhighlight lang="yaml">
<syntaxhighlight lang="yaml">
recorder:
recorder:
   purge_keep_days: 14
   purge_keep_days: 14
</syntaxhighlight>


Ниже мы покажем примеры настройки некоторых устройств, полный синтаксис и все поддерживаемые типы устройств вы найдёте в описании [https://www.home-assistant.io/docs/mqtt/discovery/ MQTT Doscovery]. Адреса MQTT-топиков, которые будут нужны для настройки вы сможете найти в [[Wiren Board Web Interface | стандартном веб-интерфейсе контроллера]] в разделе '''Settings''' → '''MQTT Channels'''.
Выведем данные с датчика температуры процессора:
<syntaxhighlight lang="yaml">
sensor:
sensor:
   - platform: mqtt
   - platform: mqtt
Строка 41: Строка 59:
     state_topic: "/devices/hwmon/controls/CPU Temperature"
     state_topic: "/devices/hwmon/controls/CPU Temperature"
     unit_of_measurement: "°C"
     unit_of_measurement: "°C"
</syntaxhighlight>


Настроим управление выходами '''A1''' и '''A2''', этот пример можно использовать для управления модулями реле:
<syntaxhighlight lang="yaml">
switch:
switch:
   - platform: mqtt
   - platform: mqtt
Строка 59: Строка 80:
     payload_off: "0"
     payload_off: "0"
     retain: true
     retain: true
</syntaxhighlight>


Настроим управление зуммером контроллера, этот пример можно использовать при подключении диммера светодиодных ламп:
<syntaxhighlight lang="yaml">
light:
light:
   - platform: mqtt
   - platform: mqtt

Версия 13:52, 15 апреля 2022

Это черновик страницы. Последняя правка сделана 15.04.2022 пользователем A.Degtyarev.

Описание

Home Assistant — это open-source платформа для автоматизации, которую разрабатывает и поддерживает сообщество home-assistant.io. Существует одноимённый мобильный клиент, который может управлять контроллером по локальной сети или через облако производителя.

Платформу можно установить на контроллер Wiren Board и использовать вместо стандартного веб-интерфейса для управления подключёнными устройствами.

Установка

Чтобы не потерять установленный софт и его данные, обновляйте ПО контроллера только через менеджер пакетов apt. Подробнее читайте в статье Программное обеспечение Wiren Board.

Встроенный флеш-накопитель контроллера разбит на разделы и для пользователя отведён самый большой из них, который монтируется в папку /mnt/data. Нужно учесть эту особенность при установке программ, а также при обновлении прошивки контроллера.

Копируйте команды из инструкции, вставляйте их в консоль контроллера с помощью клавиш Shift+Insert и запускайте клавишей Enter. В случае ошибок, внимательно читайте вывод, там будут инструкции и подсказки.

Мы будем использовать рекомендуемый разработчиком платформы метод Home Assistant Container:

  1. Установите docker по инструкции.
  2. Создайте каталог под служебные файлы и сделайте на него симлинк:
    mkdir /mnt/data/root/HA && ln -s /mnt/data/root/HA /HA
    
  3. Запустите образ homeassistant — docker автоматически загрузит его из интернет и запустит:
    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
    

После установки и запуска, откройте браузер и введите адрес своего контроллера в сети и порт 8123. Например: http://192.168.42.1:8123 Консоль можно закрыть.

Настройка устройств Wiren Board

Home Assistant может управлять Modbus-устройствами с помощью MQTT, для этого нужно установить MQTT-интеграцию и настроить получение и отправку данных.

Установите MQTT-интеграцию:

  1. Перейдите в веб-интерфейс Home Assistant.
  2. В панели слева кликните на пункт Configuration.
  3. На открывшейся странице найдите пункт Devices & Services и зайдите в него.
  4. Нажмите внизу на кнопку Add Integration'.
  5. Введите в поле поиска MQTT и выберите найденную интеграцию.
  6. Через несколько секунд откроется окно настройки, в котором заполните поля Brocker — localhost и Port — 1883. В стандартной конфигурации контроллера логин и пароль не используется, эти поля оставьте пустыми. Нажмите кнопку Submit.

Настройка интеграции завершена, теперь надо для каждого устройства создать описание в файле configuration.yaml, для этого откройте файл с помощью редактора:

mcedit /mnt/data/root/HA/configuration.yaml

В процессе настройки вы будете добавлять в файл секции и описывать в них параметры, например, для описания реле нужно использовать секцию switch.

После редактирования сохраните файл и перезапустите Home Assistant, для этого перейдите в его веб-интерфейсе ConfigurationSettings и нажмите кнопку Restart. После нажатия на кнопку файл конфигурации будет проверен и, если он содержит ошибки, вы получите сообщение с подробностями. Чаще всего ошибки связаны с неверными отступами строк, которые имеют значение.

Так как место на контроллере ограничено, то рекомендуем ограничить количество сохраняемых в архиве. Добавьте для этого в файл настроек строки, где 14 — глубина архива в днях:

recorder:
  purge_keep_days: 14

Ниже мы покажем примеры настройки некоторых устройств, полный синтаксис и все поддерживаемые типы устройств вы найдёте в описании MQTT Doscovery. Адреса MQTT-топиков, которые будут нужны для настройки вы сможете найти в стандартном веб-интерфейсе контроллера в разделе SettingsMQTT Channels.

Выведем данные с датчика температуры процессора:

sensor:
  - platform: mqtt
    name: "CPU Temperature"
    unique_id: wb_cpu_temperature
    state_topic: "/devices/hwmon/controls/CPU Temperature"
    unit_of_measurement: "°C"

Настроим управление выходами A1 и A2, этот пример можно использовать для управления модулями реле:

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:
  - platform: mqtt
    name: "Buzzer"
    unique_id: wb_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

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