Home assistant управление кондиционером

Обновлено: 01.05.2024

Кондиционер Haier серии Lightera имеет на своем борту модуль WiFi для управления им через приложение на телефоне, которое работает через неведомый китайский облачный сервис. Для старых моделей модуль был опцией и приобретался отдельно, подключается к плате управления во внутреннем блоке. На новых моделях разъем выведен под декоративную накладку и в серии Lightera модуль уже установлен. Таким образом, данное устройство применимо ко многим кондиционерам марки Haier.

Для управления кондиционером через родной WiFi модуль необходимо скачать приложение на смартфон/планшет, зарегистрироваться в нем, подключится вашим смартфоном/планшетом к роутеру по Wi-Fi. Включить кондиционер в режиме охлаждения на 30 градусов с минимальной скоростью вентилятора, убедится, что появилась сеть Haier-uAC, и запустить программу поиска устройств и сетей. Программа находит ваш кондиционер и доступные сети. Вы регистрируете свою сеть, выбрав ее из списка, и переходите к регистрации вашей модели оборудования (кондиционера). В моей домашней сети на роутере отключен сервер DHCP и чтобы подключиться к моей сети WiFi на подключаемом устройстве необходимо создать новое подключение и прописать там помимо SSID (так как он скрыт) и пароля еще и статический IP адрес. Именно по этой причине у меня не получилось добавить мой кондиционер в приложение, так как оно при добавлении кондиционера просит выбрать только точку доступа WiFi и пароль. Введенные данные приложение отправляет WiFi модулю кондиционера и он, используя эти данные, пытается подключиться к вашей точке доступа, надеясь, что ему дадут IP адрес, но мой роутер разбивает все его надежды.

Внешний вид родного модуля WiFi.

fba97a5fcabe4aea8d7ebba7b4f8ff93

Для теста я все-таки подключил его через другой роутер. Управление через приложение работает, а вот управлять кондиционером без приложения нет возможности, через какой облачный сервис работает не ясно, личного кабинета никакого нет. Как итог, Haier, как и многие производители техники, создали свою железку со своим приложением без возможности интеграции с другими системами автоматизации (без специальных модулей и оборудования). В итоге я решил сделать свой модуль WiFi со всеми характеристиками от известного всем персонажа.

За основу был взят ESP8266 12F, который будет работать напрямую с моим сервером по протоколу MQTT. На сервере установленIOBroker, который выступает так же в качестве MQTT сервера.

Оставалось понять протокол обмена с самим кондиционером. Изучив родной модуль и схемы блоков управления предыдущих моделей стало понятно, что модуль WiFi общается с кондиционером через обычный UART с уровнями TTL. Подключив параллельно линии RX/TX переходник UART/USB и управляя кондиционером из приложения и с пульта, прочитал все данные.

Фото платы родного модуля.

9c728474ac914855a7af1e30a8b95b27

На плате видно DC/DC преобразователь на 3.3 В и преобразователи логических уровней. Экран снимать не стал, что под ним неизвестно.

4152eca238784c5482da059d7846c0a6

1 — FF cтартовый байт
2 — FF cтартовый байт
3 — 22 — HEX Длина пакета без двух стартовых байт и контрольной суммы
4 — 00
5 — 00
6 — 00
7 — 00
8 — 00
9 — 01
10 — 01 — при запросе, 02 — в ответе
11 — 4D — при запросе, 6D — в ответе
12 — 5F — при запросе
13 — 00
14 — 1A — 26 градусов, 1B — 27, Текущая температура
15 — 00
16 — 00
17 — 00
18 — 00 — при запросе, 7F-в ответе
19 — 00
20 — 00
21 — 00
22 — 00
23 — 00
24 — 00 — smart, 01 — cool, 02 — heat, 03 — вентиляция, 04 — DRY,
25 — 00
26 — 00 — max, 01 — mid, 02 — min, 03 — auto — FanSpeed
27 — 00
28 — 00 — выкл., 01 — верхний и нижний предел вкл. 02 — левый/правый вкл. 03 — оба вкл
29 — 00 — блокировка кнопок пульта выкл, 80 блокировка вкл.
30 — 00 — power off, x1 — power on, (1x ) — Компрессор? x9 — Health
31 — 00
32 — 00 — fresh off, 01 — fresh on
33 — 00
34 — 00
35 — 00
36 — 00 — 16 градусов, 01 — 17 0E — 30 градусов. Установленная температура
37 — Контрольная сумма. Просто сумма всех байт без двух стартовых.

