Guide pour l'éclairage de la maison connectée
action.devices.types.LIGHT
: les appareils d'éclairage peuvent être allumés et éteints. Ils peuvent avoir des fonctionnalités supplémentaires, comme la diminution de la luminosité et la possibilité de changer de couleur.
Ce type indique que l'appareil reçoit l'icône Lumière, ainsi que certains synonymes et alias associés.
Fonctionnalités de l'appareil
Consultez la documentation sur les caractéristiques correspondantes pour connaître les détails de la mise en œuvre, tels que les attributs et les états que votre service doit accepter, et pour savoir comment créer des réponses EXECUTE et QUERY.
Caractéristiques obligatoires
Ces caractéristiques et commandes sont requises, le cas échéant.
Caractéristiques recommandées
Ces caractéristiques sont recommandées, le cas échéant pour votre appareil. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour mieux correspondre aux fonctionnalités existantes de votre produit.
Exigences de qualité
- Latence:elle doit être inférieure ou égale à 700 ms.
- Fiabilité:elle doit être supérieure ou égale à 97%.
Exemple d'appareil: lumière simple
Cette section contient des exemples de charges utiles d'intents représentant un "léger" commun basé sur le type d'appareil et les caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre implémentation, modifiez vos réponses en conséquence.
Exemple de réponse SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.LIGHT", "traits": [ "action.devices.traits.ColorSetting", "action.devices.traits.Brightness", "action.devices.traits.OnOff" ], "name": { "name": "Simple light" }, "willReportState": true, "attributes": { "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 6500 } }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Exemple de réponse QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": true, "brightness": 65, "color": { "temperatureK": 4000 } } } } }
Exemples de commandes EXECUTE
Couleur absolue
Pour en savoir plus sur les paramètres de commande, consultez la documentation de référence sur
action.devices.traits.ColorSetting
.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Warm White", "temperature": 3000 } } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "color": { "temperatureK": 3000 } } } ] } }
Luminosité absolue
Pour en savoir plus sur les paramètres de commande, consultez la documentation de référence sur
action.devices.traits.Brightness
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 65 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "brightness": 65 } } ] } }
Activé
Pour en savoir plus sur les paramètres de commande, consultez la documentation de référence sur
action.devices.traits.OnOff
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }