7. Что такое Home Assistant?


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

Если вы новичок, то перед прочтением рекомендуется ознакомиться с этой статьёй:


У этой системы есть несколько ключевых особенностей, которые важно понимать:

1. Модульность
Сама система "умеет" только управлять данными и обрабатывать их. Но в голом виде не "знает" что такое протокол вайфай, зигби, блютус, и т.д. Все дополнительные вещи решаются с помощью дополнительных модулей подключаемых к ней. Они делятся на дополнения и интеграции. Дополнения, как правило, написаны сторонними программистами, не всегда входящими в группу авторов проекта хоум ассистант. Их вообще может написать любой желающий. Интеграции же написаны и проверены авторами самой системы и сообществом других энтузиастов. В итоге, с помощью модулей можно строить самые различные конфигурации, как из кубиков в конструкторе лего.

2. Мультиплатформенность.
Home Assistant может быть запущен на самых разных устройствах и платформах:
- самый любимый у энтузиастов-самодельщиков мини компьютер Raspberry Pi (малинка)
- мини ПК Intel NUC
- мини ПК Ordroid
- мини ПК ASUS Tinkerboard
- в качестве виртуальной машины под Windows или MacOS. Поддерживаются версии VirtualBox, KVM/Poxmox, Vmware Workstation, Hyper-V, VMware ESXi/vSphere
- в качестве отдельной программы под Windows.
- как контейнер, супервизор или ядро для Linux систем
- так же появились и мини ПК от самих разработчиков, с уже установленным ХА. 

3. Открытый код.
При использовании этой концепции, можно самостоятельно вносить изменения в свою систему и полностью переписывать её под себя. Если есть знания в программировании на языке Python, то можно менять всё что касается ядра системы. Знание и понимание языка YAML позволит делать максимально гибкие конфигурации и автоматизации.

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

5. Наличие знаний в других областях.
Т.к. Home Assistant позволяет работать со множеством разных вещей, не только физическими устройствами, но и разными сервисами, то важно понимать как все эти вещи работают. И быть готовым к тому, что возможно если вы начинающий пользователь, то гранит знаний может оказаться слишком крепким и твёрдым 😀

6. Поддержка.
Данный продукт существует уже очень давно и им пользуются тысячи людей по всему миру. Благодаря этому, у него есть очень подробная техническая документация. Вдобавок, в интернете есть огромное количество ресурсов на самые разные случаи. Включая сотни часов видео на Ютубе, форумы, каналы в Телеграм и т.д.

Что же в итоге?
    Мы решили что наш умный дом будет построен преимущественно на сети зигби.
Дополнительные устройства, которые нельзя перевести на зигби (пылесосы, посудомойки и т.д.) будут работать на вайфай или блютус. Часть из них будет питаться от батареек, часть от стационарного электричества.
Сервер управления будет находиться у нас дома.
Управлением умным домом займётся Home Assistant.

Осталось выбрать тип установки, который бы максимально нас устроил. Имеем в виду что это должна быть конфигурация, которая будет работать 24/7. Занимать какое-то физическое место дома. Ей нужно будет электричество и (крайне желательно) подведённый сетевой кабель.
На секунду вернёмся ко второму пункту из списка выше и попытаемся его упростить.
ХА может быть установлен на:
- Готовый мини ПК или мини ПК из серии "сделай сам" (что ничуть не умаляет его достоинств).
- Виртуальную машину.
- Подсистему Linux (хардкор вариант №1 для новичка).
- Подсистему Windows (хардкор вариант №2 для новичка и не только).

    Отсеивая варианты таким способом, можно прийти к оптимальной для себя конфигурации. Лично мне пришлось выбирать из первых двух. 
В итоге выбор был сделан в пользу виртуалки. В дальнейших материалах вся конфигурация будет рассматриваться именно на её основе. Если вдруг состоится переезд на мини ПК, об этом выйдет отдельная статья. Желающие поставить ХА на малинку или другую платформу уже сейчас, могут воспользоваться подробными инструкциями как с сайта самого домашнего ассистента, так и из других источников. Ну что, будем ставить?!

Комментарии