Hướng dẫn về loa nhà thông minh
action.devices.types.SPEAKER
– Thiết bị này là loa đã kết nối và không phân tách âm thanh thành các kênh riêng biệt (ví dụ: giữa hai thiết bị bên trái và bên phải).
Loại này cho biết thiết bị sẽ nhận được biểu tượng Loa và một số từ đồng nghĩa và bí danh liên quan.
Khả năng của thiết bị
Hãy tham khảo tài liệu về đặc điểm tương ứng để biết thông tin chi tiết về cách triển khai, chẳng hạn như các thuộc tính và trạng thái mà dịch vụ của bạn cần hỗ trợ, cũng như cách tạo phản hồi EXECUTE và QUERY.
Các đặc điểm bắt buộc
Bạn bắt buộc phải có các đặc điểm và lệnh này (nếu có trên thiết bị của bạn). Nếu thiết bị của bạn không hỗ trợ các đặc điểm này, hãy nhập mã lỗi functionNotSupported
trong phản hồi QUERY hoặc EXECUTE. Hãy xem phần Lỗi và ngoại lệ để biết thêm thông tin.
-
action.devices.traits.MediaState
-
action.devices.traits.OnOff
-
action.devices.traits.TransportControl
-
action.devices.traits.Volume
Các đặc điểm được đề xuất
Bạn nên sử dụng các đặc điểm này nếu thiết bị của bạn có hỗ trợ. Tuy nhiên, bạn có thể tự do kết hợp tất cả các đặc điểm có sẵn để phù hợp nhất với chức năng sản phẩm hiện có.
Yêu cầu về chất lượng
- Độ trễ: phải nhỏ hơn hoặc bằng 3000 mili giây.
- Độ tin cậy: phải lớn hơn hoặc bằng 97%.
Thiết bị mẫu: Loa đơn giản
Phần này chứa các tải trọng ý định mẫu đại diện cho một "Loa" phổ biến dựa trên loại thiết bị và các đặc điểm ở trên. Nếu bạn thêm hoặc xoá các đặc điểm trong quá trình triển khai, hãy sửa đổi các phản hồi cho phù hợp để phản ánh những thay đổi đó.
Phản hồi SYNC mẫu
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.SPEAKER", "traits": [ "action.devices.traits.MediaState", "action.devices.traits.OnOff", "action.devices.traits.Volume", "action.devices.traits.TransportControl" ], "name": { "name": "Simple speaker" }, "willReportState": true, "attributes": { "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" } } ] } }
Phản hồi QUERY mẫu
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": true, "currentVolume": 10, "isMuted": false, "activityState": "ACTIVE", "playbackState": "PAUSED" } } } }
Lệnh EXECUTE mẫu
OnOff
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.OnOff
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
tắt tiếng
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.Volume
.
{ "requestId": "6894439706274654534", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mute", "params": { "mute": true } } ] } ] } } ] }
{ "requestId": "6894439706274654534", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 10, "isMuted": true } } ] } }
setVolume
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.Volume
.
{ "requestId": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.setVolume", "params": { "volumeLevel": 11 } } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 11, "isMuted": false } } ] } }
mediaClosedCaptioningOff
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.TransportControl
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOff" } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaClosedCaptioningOn
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.TransportControl
.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOn", "params": { "closedCaptioningLanguage": "en" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaNext
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.TransportControl
.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaNext" } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "FAST_FORWARDING" } } ] } }
mediaPause
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.TransportControl
.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPause" } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PAUSED" } } ] } }
mediaPrevious
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.TransportControl
.
{ "requestId": "6894439706274654526", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPrevious" } ] } ] } } ] }
{ "requestId": "6894439706274654526", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "REWINDING" } } ] } }
mediaResume
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.TransportControl
.
{ "requestId": "6894439706274654528", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaResume" } ] } ] } } ] }
{ "requestId": "6894439706274654528", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaStop
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.TransportControl
.
{ "requestId": "6894439706274654530", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaStop" } ] } ] } } ] }
{ "requestId": "6894439706274654530", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "STOPPED" } } ] } }