Что такое home assistant
Умный дом на Home Assistant. Установка и настройки на русском
Умный дом на Home Assistant
Home Assistant – одна из самых популярных систем домашней автоматизации, поддерживающая устройства различных производителей. Тут можно завязать в один сценарий устройства Sonoff, Xiaomi и Tuya. Настроить под себя интерфейс. Сделать отправку оповещений в Telegram. И полностью избавиться от облачных сервисов от производителей умного дома.
Home Assistant является open-source проектом и работает на Python. В качестве сервера может выступать как одноплатный Raspberry Pi, так и обычный ПК под управлением Windows или Linux.
Ознакомиться с возможностями программного обеспечения, а так же оценить интерфейс можно на сайте с онлайн-демонстрацией.
Настройка Home Assistant
На данном сайте можно найти уроки по установке и настройке Home Assistant. Для удобства привожу полный список:
Некоторые возможности веб-интерфейса Home Assistant
Добавление плана помещения с расположенными на нем умными устройствами и дальнейшее управление приборами простым нажатием на иконку. Захотели включить или выключить свет в определенной комнате — нажали на соответствующую лампочку. Посмотреть определенную камеру — нажали на ее иконку и получили изображение. Посмотреть историю открытия входной двери или последнее замеченное движение в коридоре? Тоже не проблема — нажимаем на нужный значок и получаем всю необходимую информацию.
Одна из самых полезных функций — выключение света во всей квартире одним нажатием на нужный значок. При наличии охранных датчиков можно так же легко управлять и постановкой квартиры на охрану.
Плюсы Home Assistant
Из минусов стоит выделить разве что большое количество времени, которое потребуется на то, чтобы разобраться в системе. Это не Mi Home, который настраивается за 10 минут. Тут потребуется потратить несколько недель, а может даже и месяцев для реализации всего требуемого функционала. Но результат однозначно того стоит.
Home assistant, с чего начать?
• 26-08-2020 •
Быстрые ссылки на Aliexpress
С недавних пор, решил отказаться от majordomo в сторону home assistant. Я уже давно был в курсе об этой системе, как и о многих других. На мое решение повлиял опрос в телеграме в одном из каналов данной тематике. Канал не был посвящен home assistant, а умным домам в целом.
Как мы видим, из данного опроса, 47% проголосовало за home assistant.
Что меня не устраивало в Majordomo?
В целом majordomo работал стабильно и выполнял свои функции, один из больших плюсов для меня, я достаточно хорошо знаю PHP и мне было просто писать скрипты для автоматизации. Да и в целом мне показалось, на majordomo начать работать достаточно просто. Но все же, выше указанные факторы меня напрягали.
Что стоит учитывать при переходе на Home assistant
Более сложный старт чем в majordomo.
Если вы собираетесь использовать home assistant на raspberry PI 4 с microSD карте. То вам придется каждые пол года заменять карту на новую, так как из-за большого потока данных, больше она не проработает.
К счастью, с недавних пор, raspberry PI 4, может стартовать с жесткого диска и к счастью новые версии home assistant тоже запускаются на жестоких дисках на rpi4.
В целом на HA очень часто выпускают обновления и работать на нем становиться все проще и проще. К примеру на данный момент, большинство автоматизаций, можно реализовать с помощью графического интерфейса, не все, но большинство.
С чего начать? Установка home assistant
Что вам понадобится:
Сразу скажу, что home assistant делится на 2 части:
Home assistant core — Это стандартный функционал, который подойдет для гиков, которые не хотят использовать стороние плагины и приложения.
Home assistant (hassio) — Это стандартный функционал + возможность устанавливать и использовать сторонние плагины и приложения, которые можно устанавливать через графический интерфейс, что облегчает работу в разы. (Рекомендую именно этот вариант!)
В начале статьи есть прямые ссылки на aliexpress!
В официальном гайде нету инструкции по установки приложения на жесткий диск, это связано с тем, что этот метод на данный момент проходит бета тестирование. Хотя на тот момент, когда вы это читаете, уже может и есть.
В первую очередь, вам понадобиться перевести малинку в режим старта с жесткого диска.
Для этого нужно подключиться по SSH и ввести пару команд.
Дальше нужно скачать и распаковать на диск последнюю версию home assistant
На данный момент я использую 5.0 beta, ранние версии не поддерживают загрузку с жесткого диска.
Ссылка на список релизов, где можно скачать.
После того, как скачали, нужно распаковать на жесткий диск, я это делаю с помощью программы balenaEtcher. Это бесплатное и максимально простое приложение, специально для этих дел.
Подключаем жесткий диск к компьютеру с помощью USB, запускаем balenaEtcher и делаем распаковку.
Дальше, достаем microSD с малинки, подсоединяем жесткий диск по usb, подсоединяем кабель с интернетом и включаем питание.
Если все прошло успешно, то малинка получит IP адрес (Который вы сможете обнаружить в своем роутере). И в течении 5 минут будет скачивать все необходимое для работы с home assistant
Как настроить WI-FI на RPI4
Если почитать официальную инструкцию по установке, то там написано что лучше использовать Ethernet кабель. И больше ничего не написано.
В моем случае, я хотел разместить RPi4 в центре дома, но совсем не хотелось подводить туда кабель для интернета, по этому для меня очень важно было использовать wi-fi. Тем более, что он там есть.
Один из первых способов, которые можно найти в гугле, это установить плагин SSH & Web Terminal Addon подключиться по ssh и настроить wi-fi. Но к сожалению, этот плагин у меня не запускался и судя по комментариям, такая проблема у многих, по этому я не буду его рекомендовать.
Другой способ, который сработал, это подключить малинку к монитору, перезапустить ее, и перед тем как загрузиться home assistant настроить wi-fi.
Для этого нужно ввести стандартный rpi логин, пароль:
Делаем безоблачный умный дом на базе Home Assistant
Запускаем аддон и переходим на вкладку Log. Проверяем, что аддон запускается без ошибок
Создаем объекты в Home assistant для подключения устройств Zigbee. В файле Configuration.yaml добавляем код
В файл automations.yaml добавляем код
Добавляем на основной экран (Lovelace) объекты » Allow devices to join «, Time remaining, и Bridge state.
Теперь для запуска режима подключения нового устройства достаточно перевести переключатель Allow devices to join в положение «Включено»
Подключение устройств Zigbee к шлюзу cc2531
Сделаем подключение на примере Xiaomi Aqara Window Door Sensor
— Включаем Allow devices to join в Home Assistant. Шлюз включит режим сопряжения устройств на 10 минут
— Открываем лог аддона ZigBee2MQTT
— Нажимаем кнопку сопряжения на Aqara Window Door Sensor где-то на 3 сек. Синий огонек начнет мигать.
— Ждем появления записей об подключении в логе аддона ZigBee2MQTT
В итоге у вас появляется устройство binary_sensor. _contact
В интерфейсе у меня датчик контролирует открытие окна. Выглядит следующим образом:
Аналогично подключаются и другие устройства Zigbee, указанные в списке поддерживаемых устройств
В итоге, решение поддерживает локальное подключение zigbee устройств от порядка 140 производителей без подключения к интернету и не подконтрольным облакам.
В заключение нельзя не упомянуть об еще одной возможности интеграции Zigbee устройств в Home Assistant — ZHA. Это библиотека Python с открытым исходным кодом, реализующая стек Zigbee. На момент написания статьи библиотека поддерживает семейство стиков CC253х экспериментальном режиме. К достоинству этого решения можно отнести отсутствие моста zigbee-mqtt, но, судя по отзывам на форумам, решение еще относительно сырое. Планирую его попробовать на тестовом стенде.
Обзор открытой платформы Home Assistant
Во время создания своего варианта системы «Умный дом» (УД) самое главное — правильно подобрать платформу.
В настоящее время разрабатывают такие платформы более ста компаний, а такие именитые гиганты, как «Apple», «Samsung», «Ikea», «Xiaomi» создали свои собственные варианты систем смарт-домов. Среди них имеется несколько довольно хороших и интересных разработок, как с открытым, так и закрытым исходным кодами.
Наилучший вариант решения для открытого исходного кода — смарт-дом на платформе «Home Assistant» (HA). HA приобрела большую популярность, как у спецов, так и у мастеров-самоучек. Она стремительно развивается и может удовлетворить все потребности автоматизации бытовых повседневных вопросов.
Home Assistant — что это такое
HA – платформа для домашней автоматизации, которая обеспечивает решение всех попутных вопросов: добавление гаджетов; создание сценариев различного уровня сложности; использования виртуальных ассистентов; и так далее.
Основной язык программирования платформы — «Пайтон». Но можно сильно не переживать, если вы его не знаете. Ведь для большого количества задач пользователям не надо будет писать собственноручный код, он уже давно написан другими, и есть в открытом доступе.
Разработка смарт-дома на данной платформе включает в себя несколько шагов. Каждый из этих шагов подчеркивает ее основные возможности и преимущества.
Инсталляция системы
HA поддерживает несколько вариантов установки, они представлены в таблице ниже.
Инсталляцию системы можно выполнить на такие гаджеты, как:
Важно! Инсталляция возможна в любом из перечисленных выше вариантов. Предпочтительный выбор — работа операционной системы «Home Assistant Operating System» на одноплатных компьютерах. Для инсталляции нужно только развернуть системный образ на флеш-памяти формата MicroSD. Благодаря установленному набору «add-on», гаджет трансформируется в полноценный сервер системы умный дом, а также hub для подключения приборов с различными стандартами. Доступны следующие варианты связи через контакты портов ввода/вывода и такие интерфейсы, как: USB, Ethernet, Bluetooth и Вай-фай. Также, есть наличие возможности через хабы и шлюзы большинства брендов.
Из-за значительно большого количества операций чтения и записи, ресурс карты MicroSD сильно ограничен. MicroSD хватает всего примерно на 180–240 дней работы. Затем карту придется заменить. Чтобы не делать восстановление системы с помощью backup (хотя для этого потребуется не более 60 минут времени), лучше использовать альтернативный вариант — жесткий диск или SSD-накопитель, подключенный через USB-кабель, или сделать ограничение записи протоколируемых в истории событий.
Развернуть систему можно на ПК и серверных компьютерах под управлением:
При этом инсталляция «Home Assistant Operating System» выполняется на виртуальные машины (требуется установка необходимого ПО).
Настройка системы
Главное преимущество HA — простая настройка и конфигурирование. Главное отличие Home Assistant от других аналогов — нет необходимости постоянно обращаться к командной строке, чтобы изменить конфигурацию.
Системы сохраняют конфигурацию в файле формата «YAML». Такой тип файлов можно просто редактировать в текстовых редакторах, а внесенные изменения вступают в силу сразу после перезагрузки настроек в web-интерфейсе в пункте «Configuration — General».
Удобный веб-интерфейс
При 1-ом запуске платформы система создает файлы конфигурации, производит подгрузку доп. модулей, которые предусмотрены типом инсталляции, разворачивает локальный web-сервис по адресу — http://localhost:8123
В веб-обозревателе при переходе пользователи получают доступ к web-интерфейсу. До перехода пользователями выполняются такие шаги, а именно:
Важно! Такие шаги потребуются только во время 1-го запуска система. При дальнейших запусках пользователи сразу получают доступ к web-интерфейсу.
Чтобы полностью внести базовую информацию, надо ввести следующие переменные:
Основные инструменты для работы через web-интерфейс это:
«LovelaceUI» — полностью настраиваемый инструмент для слежения, если потребуется, за состоянием комплекса в режиме реального времени. Основой для отслеживания состояния системы выступают:
В пользовательской панели можно:
Для информации! Пользователи могут делать изменения с помощью прямого редактирования файлов «YAML», но такой вариант не очень удобен. Но гораздо проще это делать с помощью графического интерфейса.
Для большей части элементов системы не потребуется знание языка программирования Python. К сожалению, полностью исключить ручное кодирование на данный момент не получается. Есть моменты, которые требуют знания языка Python. Но разработчики заверяют нас о том, что в скором времени практически 99% задач будут выполняться в графическом интерфейсе.
Как использовать интеграции, добавлять компоненты, создавать автоматизации
Главное преимущество Home Assistant перед другими аналогами — большое количество интеграций. Страница официального сайта (https://www.home-assistant.io/integrations) на данный момент предлагает более 1 700 готовых и одобренных интеграций.
Интеграции включают в себя элементы практически всех компаний, которые выпускают приборы для систем «Умный дом». Здесь есть не только сенсоры и исполнительные устройства, но и маршрутизаторы для подсоединения, в том числе для гаджетов других систем — «Apple», «Samsung», «Ikea», «Xiaomi». В списке имеются, кроме физических устройств, и многие онлайн сервисы. Например, есть возможность отыскать модули для использования VLC плеера, сервиса Яндекс.Транспорт, подключения виртуальных ассистентов Амазон и Гугл, и другие.
Если какой-то компонент отыскать не получилось, то есть решение и для такого случая — зайти в библиотеку исходных кодов «GitHub», найти похожий гаджет, а затем адаптировать его код под свое устройство.
HA и голосовая помощница Алиса
У нас вошло в привычку называть «умными» приборами те, которыми можно управлять лежа на диване. Например, запустить вентилятор, включить кофе-машину или стиральную машинку.
Смарт-колонка Yandex c Алисой хотя и именуется умной, но у вас есть возможность увеличить/уменьшить громкость ее звучания только в том случае, если вы находитесь рядом с ней (кричать через все помещение не рассматривается. Этот метод хотя и действенный, но не вписывается в концепцию умных устройств). У вас не получится перемотать мелодию в мобильном приложении Yandex.
В начале 2020 г. кто-то из пользователей обнаружил, что станция от Yandex может поддерживать один из локальных протоколов. На ГитХаб с этого момента стали появляться варианты управления станции от Яндекс. Чтобы совместить продукт от Яндекс с HA, потребуется всего примерно 2–3 часа. При этом знание языка Python не потребуется.
На сегодняшний день компонент поддерживает управление всеми колонками от Яндекс с Алисой, и при желании может выглядеть так:
По следующей ссылке https://github.com/AlexxIT/YandexStation можно найти полную инструкцию по интеграции Алисы и Home Assistant.
Как добавить новые компоненты
Имея такие наборы интеграций, можно просто добавить любой прибор в систему — нужно только отыскать необходимый элемент среди интеграций и далее четко выполнять инструкцию по его инсталляции.
После выполнения инсталляции, конфигурационный файл будут занесены все необходимые данные о новом устройстве. Так же устройство после этого будет доступно в web-интерфейсе.
Для информации! HA может найти подключенные к системе модули самостоятельно или позволяет пользователю добавить их вручную.
Чтобы получить доступ к модулям существуют следующие наборы:
Чтобы изменять конфигурации, пользователи должны воспользоваться разделом «Developer Tools» (инструмент разработчика).
Как создать автоматизацию
Не менее просто описываются и автоматизации в платформе.
Для информации! Автоматизация — это набор действий, которые выполняет компонент системы на основании заданных условий.
Любая из автоматизаций состоит из 3 главных элементов:
Для примера, автоматизация — «Активировать климат-систему, если t в комнате понизилась до 15 °C и в ней присутствуют люди». Тогда:
Пользователи выбирают датчики и объекты для триггера и условия, непосредственно в графическом интерфейсе. Итак, большое количество автоматизаций можно задавать и при этом не потребуется писать машинный код.
Важно! Home Assistant дает возможность использования другого эффективного инструмента визуального программирования — «Node RED». Чтобы можно было его использовать, надо сделать установку соответствующей интеграции.
Триггера и условия дают возможность сделать охват всех возможных ситуаций и использовать:
Сущесвует возможность добавления большого количества триггеров и условий, написания скриптов и создания шаблонов.
Альтернативные варианты для «Home Automation»
Если требуется подобрать что-то альтернативное смарт-дому на HA, то рекомендуется обратить внимание на такие варианты.
Вариант готовых систем от известных брендов
Системы с закрытым исходным кодом
Хороший вариант, чтобы получить готовое решение с высоким уровнем качества. В Как пример — «Savant» или «Control4». Есть большой недостатки — это масштабируемость и высокая стоимость. Чтобы добавить компоненты или функционал, придется повторно связываться разработчиками.
Аналогичные системы на открытом исходном коде. Например, «OpenHAB» и «Majordomo». У первого есть практически аналогичные возможности и функциональность. Тем не менее, развитие его проходит медленно, поэтому уровень интеграции существенно ниже. Majordomo пока находится на начальном этапе и не входит в число распространенных систем.
Недостатки Home Assistant
Положительные стороны данной платформы были описаны ранее в данной статье. Из недостатков на данный момент можно отметить следующее:
Заключение
Можно констатировать, что HA — гибкая и универсальная система. Богатая библиотека исходов кодов на ГитХаб дает возможность решать любые задачи по домашней автоматизации. Если потребуется, то всегда можно получить помощь от других пользователей и консультации от производителя.
Видео по теме
Home Assistant, статья 1 (установка)
UPD 28.06.2019
На данный момент я ушел с этого пути и использую установку HA в Docker. Мой готовый образ для Raspberry PI3b/3b можно найти тут. Мой актуальный конфиг HA тут.
Сегодня начнем небольшой (а может быть и большой) курс статей по знакомству с Home Assistant. Это еще одна система управления умным домом, свежая, гибкая кроссплатформенная. Для простоты дальнейшего повествования буду называть его HA. Есть 4 пути заиметь сию систему на своем устройстве. Речь дальне пойдет про малинку, но забегая вперед, могу сказать, что установить его можно практически на любое устройство с Unix-like системой. Итак у нас есть 4 варианта из которых я на данный момент буду говорить об одном.
1. Развертывание готового образа Hass.io на флешку
2. Установка в виртуальное окружение питона
3. Установка в Docker
4. Развертывание Raspbian с установленным HA на флешку
Я для себя выбрал второй вариант как более простой, понятный, а так же дающий более подробные знания о том что мы делаем.
Для начала нам нужна малинка с установленной Raspbian. Подойдет любая, даже та которая сейчас используется. Статьи по её установке можно найти например тут и тут. Подключаемся к малинке по ssh и обновляем систему до актуального состояния:
После того как процесс удачно завершится, необходимо установить дополнительные пакеты, необходимые для дальнейшей работы:
Далее добавляем нового пользователя для запуска и работы с HA, с его домашней директорией, где будут храниться конфиги:
Этой же командой мы добавили нового пользователя в группы dialout и gpio для управления интерфейсами самой малины. Далее создадим директорию для установки HA и назначим хозяина директории:
После этого создадим виртуальную машину от нашего нового пользователя homeassistant:
Первоначальные приготовления на этом закончены. можно ставить HA. Проделываем это следующей командой:
После ввода команды ждем от 5 до 25 минут в зависимости от скорости вашей флешки, пока все это добро установится. Теперь запускаем наш HA первый раз для создания первоначальных каталогов и конфигов:
Ждем еще минут 10 минимум, пока скачаются необходимые файлы, после этого останавливаем HA комбинацией ctrl c. Выходим из под шелла пользователя homeassistant командой exit. После необходимо создать сервис, который будет запускать HA при перезагрузки малинки. Создадим для этого файл сервиса:
Вставляем в него следующий текст и сохраняем файл:
Далее надо активировать наш сервис в системе и запустить его:
Если вы все сделали правильно, через небольшой промежуток времени вы сможете увидеть свой свежеустановленный в браузере. Для этого необходимо перейти по ссылке http://ip.малинки:8123 и откроется что-то похожее на это:
Как видите это долго, но совсем не сложно! В дальнейшем для обновления HA необходимо подключиться к малине по ssh и выполнить следующие три команды:
На этом мы заканчиваем первоначальную установку и настройку и увидимся с вами в следующих статьях!