Hướng dẫn về Camera nhà thông minh
action.devices.types.CAMERA
– Máy ảnh rất phức tạp và các tính năng sẽ khác nhau đáng kể giữa các nhà cung cấp. Theo thời gian, máy ảnh sẽ có nhiều đặc điểm và thuộc tính mô tả các chức năng cụ thể, nhiều trong số đó có thể tương tác với luồng video/âm thanh theo những cách đặc biệt, chẳng hạn như gửi luồng đến một thiết bị khác, xác định nội dung trong luồng, phát lại nguồn cấp dữ liệu, v.v.
Loại này cho biết thiết bị sẽ nhận được biểu tượng Máy ảnh 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.
Yêu cầu về chất lượng
- Độ trễ: phải nhỏ hơn hoặc bằng 2000 mili giây.
- Độ tin cậy: phải lớn hơn hoặc bằng 97%.
Ví dụ về thiết bị: Máy ảnh đơn giản
Phần này chứa các tải trọng ý định mẫu đại diện cho một "Máy ảnh" 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.CAMERA", "traits": [ "action.devices.traits.CameraStream" ], "name": { "name": "Simple camera" }, "willReportState": true, "attributes": { "cameraStreamSupportedProtocols": [ "hls", "progressive_mp4" ], "cameraStreamNeedAuthToken": true, "cameraStreamNeedDrmEncryption": false }, "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 } } } }
Lệnh EXECUTE mẫu
GetCameraStream
Để 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.CameraStream
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.GetCameraStream", "params": { "StreamToChromecast": true, "SupportedStreamProtocols": [ "progressive_mp4" ] } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "cameraStreamAccessUrl": "https://fluffysheep.com/baaaaa.mp4", "cameraStreamReceiverAppId": "1g2f89213hg", "cameraStreamAuthToken": "12657342190192783", "cameraStreamProtocol": "progressive_mp4" } } ] } }
LỖI thiết bị
Xem danh sách đầy đủ lỗi và ngoại lệ.resourceUnavailable
– Mọi lỗi liên quan đến việc tạo URL luồng.