Guida alla videocamera per la smart home
action.devices.types.CAMERA
- Le fotocamere sono complesse e le funzionalità variano notevolmente tra i fornitori. Nel corso del tempo, le videocamere acquisiranno molti tratti e attributi che descrivono capacità specifiche, molte delle quali possono interagire con lo stream video/audio in modi speciali, come l'invio di uno stream su un altro dispositivo, l'identificazione dei contenuti in streaming, la riproduzione di feed e così via.
Questo tipo indica che il dispositivo visualizza l'icona Fotocamera e alcuni sinonimi e alias correlati.
Funzionalità del dispositivo
Fai riferimento alla documentazione sulle trait corrispondente per i dettagli sull'implementazione, ad esempio gli attributi e gli stati che il tuo servizio dovrebbe supportare, e come creare risposte EXECUTE e QUERY.
Trait obbligatori
Questi trait e comandi sono obbligatori, se applicabile al tuo dispositivo. Se il tuo dispositivo non supporta questi trait, inserisci il codice di errore di functionNotSupported
in una risposta QUERY o EXECUTE. Per ulteriori informazioni, consulta Errori ed eccezioni.
Requisiti di qualità
- Latenza: deve essere inferiore o uguale a 2000 ms.
- Affidabilità:deve essere superiore o uguale al 97%.
Esempio di dispositivo: fotocamera semplice
Questa sezione contiene payload di intent di esempio che rappresentano una "Fotocamera" comune in base al tipo di dispositivo e ai trait indicati sopra. Se aggiungi o rimuovi i trait nell'implementazione, modifica le risposte di conseguenza per riflettere queste modifiche.
Esempio di risposta 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" } } ] } }
Esempio di risposta QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true } } } }
Esempi di comandi EXECUTE
GetCameraStream
Per maggiori dettagli sui parametri del comando, consulta la pagina di riferimento
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" } } ] } }
ERRORS dispositivo
Consulta l'elenco completo di errori ed eccezioni.resourceUnavailable
: qualsiasi errore relativo alla generazione dell'URL dello stream.