FF FF 0A 00 00 00 00 00 01 01 4D 02 5B Включение
FF FF 0A 00 00 00 00 00 01 01 4D 03 5C Выключение
FF FF 0A 00 00 00 00 00 01 03 00 00 0E Блокировка пульта
FF FF 0A 00 00 00 00 00 01 01 4D 01 5A Опрос состояния

Рисуем принципиальную схему. Схема питается 5 вольтами от кондиционера, а так как напряжение питания ESP8266 — 3.3 вольта, далее стоит линейный стабилизатор LM1117(AMS1117) на соответствующее выходное напряжение. На элементах R1, Q1, R3 и R2, R3 собраны преобразователи логических уровней так как RXD TXD модуля ESP8266 не толерантны к 5 В. Для программирования ESP контакты U2 U3 необходимо замкнуть вместе.
Принципиальная схема.

Разводим печатную плату. Компоновка платы сделана для установки в корпус от родного WiFi модуля.

899bb3d26431439db346242ab24b2dc7

На фото ниже тестовая плата.

5dd1950ab3d344e5b1b1e962decf0e49

Заказал наконец то платы из китая:

IMG_1580
IMG_1583
IMG_1584

Код написан в среде Arduino. Актуальная версия доступна на GitHub.

На данный момент я отказался на обработку протокола в самой ESP. Я написал для ioBroker’а драйвер, а ESP используется как шлюз Telnet to Serial.

Прошивка модуля (ESP8266)

Открываем файл прошивки (последняя версия ESP8266.TelnetToSerial тут). Выбираем нужную плату:


Выбираем порт — последовательный порт COM* (где * номер порта к которому подключен переходник USB-TTL) или сетевой порт для прошивки модуля по OTA.

Для прошивки через последовательный порт подключаем переходник USB-TTL к модулю согласно распиновке модуля и переходника. Контакты RX и TX подключаются перекрестно т.е. RX-TX, TX-RX.

Распиновка модуля haier

Распиновка модуля haier

После прошивки ESP8266 ставим модуль в кондиционер. Если загружена первая версия прошивки с MQTT, то на сервере MQTT автоматически создаются топики:

559d53096cd3452890825dc485aa1d79

Если используем прошивку ESP8266.TelnetToSerial, то необходимо в IoBroker установить драйвер haier, прописать в настройках драйвера IP адрес и порт нашего модуля и можно пользоваться.

Панель управления кондиционером на веб странице vis iobroker.

e4b3f02e748e4e62b917610f015dbde4

Кроме управления с веб страницы, организовано управление голосовыми командами, а так же через драйвер Telegram для IOBroker.

На текущий момент изготовлена третья ревизия платы. Написана прошивка поддерживающая все модели кондиционеров Haier, включая модели с новым протоколом (например Haier Elegant AS25NHPHRA/1U25NHPFRA ). Пример работы веб интерфейса новой прошивки на gif’ке ниже. Так же есть возможность управлять кондиционером через MQTT либо WebSocket.

Плата WiFi модуля управления кондиционером Haier

третья ревизия платы модуля.

Это вторая статья из нашей мини серии про управление климатом дома. В первой части мы рассказали Вам про термостаты Тернео, которые с момента публикации смогли получить официальную поддержку Алисы и теперь стали идеальными не только по цене и качеству, но и по функциональным возможностям.

