Передача статуса устройств (status)
Обновлено 22 декабря 2024
Направление: клиент → облако.
Приложение-агент уведомляет умный дом Sber об изменении состояния устройства.
Пример ситуации использования:
- Состояние функции устройства по какой-то причине изменилось. Например, лампочку вручную выключили.
- Агент получает от контроллера актуальное состояние устройства и отправляет сообщение с этим состоянием. Отправка сообщения может быть инициирована как самостоятельно, так и в ответ на сообщение умного дома sberdevices/v1/<username>/down/status_request.
- Умный дом Sber получает новое состояние устройства и актуализирует его в приложении Салют, приложении СберБанк Онлайн, на SberPortal, SberBox и других устройствах с ассистентом Салют.
Формат сообщения
Топик:
sberdevices/v1/<username>/up/status
Параметр | Тип | Обязательный? | Описание |
username | string | ✔︎ | Логин, с которым осуществляется подключение к MQTT-серверу Sber (см. раздел [Получение данных для подключения агента к облаку](/ru/smarthome/mqtt-diy/agent-authorization)) |
Тело сообщения:
Поле | Тип | Обязательное? | Описание |
devices | dict<string, object> | ✔︎ | Устройства, сведения о состоянии которых передаются. Для каждого устройства передаются ID устройства в системе вендора и состояние его функций |
ID | string | ✔︎ | ID устройства в системе вендора |
states | list<object> | ✔︎ | Список состояний (см. Состояние устройства (state)) |
{
"devices": {
"id1": {
"states": [
{
"key": string,
"value": {
"type": string,
"type_value": object
}
},
{
// ...
}
]
}
}
}
Пример сообщения
Приложение-агент на контроллере уведомляет умный дом Sber об изменении состояния функций online
и on_off
розетки.
Топик:
sberdevices/v1/1234567/up/status
Тело сообщения:
{
"devices": {
"ABCD_003": {
"states": [
{
"key": "online",
"value": {
"type": "BOOL",
"bool_value": true
}
},
{
"key": "on_off",
"value": {
"type": "BOOL",
"bool_value": true
}
}
]
}
}
}