Обзор открытой платформы Home Assistant

Оглавление статьи: Обзор открытой платформы Home Assistant
Содержание

Во время создания своего варианта системы «Умный дом» (УД) самое главное — правильно подобрать платформу.

В настоящее время разрабатывают такие платформы более ста компаний, а такие именитые гиганты, как «Apple», «Samsung», «Ikea», «Xiaomi» создали свои собственные варианты систем смарт-домов. Среди них имеется несколько довольно хороших и интересных разработок, как с открытым, так и закрытым исходным кодами.

Home assistant

Наилучший вариант решения для открытого исходного кода — смарт-дом на платформе «Home Assistant» (HA). HA приобрела большую популярность, как у спецов, так и у мастеров-самоучек. Она стремительно развивается и может удовлетворить все потребности автоматизации бытовых повседневных вопросов.

Home Assistant — что это такое

HA – платформа для домашней автоматизации, которая обеспечивает решение всех попутных вопросов: добавление гаджетов; создание сценариев различного уровня сложности; использования виртуальных ассистентов; и так далее.

Платформу отличают:

  • Наличие открытого исходного кода;
  • Возможность поддержки практически всех стандартов (Вай-фай, Bluetooth, Z-Wave, ZigBee и другие);
  • Наличие решений для большинства элементов всех компонентов «Home Automation» от различных компаний-производителей;
  • Простое освоение и использование;
  • Большое сообщество, которое всегда готово оказать помощь и поделиться рекомендациями, а если потребуется, то и предоставить готовый программный код.

Панель home assstant

Основной язык программирования платформы — «Пайтон». Но можно сильно не переживать, если вы его не знаете. Ведь для большого количества задач пользователям не надо будет писать собственноручный код, он уже давно написан другими, и есть в открытом доступе.

Phyton основной язык программирования для home assistant

Разработка смарт-дома на данной платформе включает в себя несколько шагов. Каждый из этих шагов подчеркивает ее основные возможности и преимущества.

Инсталляция системы

HA поддерживает несколько вариантов установки, они представлены в таблице ниже.
Инсталляцию системы можно выполнить на такие гаджеты, как:

  • «Odroid»;
  • «Raspberry Pi»;
  • «Asus Tinkerboard»;
  • «Intel NUC»;
  • другие.
№№ Вариант установки
1 «Home Assistant Operating System». Инсталлирует HA как операционную систему для применения в вопросах домашней автоматизации. Состоит из: ядра; функционала «Supervisor», который управляет именно ядром; набора плагинов для интеграции гаджетов и обращения к сервисам. Такой вариант на официальном ресурсе прописан, как рекомендованный вариант, который подойдет, как для начала работы, так и для решения задач домашней автоматизации. Главный плюс –  простое развертывание системы.
2 «Home Assistant Core». Подразумевает ручную установку ядра с помощью виртуальной среды Python. Рекомендована для пользователей с достаточным уровнем опыта. Полный доступ к HA. Требует: небольших познаний об операционной системе; умения работать с языком Пайтон и командной строкой.
3 «Home Assistant Supervised». Инсталляция ядра с функционалом «Supervisor» в ручном режиме. Рекомендована для пользователей с достаточным уровнем опыта. При таком варианте установки предоставляется максимально полный контроль над системой. В таком варианте работа возможна только с клонами Линукс, а так же пользователь с данной ОС должен быть на «ты».
4 «Home Assistant Container». Инсталляция ядра HA с помощью так называемого механизма контейнеров (как пример – «Docker»). Преимуществами такой инсталляции будут: надежность; быстрое развертывание и перенос на другие гаджеты без особых проблем. Главный минус – необходимы навыки использования «Docker», а это может далеко не каждый рядовой пользователь.

Инсталляция home assistant

Важно! Инсталляция возможна в любом из перечисленных выше вариантов. Предпочтительный выбор — работа операционной системы «Home Assistant Operating System» на одноплатных компьютерах. Для инсталляции нужно только развернуть системный образ на флеш-памяти формата MicroSD. Благодаря установленному набору «add-on», гаджет трансформируется в полноценный сервер системы умный дом, а также hub для подключения приборов с различными стандартами. Доступны следующие варианты связи через контакты портов ввода/вывода и такие интерфейсы, как: USB, Ethernet, Bluetooth и Вай-фай. Также, есть наличие возможности через хабы и шлюзы большинства брендов.