Но вернемся к теме нашего рассказа, а именно о том, как мы можем управлять wifi моделями кондиционеров от Samsung через Homekit, Siri и Алису (поддержка Google ассистента появилась благодаря обновлению homebridge и новому плагину от oznu, но сам Google Home пока кондиционеры не поддерживает).

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



Вот так выглядят сами кондиционер, новые модели не сильно отличаются от них. На фото модель 2014-2015 года.




Начало

На данный момент существует 2 вида плагинов для 2х видов кондиционеров Samsung (а их может быть и больше):

  • работающим через порт 8888
  • работающим через порт 2878

Если Ваш кондиционер имеет порт 8888, то ЭТО ваш плагин. А если у вас порт 2878, то инструкция ниже проведет вас по всем шагам, хотя принцип у них одинаковый.

Определение порта

Чтобы разобраться какой порт использует ваш кондиционер, вам понадобится любая программа для сканирования портов, я использую IP Scanner Pro.


Из списка найденных устройств находим кондиционер — нажимает правой кнопкой мыши на него — выбираем Port Scan — ждем результат.


В результате видим, что наш кондиционер работает через порт 2878, значит мы на верном пути .

Устанавливаем плагин

Можно воспользоваться командой в терминале

Или установить через UI найдя плагин homebridge-plugin-samsung-air-conditioner

Определяем токен

В терминале вводим

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

Конфиг

Идем в наш любимый конфиг и вставляем туда всю полученную информацию (Mac адрес ищем на корпусе самого кондиционера):

Сохраняем конфиг и перезагружаем Homebridge.

Результат

В результате получаем управление в Хомките






Алиса

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

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

Задача

Автоматизировать обогрев помещения при падении температуры ниже заданной. Нижний порог включения на обогрев может выставляться вручную, верхний порог отключения обогрева +3 градуса от температуры включения. Что бы не обогревать улицу, предусмотреть отключение обогрева при открытии окна. Возможность отключения автоматического режима обогрева помещения.

Необходимые компоненты

  • Датчик температуры. Например, Xiaomi MiJia temperature & humidity sensor (WSDCGQ01LM)
  • Датчик открытия окна окна. Например, Xiaomi MiJia door & window contact sensor (MCCGQ01LM)
  • Умная розетка. Например, Xiaomi Aqara socket Zigbee (QBCZ11LM)
  • Система автоматизации. Home Assistant

Решение для Home Assistant

Для включения/отключения режима автоматического обогрева и выставления температуры включения обогрева нам понадобятся два дополнительных вспомогательных компонента (хелпера):

  • Выключатель типа Toggle для включения/отключения режима автоматического обогрева
  • Ползунок типа Number для выставления температуры включения со значениями от 10 до 25 градусов и шагом 1

В меню Configuration -> Helpers -> + добавляем хелперы, но я рекомендую каждый сценарий описывать в отдельном файле. Создадим файл room_heating.yaml в папке .homeassistant/packages/ , в котором будет описан сценарий обогрева комнаты. Подробно про пакеты можно почитать на сайте Home Assistant.

Добавляем хелперы в файл:

На панель Lovelace выводим меню управления обогревом.

панель управления обогревом помещения в Home Assistant

Итак, у нас есть умная розетка, датчик температуры и датчик открытия. Создаем автоматизации. Для понимания: xiaomi_socket_room_heater - розетка, xiaomi_temperature_room - датчик температуры, xiaomi_window_sensor_room - датчик открытия, room_auto_heat - выключатель автоматического обогрева, room_heat_temperature - выставленная температура, ниже которой включается обогрев.

Автоматизация номер один. Срабатывание автоматизации происходит при включении автоматического обогрева помещения, розетка включается при следующих условиях: температура на датчике ниже заданной температуры включения обогрева, датчик открытия в состоянии OFF и розетка в состоянии OFF. Добавляем автоматизацию в файл room_heating.yaml .

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

Автоматизация отключающая обогрев в помещении при превышении температуры включения на +3 градуса. Розетка отключается только если она находится в состоянии ON.

