Panduan Kamera Smart Home
action.devices.types.CAMERA
- Kamera memiliki fungsi yang kompleks dan fiturnya akan sangat bervariasi antar-vendor. Seiring waktu, kamera akan mendapatkan banyak ciri dan atribut yang mendeskripsikan kemampuan tertentu, banyak di antaranya yang dapat berinteraksi dengan streaming video/audio dengan cara khusus, seperti mengirim streaming ke perangkat lain, mengidentifikasi isi streaming, memutar ulang feed, dll.
Jenis ini menunjukkan bahwa perangkat mendapatkan ikon Kamera dan beberapa sinonim dan alias yang terkait.
Kemampuan perangkat
Lihat dokumentasi karakteristik yang sesuai untuk detail implementasi, seperti atribut dan status yang harus didukung oleh layanan Anda, serta cara membuat respons EXECUTE dan QUERY.
Sifat yang diperlukan
Sifat dan perintah ini diperlukan, jika berlaku untuk perangkat Anda.
Persyaratan kualitas
- Latensi: harus kurang dari atau sama dengan 2000 md.
- Keandalan: harus lebih dari atau sama dengan 97%.
Contoh perangkat: Kamera sederhana
Bagian ini berisi contoh payload intent yang merepresentasikan "Kamera" umum berdasarkan jenis dan karakteristik perangkat di atas. Jika Anda menambahkan atau menghapus karakteristik dalam implementasi, ubah respons agar sesuai dengan perubahan tersebut.
Contoh respons SYNC
{ "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" } } ] } }
Contoh respons QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true } } } }
Contoh perintah EXECUTE
GetCameraStream
Untuk detail tambahan tentang parameter perintah, lihat referensi
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" } } ] } }
Perangkat ERRORS
Lihat daftar lengkap error dan pengecualian.resourceUnavailable
- Kegagalan apa pun yang terkait dengan menghasilkan URL streaming.