Smart home assistant

Из-за значительно большого количества операций чтения и записи, ресурс карты MicroSD сильно ограничен. MicroSD хватает всего примерно на 180–240 дней работы. Затем карту придется заменить. Чтобы не делать восстановление системы с помощью backup (хотя для этого потребуется не более 60 минут времени), лучше использовать альтернативный вариант — жесткий диск или SSD-накопитель, подключенный через USB-кабель, или сделать ограничение записи протоколируемых в истории событий.

Развернуть систему можно на ПК и серверных компьютерах под управлением:

  • Microsoft Windows;
  • Клонов Линукс;
  • MacOS.

При этом инсталляция «Home Assistant Operating System» выполняется на виртуальные машины (требуется установка необходимого ПО).

Настройка системы

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

Конфигурирование home assistant

Системы сохраняют конфигурацию в файле формата «YAML». Такой тип файлов можно просто редактировать в текстовых редакторах, а внесенные изменения вступают в силу сразу после перезагрузки настроек в web-интерфейсе в пункте «Configuration — General».

Удобный веб-интерфейс

При 1-ом запуске платформы система создает файлы конфигурации, производит подгрузку доп. модулей, которые предусмотрены типом инсталляции, разворачивает локальный web-сервис по адресу — http://localhost:8123

В веб-обозревателе при переходе пользователи получают доступ к web-интерфейсу. До перехода пользователями выполняются такие шаги, а именно:

  • Создается учетная запись для локальных серверов. Указывается: имя пользователя, логин, пароль и его дублирование для исключения ошибок при вводе.
  • Указывается наименование экземпляра «умного дома», для которого разворачивают платформу, и его месторасположение. Последнее определяется автоматом, если разрешен доступ к сервису геолокации. Кроме того, расположение можно указать на карте самостоятельно.
  • Выдается разрешение на поиск интеграций. Кроме того, необходимо сделать добавление нужных интеграций из списка, которые предлагает сама платформа. Во время этого шага файлы конфигурации автоматически дополняются. Если не делать его и пропустить, то все те же самые действия можно сделать позднее в ходе работы с платформой.

Удобный веб интерфейс

Важно! Такие шаги потребуются только во время 1-го запуска система. При дальнейших запусках пользователи сразу получают доступ к web-интерфейсу.

Чтобы полностью внести базовую информацию, надо ввести следующие переменные:

  • Высотная отметка относительно уровня моря — «Elevation»;
  • Используемая система измерений (метрический или английский варианты) — «Unit-system»;
  • Используемая шкала температур (Цельсий или Фаренгейт) — «Temperature_unit»;
  • Часовая зона — «Time-zone»;
  • Ссылки для доступа к web-сервису, как с внутренних ресурсов, так и из внешних сетей — «Internal_url» и «External_url»;
  • Разрешение на использование внешних ссылок и папок;
  • другие.

Основные инструменты для работы через web-интерфейс это:

  • Инструментальная панель «LovelaceUI». Именно здесь отображены приборы в сети, их текущий статус/состояние и так далее.
  • Пользовательская панель. Здесь можно контролировать любой компонент «умного дома», создавать или изменять его конфигурацию.

«LovelaceUI» — полностью настраиваемый инструмент для слежения, если потребуется, за состоянием комплекса в режиме реального времени. Основой для отслеживания состояния системы выступают:

  • «Карточки». В них показываются сенсоры, кнопки или инфомеры в виде списков («Entities») или в виде набора иконок с подписями («Glance»). Пользователи могут выбирать варианты отображений на свое усмотрение.
  • «Бейджи». Отображение элементов в компактном виде. Такой вариант не всегда удобен из-за того, что система размещает их в хаотичном порядке и такой вариант малоинформативен (при автоматическом режиме отображения). По желанию пользователей, их можно полностью удалить или перегруппировать, чтобы иметь быстрый доступ к нужной информации.

Панель инструментов уд lovelaceui

В пользовательской панели можно:

  • Сделать обзор системы.
  • Посмотреть карту, если потребуется, то изменить местоположение, задать новые локации и зоны.
  • Открыть журнал событий. В нем ведется запись всех контрольных событий системы.
  • Просмотреть history. По умолчанию в историю записываются все события. Например, такие, как: изменение состояния датчиков, сработавшие триггеры, и множество других параметров. У пользователя есть возможность настроить такие записи. Это позволит сократить количество операций и уменьшить объем записываемой информации. Такие действия позволять увеличить срок службы срок службы карт MicroSD.
  • Получить доступ на редактирование конфигураций, а также использовать инструменты разработки («Developer Tools»).

Пользовательская панель

Для информации! Пользователи могут делать изменения с помощью прямого редактирования файлов «YAML», но такой вариант не очень удобен. Но гораздо проще это делать с помощью графического интерфейса.

Для большей части элементов системы не потребуется знание языка программирования Python. К сожалению, полностью исключить ручное кодирование на данный момент не получается. Есть моменты, которые требуют знания языка Python. Но разработчики заверяют нас о том, что в скором времени практически 99% задач будут выполняться в графическом интерфейсе.

Как использовать интеграции, добавлять компоненты, создавать автоматизации

Главное преимущество Home Assistant перед другими аналогами — большое количество интеграций. Страница официального сайта (https://www.home-assistant.io/integrations) на данный момент предлагает более 1 700 готовых и одобренных интеграций.

Интеграции home assistant

Интеграции включают в себя элементы практически всех компаний, которые выпускают приборы для систем «Умный дом». Здесь есть не только сенсоры и исполнительные устройства, но и маршрутизаторы для подсоединения, в том числе для гаджетов других систем — «Apple», «Samsung», «Ikea», «Xiaomi». В списке имеются, кроме физических устройств, и многие онлайн сервисы. Например, есть возможность отыскать модули для использования VLC плеера, сервиса Яндекс.Транспорт, подключения виртуальных ассистентов Амазон и Гугл, и другие.

Если какой-то компонент отыскать не получилось, то есть решение и для такого случая — зайти в библиотеку исходных кодов «GitHub», найти похожий гаджет, а затем адаптировать его код под свое устройство.

HA и голосовая помощница Алиса

У нас вошло в привычку называть «умными» приборами те, которыми можно управлять лежа на диване. Например, запустить вентилятор, включить кофе-машину или стиральную машинку.

Смарт-колонка Yandex c Алисой хотя и именуется умной, но у вас есть возможность увеличить/уменьшить громкость ее звучания только в том случае, если вы находитесь рядом с ней (кричать через все помещение не рассматривается. Этот метод хотя и действенный, но не вписывается в концепцию умных устройств). У вас не получится перемотать мелодию в мобильном приложении Yandex.

В начале 2020 г. кто-то из пользователей обнаружил, что станция от Yandex может поддерживать один из локальных протоколов. На ГитХаб с этого момента стали появляться варианты управления станции от Яндекс. Чтобы совместить продукт от Яндекс с HA, потребуется всего примерно 2–3 часа. При этом знание языка Python не потребуется.

На сегодняшний день компонент поддерживает управление всеми колонками от Яндекс с Алисой, и при желании может выглядеть так:

Управление яндекс колонками-должно выглядеть в ha так

По следующей ссылке https://github.com/AlexxIT/YandexStation можно найти полную инструкцию по интеграции Алисы и Home Assistant.

Как добавить новые компоненты

Имея такие наборы интеграций, можно просто добавить любой прибор в систему — нужно только отыскать необходимый элемент среди интеграций и далее четко выполнять инструкцию по его инсталляции.
После выполнения инсталляции, конфигурационный файл будут занесены все необходимые данные о новом устройстве. Так же устройство после этого будет доступно в web-интерфейсе.

Добавление новых компонентов в home assistant

Для информации! HA может найти подключенные к системе модули самостоятельно или позволяет пользователю добавить их вручную.

Чтобы получить доступ к модулям существуют следующие наборы:

  • «Entities» (объекты), в котором хранятся такие параметры, как — состояние («State») и доп/ атрибуты («Attributes»). Последние практически не ограничены и могут включать в себя любые параметры.
  • «Services» (сервисы), отвечают за функционал элемента. Например, это включает такие функции, как: активация/отключение, переключение и другие.

Developer tool в home assistant

Чтобы изменять конфигурации, пользователи должны воспользоваться разделом «Developer Tools» (инструмент разработчика).

Как создать автоматизацию

Не менее просто описываются и автоматизации в платформе.

Для информации! Автоматизация — это набор действий, которые выполняет компонент системы на основании заданных условий.

Любая из автоматизаций состоит из 3 главных элементов:

  • «Triggers» (триггеры).
  • «Conditions» (дополнительные условия).
  • «Actions» (набор действий).

Для примера, автоматизация — «Активировать климат-систему, если t в комнате понизилась до 15 °C и в ней присутствуют люди». Тогда:

  • Triggers — понижение t ниже указанной величины.
  • Conditions — в комнате находятся люди.
  • Actions — отправка команд на исполнительные приборы для активации климат-системы.

Пользователи выбирают датчики и объекты для триггера и условия, непосредственно в графическом интерфейсе. Итак, большое количество автоматизаций можно задавать и при этом не потребуется писать машинный код.

Атоматизации в home assistant

Важно! Home Assistant дает возможность использования другого эффективного инструмента визуального программирования — «Node RED». Чтобы можно было его использовать, надо сделать установку соответствующей интеграции.

Триггера и условия дают возможность сделать охват всех возможных ситуаций и использовать:

  • События, которые генерируют компоненты.
  • Видеть изменения и текущее состояние системы.
  • Получать сообщения формата «MQTT».
  • Временные интервалы и метки.
  • Получать информацию с внешних источников (например, t наружного воздуха, геопозиционирование и так далее).
  • Видеть статус и значения измерений сенсоров.

Есть возможность включения множественных триггеров и условий в homeassistant

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

Альтернативные варианты для «Home Automation»

Если требуется подобрать что-то альтернативное смарт-дому на HA, то рекомендуется обратить внимание на такие варианты.

Вариант готовых систем от известных брендов

  • «HomeKit» от Apple. Хаб производит сам Apple, а другие гаджеты — сторонние компании. Последние проходят серьезную сертификацию.Apple-homekitПлюсы — высокий уровень качества и параметры безопасности. Можно использовать Сири для подачи голосовых команд. Минусы — очень высокая стоимость.
  • «HomeKit» от Самсунг. Все, что необходимо — от hub и до смарт-розеток, включателей и ламп — входит в систему Самсунг. Имеется возможность подключения приборов других разработчиков с помощью шлюза «SmartThings». Есть возможность голосового управления через виртуального помощника Гугл или Amazon Alexa.Samsung-homekitВ плане стоимости такая система смотрится предпочтительнее предложения от Apple. Но есть и свои недостатки — кроме крупных бытовых устройств, «умных» гаджетов в РФ найти не получится. Надо будет делать их замену техникой других производителей.
  • «Мой дом» от Сяоми. Хорошо развитая система, которая включает множество приборов и позволяет делать решение задач домашней автоматизации.Xiaomi-mi-homeitЦена по сравнению с конкурентами очень привлекательная. Но есть и свои недостатки — нет полного набора опций, для примера, виртуальный ассистент системы говорит только по китайски. Русского языка нет — это самый главный минус.

Системы с закрытым исходным кодом

Хороший вариант, чтобы получить готовое решение с высоким уровнем качества. В Как пример — «Savant» или «Control4». Есть большой недостатки — это масштабируемость и высокая стоимость. Чтобы добавить компоненты или функционал, придется повторно связываться разработчиками.

Аналогичные системы на открытом исходном коде. Например, «OpenHAB» и «Majordomo». У первого есть практически аналогичные возможности и функциональность. Тем не менее, развитие его проходит медленно, поэтому уровень интеграции существенно ниже. Majordomo пока находится на начальном этапе и не входит в число распространенных систем.

Недостатки Home Assistant

Положительные стороны данной платформы были описаны ранее в данной статье. Из недостатков на данный момент можно отметить следующее:

  • Большой размер информации, которые надо будет изучить, чтобы получить работоспособную систему. Этим HA уступает системам известных производителей, например, от Сяоми или Самсунг, которые просто монтировать и настраивать.
  • Необходимость поиска, покупки и инсталляции маршрутизаторов для того, чтобы можно было работать с техникой от других компаний.

Заключение

Можно констатировать, что HA — гибкая и универсальная система. Богатая библиотека исходов кодов на ГитХаб дает возможность решать любые задачи по домашней автоматизации. Если потребуется, то всегда можно получить помощь от других пользователей и консультации от производителя.

Видео по теме

Добавить комментарий Ваш e-mail не будет опубликован. Обязательные поля помечены *

Adblock
detector
Кнопка - вверх