Автоматизация отключающая обогрев в помещении при открытии окна, не надо греть улицу :). Розетка отключается только если она находится в состоянии ON.

Последняя автоматизация, каждые 10 минут выполняется проверка превышения температуры и по необходимости отключение.

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

Лето 2021 года выдалось довольно жарким в центральной части России и думаю многие установили себе кондиционер, или приняли решение установить на будущий год. И тут встает вопрос об интеграции его в систему умного дома. Можно конечно купить кондиционер напрямую от Xiaomi, но цены на них кусаются.

Второй вариант – использование универсального пульта. Но и тут есть загвоздка, старые версии ИК пультов Сяоми пропали из продажи. Скорее всего их сняли с производства. Да и в систему Apple HomeKit их нельзя интегрировать.

И тут стоит вспомнить отдельный тип устройств, именуемый компаньоном для кондиционера, и последняя версия P3 поддерживает как Mi Home, так и умный дом Apple. Сегодня мы рассмотрим его функциональные возможности и ограничения, с которыми придется столкнуться.

Фото компаньона Xiaomi

Содержание статьи:

Комплект поставки и внешний вид

Поставляется в маленькой коробке. Как обычно, все надписи на китайском языке, разве что логотип Aqara и надпись works with Apple HomeKit:

Упаковка

Её размеры 65 x 65 x 74 мм, а весит 126 гр. Внутри нас ждет само устройство и датчик температуры и влажности Aqara, который ничем не отличается от продающегося отдельно и детально рассматривать его не будем.

Комплект поставки

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

Сферы применения

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

Большая китайская вилка

Обычная китайская – скажете вы, с Сяоми это обычное дело. Но это не так, тут используется вилка на 16A, которая отличается толщиной и длиной контактов, поэтому использовать обычный переходник не получится. Даже визуально видно, что вилка заметно больше чем у Aqara M1S:

разница вилок подключения

Многие продавцы подкладывают в посылку подходящий переходник, но некоторые кладут обычный, а некоторые вообще не заморачиваются с этим. Я заказал себе переходник с китайской вилки 16A на китайскую 10A:

Какой нужен переходник

Огромный, почти как сам шлюз. При подключении будет выглядеть так:

Работа через переходник

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

А вот как универсальный инфракрасный пульт вполне. Тестировал управление под разными углами, сигнал всегда доходит до конечного устройства.

Да и подключив в розетку, уже не кажется таким громоздким.

Внешний вид фото

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

Технические характеристики KTBL12LM

Что указано на упаковке:

Штрихкод устройства

И в виде удобочитаемой таблицы:

Производитель Aqara
Модель Air Conditioner Controller P3 (KTBL12LM)
Материал корпуса ABS пластик белого цвета
Рабочая температура от -1 0℃ до 40℃ при отн. влажности 0-95%
Питание 4000W 16A MAX, 250v ~
Модули связи ZigBee 3.0, Wi-Fi 2.4 GHz
Габариты (корпус) 65 мм x 65 мм x 56 мм
Вес 85 гр.

Подключение в приложении Aqara Home

Для начала подключим устройство в родное приложение Aqara Home. Несмотря на то, что в списке совместимых устройств российского региона его нет, приложение автоматически предложило добавление:

Как подключить шлюз

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

При первом запуске нас попросят выбрать режим работы устройства. Если выбрать "Air conditioner", следующим шагом будет выбор производителя, а потом подбор модели. Если у вас в руках физический пульт, то надо выбрать пункт device_p3_confirm_open, направляем его на наш шлюз и нажимаем кнопку включения. После этого добавление завершено.

Подключение

Зайдем в плагин, нам доступны все основные элементы управления кондиционером и включение/выключение розетки.

Управление с телефона

Режим сна позволит автоматически переводить кондиционер в более тихий режим в ночное время:

Ночной режим настройка

Есть возможность добавлять сторонние устройства с управлением по ИК, например телевизор:

Как подключить дополнительные устройства

