Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023)

Материал из 0x1.tv

Докладчик

В докладе разбираются варианты использования СПО Home Assistant в различных конфигурациях установки для решения задач автоматизации учёта и мониторинга коммунальных услуг промышленных предприятий, научных организаций и частных домов.

Home Assistant (HA) — это одна из самых популярных систем организации, автоматизации и управления устройствами умного дома и интернета вещей, объединяющая в себе автоматический сбор данных от устройств большого количества различных брендов.

Система написана на Python и имеет открытый исходный код.

Видео

Презентация

Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023).pdf

Thesis

Home Assistant (HA) — это одна из самых популярных систем организации, автоматизации и управления устройствами умного дома и интернета вещей, объединяющая в себе автоматический сбор данных от устройств большого количества различных брендов. Система написана на Python и имеет открытый исходный код.

Возможности HA

Отличительными особенностями НА являются:

  • наличие большого набора готовых вариантов визуализации данных;
  • удобный конструктор карточек для визуализации;
  • возможность интеграции большого количества датчиков и устройств, реализованная через дополнения, устанавливаемые как из официального магазина дополнений, так и созданных сообществом;
  • возможность и удобство интеграции в НА датчиков собственной разработки и устройств посредством использования протокола MQTT;
  • наличие постоянно обновляемой официальной документации;
  • активное сообщество в Телеграм-каналах и форумах, помогающее решить возникающие вопросы;
  • возможность работы на разнообразных аппаратных платформах;
  • свободная лицензия и отсутствие затрат на закупку ПО.


Указанные особенности позволяют адаптировать и использовать НА не только для систем автоматизации умного дома, но и для автоматизации хозяйственной деятельности организаций.

Установка HA

Возможны различные варианты установки НА.

  • Core — самый минимальный функционал, все приложения, дополнения и интеграции нужно устанавливать отдельно, вручную.
  • Supervised — в этом варианте установки из WEB-интерфейса приложения возможно установить максимальный набор приложений.
  • HAOS — система устанавливается на чистое железо, как ОС, включая и загрузчик.
  • Возможна установка в окружении Python — vnev.
  • Возможна установка в контейнере Docker или Docker-composer.
  • Установка HAOS в виртуальной машине VirtualBox.

Как выглядит реально работающая система в режиме CORE, можно посмотреть по ссылке логин/пароль для входа гостем: guest/guest.

Кроме процессора AMD/INTEL HA можно устанавливать также и на одноплатный компьютер с процессором архитектуры ARM, разбор нюансов установки произведён в статье WIKI.

Особенности установки HA в VirtualBox

Установка в VirtualBox на AltLinux имеет некоторые особенности. На странице загрузки НAOS предлагается для скачивания образ диска в формате VirtualBox (.vdi). Однако версия VirtualBox из репозитория AltLinux немного отстаёт от актуальной версии от Oracle, что выражается в том, что образ диска .vdi не воспринимается данной версией VirtualBox. Однако, если использовать инструменты VirtualBox на компьютере с установленной актуальной версией (например, под Windows или Ubuntu), то можно сконвертировать виртуальный носитель из формата .vdi в формат .vdd (Файл — Инструменты — менеджер виртуальных носителей), перенести .vdd файл на AltLinux и далее из альтлинуксового VirtualBox’а с помощью такого же инструмента сконвертировать .vdd в .vdi.

Пример использования HA для автоматизации хозяйственной деятельности организации

В хозяйственной деятельности организации требуется контролировать и вести учёт ряда коммунальных ресурсов. Обычно это электроэнергия, тепло и водоснабжение. Датчики, которые учитывают эти ресурсы, могут иметь подключение к локальной сети передачи данных, однако значительное число таких датчиков имеют простой выход на последовательный порт, и в этом случае для передачи данных необходимо подключение отдельного контроллера, который может служить шлюзом для передачи данных от устройства до сервера сбора данных.

Счетчик насоса подъёма воды

В качестве примера автоматизации рассмотрим подключение счётчиков воды от артезианской скважины, имеющейся на территории организации. Счётчики используются как для учёта расхода воды внутри организации, в том числе для своевременного обнаружения возможных протечек, так и для организации расчётов с внешними потребителями и для отчётов в контролирующие органы.

Посуточный расход воды за 10 дней августа

В данном случае сбор данных организован по локальной сети, путём отправки периодических запросов от сервера с ОС Альт на контроллеры счётчиков с WEB интерфейсом. Данные собираются запросом CURL c заданной периодичностью и отправляются с использованием mosquitto клиентом в заданные топики НА. Пример использованных команд приведён ниже:

Контроллер счётчиков находится по адресу: [1], хост с HA: [2]

По запросу [3] контроллер отдаёт страницу такого содержания:

info...
UART0 Ok
47341.130 46683.580 36868.720 1.800 

На этой странице ответа в третьей строке указаны значения 4-х счётчиков.

Забираем показания счётчиков командой:

$ curl -s -m 15 --connect-timeout 12 http://192.168.1.120/inf.cgi>/tmp/120.txt

Далее скриптом bash с использованием команды awk из файла /tmp/120.txt парсим значение прокачанной воды для двух счётчиков, это 47341.130 и 46683.580.

Передаём эти значения в топики mosquitto НА:

$ mosquitto_pub -h 192.168.1.2  -u user -P pwd -t water/s0  -m 47341.130
$ mosquitto_pub -h 192.168.1.2  -u user -P pwd -t water/s1  -m 46683.580 

Для приёма данных на стороне НА необходимо выполнить интеграцию с mosquitto, а в конфигурационном файле НА достаточно указать раздел сенсора mqtt:

  - sensor:
      name: "Счетчик артскважины 1"
      unique_id: water0s
      device_class: water
      state_topic: "water/s0"
      unit_of_measurement: "m³"

Аналогично можно организовать сбор и отображение данных с датчиков температуры, влажности, теплосчетчиков, счётчиков электроэнергии, управление освещением, что может быть полезным и актуальным, например, для агротепличного хозяйства.

Если жилой дом снабжён котлом газового отопление с протоколом OpenTherm, то установка контроллера с Home Assistant позволит мониторить затраты на отопление в реальном времени и получать мгновенные сообщения о возникновении нештатных ситуаций.



Использование СПО Home Assistant в среде Alt Linux для автоматизации хозяйственной деятельности организации (OSSDEVCONF-2023)!.jpg

Примечания и ссылки