Перейти к содержанию

Связываем марусю с Home Assistant

Capsula mini

Настройка Home Assistant

На данный момент у маруси нет нормальной интеграции с HA, есть только кастомная поддержка умного дома через Web Hooks (пункт DIY Hooks в списке умных домов маруси). Для начала в Home Assistant нам понадобится долгосрочный токен доступа. Идем в Home Assistant - левая колонка навигации, самый низ, имя или иконка пользователя, жмем. В открывшейся странице "Профиль" пункт "Долгосрочные токены доступа" - генерируем и сохраняем.

Home Assistant token

Затем идем на сайт с описанием Home Assistant web API и вясняем, что нам надо отправить POST запрос на URL /api/services/<domain>/<service>.

Чтобы понять какой сервис нам надо дернуть идем в Home Assistant - Панель разработчика - Службы - ищем нужную службу и нужный объект (цель). Я выбрал "Освещение: Turn on (light.turn_on)", цель - "Выберите устройство". Можно протестировать сервис нажав "Вызвать службу" и убедиться, что он действительно делает то, что вы от него ожидаете. После этого жмем "Перейти в режим Yaml" и смотрим что там.

Home Assistant сервис

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

- id: bedroom_light_left
  name: Основной свет
  description: Основной свет в спальне
  room: Спальня
  type: devices.types.light
  custom_data:
  capabilities:
  - type: devices.capabilities.on_off
    retrievable: false
    parameters:
    hooks:
      on:
        url: https://{hass_server}/api/services/light/turn_on
        method: POST
        json:
          device_id: 2141d6073e14224ea70f6fc846c92058
        headers:
          Authorization: Bearer {long-living-token}
          Content-Type: application/json
      off:
        url: https://{hass_server}/api/services/light/turn_off
        method: POST
        json:
          device_id: 2141d6073e14224ea70f6fc846c92058
        headers:
          Authorization: Bearer {long-living-token}
          Content-Type: application/json
  device_info:
    manufactorer: HomeAssistant
    model: Virtual
    hw_version: 0.1
    sw_version: 0.1

Заходим в приложение маруся на смартфоне, настройки, выбираем "Умный дом", листаем список умных домов вниз, выбираем "DIY Hooks", жмем "Войти в VK", выбираем "Умный дом загрузка описания формата YAML или JSON" и вставляем наш YAML файл и жмем "Сохранить".

Все, после этого можно пользоваться. Просто говорим "маруся, включи свет".

Включаем/выключаем лампочку Curl запросом

LONG_LIVING_TOKEN='...'
HASS_ADDR='...'

curl -X POST -H "Authorization: Bearer $LONG_LIVING_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"device_id": "21***************************058"}' \
  "https://${HASS_ADDR}/api/services/light/toggle"
К началу