Таким образом можно добавить и кондиционер, но функционал его будет ограничен и в HomeKit его уже пробросить не получится.

В дополнительных параметрах все стандартно, они задаются во вкладке Настройки. Хаб поддерживает голосовые подсказки на английском языке, но переключить у меня не получилось (просто белый экран при изменении).

Что есть в настройках

Что за умный дом без сценариев автоматизации. Изменения состояния компаньона кондиционера может выступать в качестве события инициатора:

Настройка сценария

Или управление кондиционером при помощи других устройств и событий:

Что можно автоматизировать

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

Подключение в Mi Home

А в приложение Mi Home добавить оказалось не так просто. Во-первых, на момент написания статьи устройства нет в общем списке для ручного добавления, только автопоиск. Во-вторых — попытка подключения заканчивается ошибкой "Время подключения к сети истекло".

Не подключается в Mi Home

Но тут мы научены опытом подключения шлюза M1S, необходимо переключить режим работы, для чего 10 раз нажимаем кнопку для полного сброса устройства. Потом, как хаб загружается и начинает что-то говорить на китайском, еще 2 раза подряд нажимаем кнопку. Подробнее можно посмотреть в этом видео.

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

Добавление кондиционера в Mi Home

Соглашаемся с этим ограничением и идем дальше, необходимо выбрать вашу модель кондиционера. Мой Toshiba не нашелся в списке, но тут помог поиск. Подбираем подходящий пульт и задаем дополнительные параметры.

Сопряжение с кондиционером

После чего главный экран будет представлять собой большой пульт. В моём случае присутствуют все элементы управления.

Удаленное управление

Если же какой-то кнопки будет не хватать, её можно добавить при помощи функции обучения пульта. Прокручиваем вниз экрана и нажимаем на плюс, после чего берем физический пульт от кондиционера, или любого другого устройства, направляем на наше устройство и нажимаем нужную кнопку.

Обучение

Таким способом можно обучить пульт управлять не только кондиционером, но и например телевизором. Это один из немногих пультов для умного дома Xiaomi, которые сейчас можно купить.

В дополнительных настройках есть куча всего:

Расширенные настройки

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

Следующие 3 пункта на русский не перевели. Они отвечают за управление кондиционером, в пункте Current pairing мы можем сбросить уже подключенный кондиционер. Раздел Quick cooling time отвечает за время максимального охлаждения, когда при запуске кондиционера он работает заданное время на максимальной мощности. И в разделе Bind temperature and hunidity настраивается связка с одним из датчиков температуры. По умолчанию это датчик из комплекта.

Настройка управления кондиционером

Датчик необходимо размещать в той же комнате, где находится кондиционер. Компаньон ориентируется на его показания в процессе работы.

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

Управление питанием

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

Условия сценариев

Как видите, с переводом действий на русский производитель тоже не заморачивался. Действиями мы сможем полноценно управлять кондиционером, розеткой и сигнализацией. А если добавили дополнительный пульт от стороннего устройства, его тоже можно задействовать.

Сценарии автоматизации

Управление кондиционером в Apple HomeKit

А теперь то, ради чего я покупал это устройство – управление кондиционером в умном доме Apple. Для добавления сканируем код на торце устройства или коробки. Если добавить не получается, можно попробовать скинуть к заводским настройкам, нажав кнопку 10 раз подряд.

Подключение в Apple

При первом запуске может выдать ошибку "Вы можете предоставить приложению Дом доступ к этому аксессуару в приложении производителя":

Ошибка

Это значит, что в приложении Mi Home или Aqara не произведена привычная настройка, где необходимо выбрать режим. После этого все функционирует должным образом:

Добавление кондиционера в умный дом Apple

Нам доступно переключение охраны шлюза и управление кондиционером. Правда оно сильно урезанное, можно только включить режим и задать температуру. Примерно как функции термостата, не более. Зато мы получаем возможность прямого голосового управления через Siri, и возможность настроить сценарии умного дома Apple. Например, автоматическое отключение кондиционера, когда вы уходите из дома.

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

