Panduan Kamera Smart Home
action.devices.types.CAMERA
- Kamera bersifat kompleks dan fitur akan bervariasi secara signifikan antar-vendor. Seiring waktu, kamera akan memiliki banyak sifat dan atribut yang menjelaskan kemampuan tertentu, banyak di antaranya dapat berinteraksi dengan streaming video/audio dengan cara khusus, seperti mengirimkan streaming ke perangkat lain, mengidentifikasi konten yang ada di streaming, memutar ulang feed, dll.
Jenis ini menunjukkan bahwa perangkat mendapatkan ikon Kamera serta beberapa sinonim dan alias terkait.
Kemampuan perangkat
Lihat dokumentasi trait yang sesuai untuk detail implementasi, seperti atribut dan status yang harus didukung layanan Anda, dan cara membuat respons EXECUTE dan QUERY.
Trait yang diperlukan
Sifat dan perintah ini diperlukan, jika berlaku untuk
perangkat Anda. Jika perangkat Anda tidak mendukung karakteristik ini, masukkan kode error
functionNotSupported
dalam respons QUERY atau EXECUTE. Lihat Error dan pengecualian untuk info selengkapnya.
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 yang sesuai untuk mencerminkan 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 pembuatan URL streaming.