Передача команд на изменение статуса (commands)
Обновлено 22 декабря 2024
Направление: облако → клиент.
Умный дом Sber отправляет приложению-агенту запрос на изменение состояния устройств.
Пример ситуации использования:
- Пользователь в приложении Салют, приложении СберБанк Онлайн, на SberPortal, SberBox или другом устройстве с ассистентом Салют изменяет состояние лампы, например выключает ее.
- Умный дом отправляет в приложение-агент на контроллере запрос на изменение состояния лампы.
- Агент транслирует запрос на контроллер, контроллер выключает лампу.
Формат сообщения
Топик:
sberdevices/v1/<username>/down/commands
Параметр | Тип | Обязательный? | Описание |
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 отправляет приложению-агенту на контроллере запрос на изменение состояния розетки.
Топик:
sberdevices/v1/1234567/down/commands
Тело сообщения:
{
"devices": {
"ABCD_003": {
"states": [
{
"key": "online",
"value": {
"type": "BOOL",
"bool_value": true
}
},
{
"key": "on_off",
"value": {
"type": "BOOL",
"bool_value": true
}
}
]
}
}
}