Показания температуры и влажности

Яндекс Алиса и универсальный пульт Xiaomi

А вот тут к сожалению похвастаться нечем, Алиса данный девайс не увидела, продолжая старую добрую традицию несовместимости с пультами Xiaomi.

Подключение к Яндекс Алиса

Из всех ИК-пультов, в систему Яндекса пробросился только Aqara M2, да и то не так давно. Если требуется только голосовое управление, самым практичным и дешевым вариантом будет покупка пульта от Tuya.

Купить компаньон кондиционера Xiaomi

Ищем помощник кондиционера на Aliexpress. А если пульт нужен срочно, можно взять первую версию с доставкой из России.

Личное мнение

Что же получается в итоге, вполне неплохой гаджет с довольно большим функционалом. Бюджетный проброс кондиционера в Apple Homekit. Все портит его форм-фактор с широкой китайской вилкой, и я бы не стал ждать версию под европейский рынок в ближайшее время.

С другой стороны, отсутствие в продаже других универсальный пультов делает данную модель чуть ли не единственным вариантом с поддержкой Mi Home. Если подключение в умный дом Apple вам не требуется, то можно приобрести первую версию KTBL01LM.

А на этом все, вопросы и замечания можно написать в комментариях и до новых встреч!

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

blank

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

Что такое Home Assistant

blank

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

  • открытый исходный код;
  • поддержка всех стандартов (Wi-Fi, BlueTooth, Z-Wave, ZigBee и др.).
  • решения практически для всех компонентов Home Automation различных производителей.
  • Простота освоения и использования.
  • Огромное сообщество, всегда готовое помочь и советами, и готовым программным кодом.

Основной язык разработки – Python, но для большинства задач пользователю не придется собственноручно написать ни одной строки кода.

blank

Установка

blank

Платформа поддерживает несколько вариантов установки:

  • HA Operating System. Устанавливает Home Assistant как ОС для работы в задачах домашней автоматизации. Включает ядро, функционал Supervisor для управления последним, набор предустановленных плагинов для интеграции устройств и обращения к сервисам. На официальном сайте указан как рекомендуемый метод, который подходит как для старта работы, так и для решения задач home automation. Главным плюсом является простота развертывания системы.
  • HA Core. Ручная установка ядра с использованием виртуального окружения Python (подходит для опытных пользователей). Полный доступо к платформе, требует минимальных знаний об ОС и умения работать с окружением Python и командной строкой.

Установку можно произвести на микрокомпьютеры:

Установка возможна в любом из вариантов. Хороший выбор – работа ОС HA Operating System на одноплатных микрокомпьютерах. Для установки достаточно развернуть образ системы на microSD карте. За счет установленного набора add-on устройство превращается в полноценный сервер УД и хаб для подключения устройств различных стандартов. Связь осуществляется через контакты портов ввода/вывода и интерфейсы USB, Ethernet, BlueTooth, Wi-Fi. Кроме того, поддерживается работа через шлюзы/хабы большинства производителей.

blank

alt

К сведению! За счет значительного количества операций чтения/записи, ресурса microSD карты хватает на 6-8 месяцев полноценной работы, после чего накопитель требует замены. Чтобы не восстанавливать систему из резервной копии (хотя на это и требуется не более 1 часа времени) стоит воспользоваться альтернативным вариантом – жестким диском или SSD-накопителем, подключенными по USB или ограничить запись протоколируемых в history событий.

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

При этом установка HA Operating System производится на выделенные виртуальные машины (необходима установка соответствующего софта)

blank

Установку ядра производят в Docker (на Linux) или виртуальном окружении Python (для всех поддерживаемых платформ, требуется установка Python 3/8 для последних версий HA).

Конфигурирование системы

alt

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

blank

