В одной из предыдущих своих статей я рассматривал СберБум Мини и сделал вывод, что колонка более-менее норм, но для управления умным домом на базе HomeAssistant совершенно не годится. Там же в комментариях мне дали наводку на аддон (не интеграцию) MQTT-SberGate, который позволяет использовать API Сбера и прокинуть устройства из HomeAssistant в систему Сбера для управления.
Ну что ж, это интересно, и я изучил.
Репозиторий на гитхабе: https://github.com/JanchEwgen/MQTT-SberGate
Инструкция по подключению и настройке аддона довольно скудная, поэтому пришлось повникать самостоятельно. Ниже - последовательность действий для подключения аддона, действительная на начало мая 2024 г. Как это часто бывает - по прошествии времени инструкция может стать неактуальной, поэтому обязательно ознакомьтесь с первоисточником.
Итак, поехали. Первое, что нам надо -
Регистрация в Studio
Переходим на портал разработчика Сбер, он же Studio - https://developers.sber.ru/studio/registration, и регистрируем себе учётную запись:
После успешной регистрации на главной панели будет кнопка "Создать проект", откроется всплывающее окно, где нужно пролистать, найти и выбрать Smart Home MQTT:
Как-нибудь назовём наш проект:
И создадим контроллер, к которому и будем подключаться в итоге:
Готово, вот такая запись теперь у нас есть в кабинете:
Следующий шаг:
Добавляем аддон в HomeAssistant.
Ещё раз подчеркну - это не интеграция! Её нельзя добавить через HACS, должен быть установлен менеджер аддонов - Supervisor.
Заходим в дополнения, добавляем кастомный репозиторий https://github.com/JanchEwgen/MQTT-SberGate
После добавления репозитория новый аддон в списке доступных у меня появился не сразу, можно попробовать перезапустить HA или просто подождать. Когда новый аддон появится в списке - установить его.
Пока не запускаем! Нам нужны все реквизиты для работы аддона - токен доступа в HA, логин и пользовательский пароль контроллера Сбер.
Создаём долгосрочный токен (Профиль - Безопасность):
А вот теперь настраиваем брокер MQTT-Sber:
- ha-api_url: копируем из адресной строки браузера.
- ha-api_token: вставляем значение долгосрочного токена доступа, созданного ранее
- sber-mqtt_broker: mqtt-partners.iot.sberdevices.ru
- sber-mqtt_broker_port: 8883
- sber-mqtt_login: логин контроллера, созданного в Studio
- sber-mqtt_password: пароль контроллера (не пользовательский!)
- sber-http_api_endpoint: адрес MQTT-сервера умного дома Sber, указан в контроллере в Studio
Сохраняем и запускаем. Смотрим журнал, чтобы было написано, что брокер запущен корректно.
Подключаем облако к Салюту
Возвращаемся в Studio, заходим в свой контроллер, находим и жмём кнопку "Сгенерировать" в колонке Пользовательский пароль, сохраняем полученное значение.
В Салюте заходим в Устройства - плюсик - Устройства других производителей. Листаем в самый низ и выбираем "Подключить готовый умный дом", где вводим пользовательский пароль из Studio и - там ничего нет! А всё потому, что нужно включить видимость устройств для Сбера.
Возвращаемся в аддон MQTT-Sber и запускаем веб-интерфейс, протыкиваем галочки у устройств, которые нужно прокинуть в Сбер. Возвращаемся в приложение, обновляем список устройств и - опа! - отмеченные устройства появились в Сбере! Перезагружать ничего не надо - добавляем галочки, убираем галочки - всё тут же показывается в Сбере. Это, кстати, классно.
Что работает, что нет
Из всего многообразия, которое есть у меня в HomeAssistant, для выбора в веб-интерфейсе аддона доступны:
- light.* - в Салюте видны как лампочки, можно включать и выключать, видно текущее состояние;
- switch.* - отображаются как коробочки реле, можно включать и выключать, видно текущее состояние;
- script.* - отображаются так же, коробочки реле. Можно включать, при этом в HA запускается скрипт. Текущее состояние не показывается, что логично, поскольку его нет - скрипт отработал и всё;
- input_boolean.* - отображается как кнопка, при этом её можно настроить на нажатие, двойное нажатие и долгое нажатие с запуском каких-то событий в Сбере. При этом состояние input_boolean в HA не меняется;
- sensor.* - прокидываются как показания, без возможности взаимодействия. Увы, но показывают у меня по нулям. И в веб-интерфейсе видны только сенсоры температуры, хотя если выбрать сенсор, принадлежащий, например, термогигрометру, то в Салюте отображается и значок температуры, и значок влажности. Но - по нулям.
- button.* - по непонятным мне причинам недоступны для выбора в веб-интерфейсе
Все остальные домены в HA так же не видны в веб-интерфейсе аддона.
В заключение
В принципе, для базовых задач, типа управления светом или запуска скриптов голосом, в текущем виде аддон вполне жизнеспособен. Можно насоздавать скриптов на все случаи жизни и они все будут доступны отдельными сущностями в Салюте. В большинстве случаев этого хватает. Строить сложную автоматику в окружении Салюта, имея полноценный сервер HomeAssistant, я не думаю что найдутся желающие.
Возможно, в будущем допилят что-то ещё и аддон будет ещё более полезен, а мои изыскания в этой сфере закончены, я понял, что есть жизнь на марсе с Салютом, но менять религию пока не намерен.
Всем добра, пис, лайк, шер, подписка и телеграм.