Главная страницаHome AssistantИнтеграции в Home AssistantУправление голосом с помощью Салюта от Сбера
Управление голосом с помощью Салюта от Сбера

Управление голосом с помощью Салюта от Сбера

Попробуем установить один более-менее рабочий вариант интеграции Home Assistant в Салют. Про интеграцию Home Assistant в Алису и Марусю читайте в этой статье.

Обратите внимание что это не компонент, который можно установить через HACS, а аддон, который устанавливается в Home Assistant Supervised и Home Assistant OS! Для докер версии мы соберем и запустим отдельный образ.

Так же обратите внимание что этот аддон довольно сырой и поддерживает мало типов устройств, но основное работает.

Создание долгосрочного токена Home Assistant

Для получения списка устройств аддон использует API Home Assistant, для доступа к API нужно создать долгосрочный токен.

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

Получение учетных записей в Studio

  • Зарегистрируйтесь на портале разработчиков — Studio. Можно зарегистрироваться по почте или Sber ID, если он у вас есть
  • В Studio нажмите на кнопку Создать проект
  • В сплывающем окне внизу найдите и выберите Smart Home MQTT
  • Введите произвольное название
  • Перейдите в созданный проект
  • На странице настроек создайте новый контроллер с произвольным названием

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

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

Установка в качестве аддона

  • Перейдите в НастройкиДополнения
  • Нажмите справа внизу кнопку Магазин дополнений
  • На странице Магазина дополнений справа вверху нажмите на кнопку «Три точки» и выберите Репозитории
  • В поле ввода вставьте ссылку https://github.com/JanchEwgen/MQTT-SberGate и нажмите Добавить
  • На странице Магазина дополнений в поиске найдите аддон по слову sber
  • Перейдите на страницу аддона и установите его, но пока не запускайте

После установки перейдите на вкладку Конфигурация на странице аддона и заполните данные для подключения.

  • ha-api_url — адрес вашего Home Assistant
  • ha-api_token — долгосрочный токен API Home Assistant созданный ранее
  • sber-mqtt_broker — по умолчанию mqtt-partners.iot.sberdevices.ru
  • sber-mqtt_broker_port — по умолчанию 8883
  • sber-mqtt_login — логин контроллера, созданного в Studio
  • sber-mqtt_password — пароль контроллера (не пользовательский!)
  • sber-http_api_endpoint — по умолчанию https://mqtt-partners.iot.sberdevices.ru, но проверьте в Studio в настройках созданного контроллера

Ниже в разделе Сеть можете поменять номер порта, по которому будет доступен веб-интерфейс аддона SberGate, по умолчанию 9123.

Вернитесь на владку Информация, запустите аддон и через несколько секунд перейдите в веб-интерфейс по кнопке Веб-интерфейс или по адресу http://<ip_адрес_ha>:9123. Если веб-интерфейс долгое время недоступен, проверьте логи на вкладке Журнал, возможно вы ошиблись при вводе данных конфигурации. В веб-интерфейсе пока ничего не настраивайте и перейдите к пункту Подключение в Салюту в этой статье ниже.

Запуск SberGate в докер контейнере

Сборка образа

К сожалению автор SberGate не предоставляет готовый докер образ, поэтому придется собрать его самостоятельно.

  • Подключитесь к вашему серверу Home Assistant по SSH
  • Установите git, если он у вас вдруг не установлен: sudo apt install git
  • Выполните следующие команды для сборки образа
git clone https://github.com/JanchEwgen/MQTT-SberGate.git
cd MQTT-SberGate/mqtt_sber_gate
rm Dockerfile
nano Dockerfile

В новый Dockerfile вставьте следующий код, сохраните ctrl + x и выйдите из редактора:

FROM python:3

WORKDIR /data
COPY rootfs /
RUN chmod a+x /app/run.sh

CMD [ "/bin/sh","/app/run.sh" ]

Запустите сборку образа и проверьте его наличие после сборки:

docker build -t mqttsbergate:latest .
docker images

Если образ успешно собрался, то исходные файлы SberGate больше не нужны, можете их удалить.

cd ../..
rm -rf MQTT-SberGate

Настройка и запуск контейнера

Допустим вы хотите добавить запуск этого контейнера в ваш общий docker-compose.yml, который мы создавали в этом цикле статей, то перейдите в папку где расположен docker-compose.yml и создайте папку и файл конфигурации:

mkdir sber-gate
cd sber-gate
nano options.json

В файл конфигурации вставьте следующий код и заполните соответствующие поля. Описание каждого поля смотрите выше.

{
  "ha-api_url": "http://192.168.1.83:8123",
  "ha-api_token": "****",
  "sber-mqtt_broker": "mqtt-partners.iot.sberdevices.ru",
  "sber-mqtt_broker_port": 8883,
  "sber-mqtt_login": "****",
  "sber-mqtt_password": "****",
  "sber-http_api_endpoint": "https://mqtt-partners.iot.sberdevices.ru",
  "log_level": "INFO",
  "host": "192.168.1.83",
  "port": 9123
}

Откройте ваш docker-compose.yml и в секцию services добавьте сервис для запуска SberGate:

services
  homeassistant:
    [...] # тут конфигурация ваших других сервисов
  sber-gate:
    container_name: sber-gate
    image: mqttsbergate:latest
    network_mode: host
    expose:
      - "9123"
    volumes:
      - ./sber-gate:/data
    depends_on:
      - homeassistant # укажите название вашего сервиса Home Assistant
    restart: always
    logging:
      options:
        max-size: 10m
docker-compose.yml для запуска отдельно
services:
  sber-gate:
    container_name: sber-gate
    image: mqttsbergate:latest
    network_mode: host
    expose:
      - "9123"
    volumes:
      - ./sber-gate:/data
    restart: always
    logging:
      options:
        max-size: 10m

Перезапустите контейнеры

docker compose up -d

Подключение к Салюту

  • Откройте приложение для Андроид «Салют! Умные устройства», для iOS приложение «Homuz» (уже недоступно в Apple Store) или веб-версию
  • Перейдите в профиль
  • Выберите Дом от интегратора
  • Введите Пользовательский пароль, который вы сгенерировали в Studio в начале статьи

Передача устройств из Home Assistant в Салют

Перейдите в веб-интерфейс по адресу http://<ip_адрес_ha>:9123 и галочкой выберите нужные устройства. В основном в приложении Салют добавленные устройства появляются моментально, сенсоры температуры и влажности появляются сразу, но данные с них отображаются с задержкой, первое время может долго показывать 0.

Версия SberGate 1.0.17 поддерживает следующие домены:

  • light.* — лампочка, можно управлять, отображает текущее состояние
  • switch.* — отображается как реле, можно управлять, отображает текущее состояние
  • climate.* — отображается как термостат, с возможностью управления
  • script.* — отображается как реле, можно запускать выполнение
  • input_boolean.* — отображается как кнопка, при этом её можно настроить на нажатие, двойное нажатие и долгое нажатие с запуском каких-то событий в Салюте. При этом состояние input_boolean в HA не меняется
  • sensor.* — прокидываются как показания, без возможности взаимодействия

Итог

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

Был ли полезен материал?

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

Оставить комментарий