Panduan Kamera Smart Home
action.devices.types.CAMERA - Kamera itu rumit dan fitur akan sangat bervariasi antar-vendor. Seiring waktu, kamera akan memiliki banyak karakteristik dan atribut yang menjelaskan kemampuan tertentu, yang sebagian besar dapat berinteraksi dengan streaming video/audio dengan cara khusus, seperti mengirimkan streaming ke perangkat lain, mengidentifikasi apa yang ada dalam streaming, memutar ulang feed, dll.
Jenis ini menunjukkan bahwa perangkat mendapatkan ikon Kamera dan beberapa sinonim dan alias terkait.
Kemampuan perangkat
Lihat dokumentasi karakteristik yang sesuai untuk mengetahui detail penerapan, seperti atribut dan status yang harus didukung layanan Anda, serta cara membuat respons EXECUTE dan QUERY.
Ciri-ciri yang diperlukan
Perintah dan sifat 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 mengetahui info selengkapnya.
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 ciri dalam penerapan, ubah respons Anda dengan tepat 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 mengetahui 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" } } ] } }
KESALAHAN Perangkat
Lihat daftar lengkap error dan pengecualian.resourceUnavailable- Kegagalan apa pun yang terkait dengan pembuatan URL streaming.