Передача статуса устройств (status)
Обновлено 15 июля 2025
Направление: клиент → облако.
Приложение-агент уведомляет умный дом Sber об изменении состояния устройства.
Пример ситуации использования:
- Состояние функции устройства по какой-то причине изменилось. Например, лампочку вручную выключили.
- Агент получает от контроллера актуальное состояние устройства и отправляет сообщение с этим состоянием. Отправка сообщения может быть инициирована как самостоятельно, так и в ответ на сообщение умного дома sberdevices/v1/<username>/down/status_request.
- Умный дом Sber получает новое состояние устройства и актуализирует его в приложении Салют, приложении СберБанк Онлайн, на SberBox и других устройствах с ассистентом Салют.
Формат сообщения
Топик:
sberdevices/v1/<username>/up/status
| Параметр | Тип | Обязательный? | Описание | 
| username | string | ✔︎ | Логин, с которым осуществляется подключение к MQTT-серверу Sber (см. раздел Получение данных для подключения агента к облаку) | 
Тело сообщения:
| Поле | Тип | Обязательное? | Описание | 
| 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
                    }
                }
            ]
        }
    }
}