Конфигурация сохраняется в YAML- файлах (при развертывании под Linux – в папке ~/.homeassistant, основной – configuration.yaml). Файлы без проблем редактируются в текстовом редакторе, все изменения применяются после перезагрузки настроек в веб-интерфейсе на вкладке Configuration – General.

Работа с удобным веб-интерфейсом

blank

В браузере при переходе пользователю станет доступен веб-интерфейс. Предварительно придется:

  1. Создать учетную запись пользователя для локального сервера. Указываются имя пользователя, логин, пароль и его дубль для подтверждения.
  2. Указать имя экземпляра умного дома, для которого разворачивается платформа, и его расположение (определяется автоматически при разрешении доступа к сервису геолокации, может быть выбрано на карте самостоятельно).
  3. Дать разрешение на поиск интеграций, а также добавить нужные из предложенного платформой списка. На этом шаге будут автоматически дополнены файлы конфигураций. Если его пропустить, все те же действия можно выполнить в ходе работы с платформой по созданию и настройке конкретного экземпляра УД.

alt

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

Для задания полной базовой информации вносятся (кроме имени экземпляра и географического положения) переменные:

  • elevation –высота над уровнем моря;
  • unit-system – используемая система измерений (метрическая или imperial, использующая футы, фунты, галлоны и т.д.);
  • temperature_unit – шкала температур по Цельсию или Фаренгейту;
  • time-zone– часовой пояс;
  • internal_url и external_url – адреса для доступа к веб-сервису из внутренней и внешней сетей;
  • разрешения на использование внешних URL и директорий, папки для размещения медиа файлов и т.д.

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

  • Панель инструментов УД LovelaceUI. Именно на ней отображаются устройства в сети, их состояние, действия и пр.
  • Пользовательское меню. Включает все возможности контроля экземпляра УД, создания и изменения его конфигурации.

Фактически LovelaceUI является полностью настраиваемым инструментом для отслеживания (при необходимости) состояния системы в реальном времени. Базой для представления являются:

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

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

  1. Обзору системы (странице LovelaceUI).
  2. Карте, при необходимости изменения местоположения, задания дополнительных локаций и зон.
  3. Журналу событий, в котором ведется лог системы.
  4. Истории. По умолчанию записывает все используемые экземпляром УД события – изменение состояний сенсоров, срабатывание триггеров, действия, и множество дополнительных, например, изменение положения солнца. Владелец может настроить запись, чтоб уменьшить число операций и объемы информации (полезно при работе с микрокомпьютерами, чтобы продлить срок службы SD-карты).
  5. Инструментам разработчика и редактору конфигураций. Именно эти пункты меню содержат все необходимое для настройки экземпляра УД.

blank

alt

К сведению! Вносить изменения пользователь может прямым редактированием YAML-файлов. Однако встроенные средства гораздо удобнее, поскольку позволяют выполнить все необходимые действия в графическом интерфейсе. Для многих вариантов систем этого достаточно чтобы создать и настроить их с нуля, не написав ни строчки кода на Python, Однако пока далеко не все можно сделать без ручного кодирования, хотя разработчики и утверждают, что в ближайшем будущем графического интерфейса будет достаточно для решения 99% задач.

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

blank

Они включают компоненты практически всех производителей, выпускающих устройства для УД. Здесь можно найти не только датчики и исполнительные механизмы, но шлюзы для подключения, в том числе для девайсов других экосистем – Apple, Samsung, Ikea, Xiaomi. В список включены не только физические устройства, но и многие онлайн-сервисы. Так, можно найти плагины для использования VLC-плеера, сервиса Yandex.Transport, мониторинга распространения эпидемии коронавируса (COVID Monitor), подключения голосовых помощников Amazon и Google и т.д.

alt

По мнению опытных пользователей, при покупке любого устройства home automation есть более чем 80%-ная вероятность, что оно уже включено в интеграции HA, и свыше 90%, что новинка появится в ближайшее время.

Впрочем, даже если ее найти не удалось, вполне рабочий подход – найти похожее устройство в библиотеке исходников на GitHub и внести в код нужные коррекции.

