
Автор блога на «Хабре» представил интеграцию Marusya DIY для Home Assistant. Она автоматизирует процесс, который раньше требовал ручного написания YAML-файлов и обязательного использования телефона с приложением «Маруся». Теперь для добавления устройств достаточно установить дополнение через HACS и один раз скопировать сессию из браузера.
Ранее для каждой колонки под своим аккаунтом VK приходилось вручную править конфигурацию. Нужно было выходить из одного профиля в приложении, заходить в другой, загружать файл и заново привязывать сервис. При этом долгосрочный токен Home Assistant лежал в открытом виде в файле, который передавался между компьютером, телефоном и облаком.
Интеграция Marusya DIY сама генерирует YAML с HTTP-хуками и загружает его в кабинет DIY. Она автоматически отвязывает старую конфигурацию, привязывает новую и нажимает кнопку «Выбрать». Для каждого аккаунта колонки создается отдельный пользователь Home Assistant без прав администратора, что повышает безопасность.
Ограничения платформы DIY Hooks сохранились. Колонка по-прежнему умеет только включать, выключать устройства и сообщать их состояние. Голосовой запрос температуры или других данных с датчиков не поддерживается.
Для установки нужно добавить пользовательский репозиторий https://github.com/mpashka/hass-marusya в HACS, установить интеграцию и перезагрузить Home Assistant. Обязательное условие - Home Assistant должен быть доступен из интернета по протоколу HTTPS, так как облако «Маруси» обращается к нему напрямую.
Первый шаг настройки - получение сессии кабинета DIY. Нужно открыть страницу умного дома в браузере, войти через VK, а затем скопировать значение куки-файла с именем sh_data из инструментов разработчика. Эти сведения живут около 13 месяцев, после чего процедуру придется повторить.
Второй шаг - добавление аккаунта колонки. Интеграция покажет ссылку для входа в VK, а после авторизации откроется пустая страница с длинным адресом. Этот адрес нужно полностью скопировать и вставить в форму настройки.
Такой способ связан с тем, что VK разрешает возврат только на свой домен для приложения «Маруся». Если колонок несколько и они привязаны к разным аккаунтам VK, шаг с копированием адреса повторяется для каждого профиля. Удобнее всего делать это в разных профилях браузера или в режиме инкогнито.
Устройства для колонки можно задать тремя способами. Самый простой - использовать метки Home Assistant. Достаточно повесить на сущность метку, например «Маруся: кухня», и через пару секунд колонка начнет ей управлять.
Имя берется из названия сущности, комната - из ее зоны, а тип определяется по домену. Второй способ - выбрать сущности списком в форме настройки. Третий - использовать YAML для точного указания имени или типа устройства.
В YAML-конфигурации можно задать конкретную службу для вызова, что удобно для запуска скриптов. При сохранении интеграция проверяет корректность описания и сообщает об ошибках. Если привязка новой конфигурации не удалась, интеграция автоматически вернет предыдущую.
После настройки сущность «Состояние DIY» покажет статус «Привязано», а в ее атрибутах отобразится список устройств, которые видит «Маруся». Для тех, кто генерирует конфигурации скриптами, предусмотрена работа через REST API Home Assistant. Можно программно пройти форму настройки, используя токен администратора.
Автор отмечает, что протокол взаимодействия неофициальный. Он был получен путем обратной разработки приложения «Маруся» версии 1.91.5 для Android. Если серверная часть изменится, интеграция может временно перестать работать до внесения правок.
Интеграция распространяется под лицензией Apache 2.0. Она позволяет управлять несколькими колонками на разных аккаунтах VK, у каждой из которых свой набор устройств и комната по умолчанию. Телефон с приложением «Маруся» теперь не требуется для настройки умного дома.
Читайте также
Умное кольцо Сбера научилось принимать бесконтактные платежи
Лишь 3,8% россиян назвали жильё выгодным вложением на десять лет
Независимые интернет-магазины обгоняют маркетплейсы по темпам роста
«Яндекс» запустит оркестратор нейросетей для «Алисы» в сентябре
Активы рыночных фондов недвижимости впервые превысили 1 трлн рублей