Руководство по использованию Smart Home Streaming Stick
action.devices.types.STREAMING_STICK - Это устройство имеет небольшой форм-фактор в виде стика и обычно питается от USB или HDMI-кабеля, подключенного к дисплею, например, телевизору.
Этот тип указывает на то, что устройство получает значок Streaming Stick, а также некоторые связанные с ним синонимы и псевдонимы.
Возможности устройства
Для получения подробной информации о реализации, такой как атрибуты и состояния, которые должна поддерживать ваша служба, а также о том, как формировать ответы EXECUTE и QUERY, обратитесь к соответствующей документации по трейту.
Необходимые характеристики
Эти параметры и команды необходимы, если они применимы к вашему устройству. Если ваше устройство не поддерживает эти параметры, введите код ошибки functionNotSupported в ответ на запрос или команду EXECUTE. Дополнительную информацию см. в разделе «Ошибки и исключения» .
-
action.devices.traits.AppSelector -
action.devices.traits.MediaState -
action.devices.traits.TransportControl -
action.devices.traits.Volume
Рекомендуемые характеристики
Эти характеристики рекомендуются, если они применимы к вашему устройству. Однако вы можете свободно комбинировать все доступные характеристики, чтобы наилучшим образом соответствовать функциональности вашего существующего продукта.
Пример устройства: простой стриминговый стик
This section contains example intent payloads representing a common "Streaming Stick" based on the device type and traits above. If you add or remove traits in your implementation, modify your responses accordingly to reflect those changes.
Пример ответа SYNC
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.STREAMING_STICK", "traits": [ "action.devices.traits.AppSelector", "action.devices.traits.MediaState", "action.devices.traits.TransportControl", "action.devices.traits.Volume" ], "name": { "name": "Simple streaming stick" }, "willReportState": true, "attributes": { "availableApplications": [ { "key": "youtube", "names": [ { "name_synonym": [ "YouTube" ], "lang": "en" } ] } ], "transportControlSupportedCommands": [ "NEXT", "PREVIOUS", "PAUSE", "STOP", "RESUME" ], "volumeMaxLevel": 11, "volumeCanMuteAndUnmute": true, "supportActivityState": true, "supportPlaybackState": true }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Пример ответа на запрос
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "currentApplication": "youtube", "currentVolume": 10, "isMuted": false, "activityState": "ACTIVE", "playbackState": "PAUSED" } } } }
Примеры команд EXECUTE
установить приложение
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.AppSelector .
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appInstall", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
поиск приложений
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.AppSelector .
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appSearch", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
appSelect
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.AppSelector .
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appSelect", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
mediaClosedCaptioningOff
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.TransportControl .
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOff" } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaClosedCaptioningOn
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.TransportControl .
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOn", "params": { "closedCaptioningLanguage": "en" } } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaNext
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.TransportControl .
{ "requestId": "6894439706274654526", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaNext" } ] } ] } } ] }
{ "requestId": "6894439706274654526", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "FAST_FORWARDING" } } ] } }
медиапауза
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.TransportControl .
{ "requestId": "6894439706274654528", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPause" } ] } ] } } ] }
{ "requestId": "6894439706274654528", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PAUSED" } } ] } }
медиаПредыдущая
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.TransportControl .
{ "requestId": "6894439706274654530", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPrevious" } ] } ] } } ] }
{ "requestId": "6894439706274654530", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "REWINDING" } } ] } }
медиаРезюме
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.TransportControl .
{ "requestId": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaResume" } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
медиаСтоп
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.TransportControl .
{ "requestId": "6894439706274654534", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaStop" } ] } ] } } ] }
{ "requestId": "6894439706274654534", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "STOPPED" } } ] } }
немой
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.Volume .
{ "requestId": "6894439706274654538", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mute", "params": { "mute": true } } ] } ] } } ] }
{ "requestId": "6894439706274654538", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 10, "isMuted": true } } ] } }
setVolume
Дополнительные сведения о параметрах команды см. в справочнике action.devices.traits.Volume .
{ "requestId": "6894439706274654536", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.setVolume", "params": { "volumeLevel": 11 } } ] } ] } } ] }
{ "requestId": "6894439706274654536", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 11, "isMuted": false } } ] } }