Добавление компонентов

blank

С таким набором интеграций добавление устройств становится максимально простым – достаточно найти нужный компонент в интеграциях и следовать инструкциям по установке.

После установки в файл конфигураций будут внесены данные о новом модуле, а сам он станет доступен в веб-интерфейсе.

alt

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

Для доступа к модулю используются наборы:

  • Объектов (entities), хранящих данные – состояние (state, основное значение) и дополнительные атрибуты (attributes). Набор последних практически не ограничен и может включать любые характеристики.
  • Сервисов (services) – фактически, функций объекта, таких как включение, выключение, переключение и пр.

blank

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

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

Каждая автоматизация включает в себя цепочки из трех основных компонентов:

  1. Триггеров – основных условий, при которых выполняется (triggers).
  2. Дополнительных условий (conditions).
  3. Действий (actions).
  • Триггер – снижение температуры ниже заданного порога (фактически – показания датчика температуры, получение от модуля значений state и нужного атрибута).
  • Условие – в помещении есть люди (получение статусов или атрибутов от других датчиков, компонентов системы или сервисов).
  • Действие – подача команды на исполнительное устройство для включения системы отопления (вызов соответствующего сервиса для компонента).

Пользователь выбирает сенсоры и объекты (entities) для триггеров и условий, вызываемые сервисы непосредственно в графическом интерфейсе. Таким образом, большинство автоматизаций могут быть заданы без написания кода.

blank

alt

На заметку! HA позволяет использовать и другой, не менее интересный и эффективный инструмент визуального программирования. – Node RED. Для этого только необходимо установить в систему соответствующую интеграцию.

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

  • информацию от внешних сервисов (положение солнца, температура наружного воздуха, системы геолокации и позиционирования и т.д.).
  • статусы и атрибуты (значения измерений) датчиков;

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

blank

alt

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

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

Альтернативные платформы home automation

Тем, кто ищет альтернативу умному дому на Home Assistant следует обратить внимание на:

Apple HomeKit. Хабы выпускаются непосредственно Apple, остальные устройства – другими производителями и проходят жесткую сертификацию. Основные достоинства – высокое качество, безопасность. Возможно использование Siri для голосового управления. Главные недостатки – проблемы с кроссплатформенностью и заоблачная цена.

IKEA Home Smart. Использует ZigBee шлюз и продукты линейки Tradfri. Пока предусматривает только базовые опции и компоненты, голосовое управление не поддерживается. Решение неплохо выглядит с точки зрения бюджета, но до полноценного комплекса пока далеко.

Xiaomi MI Home. Развитая экосистема с множеством устройств и стандартов (особенно, с учетом другой продукции производителей, благодаря которой по набору компонентов обходит любого конкурента) позволяет решать любые задачи домашней автоматизации. Привлекательна по ценам, но пока не обладает полным набором функций, например, собственный голосовой помощник работает только на китайском языке.

  • Сторонние системы с закрытым кодом и разработкой на заказ. Отличный вариант для получения готового решения высокого качества, например Savant или Control4. Проблема в масштабируемости – для добавления компонентов и функций снова приходится обращаться к разработчикам и высокой стоимости.
  • Аналоги с открытым кодом, такие как OpenHAB и Majordomo. Первый обладает практически аналогичными возможностями и функциональностью, однако развивается медленнее и говорить о том же уровне интеграции не приходится. Второй пока еще не достиг необходимого для широкого внедрения уровня.

Вопросы и ответы

На сайте представлены интеграции для подключения Google Assistant и Amazon Alexa, что делает возможным использование голосовых помощников. Проблемой для российского пользователя может стать исключительно английский язык для ассистента Амазон и не всегда корректная отработка Google.

Один из главный приоритетов HA – надежность и безопасность, поэтому всю систему можно построить в локальной сети без обмена в облаке. При необходимости задействовать облачные сервисы – не проблема, соответствующие интеграции на официальном сайте есть.

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

Читайте также: