Guide des capteurs pour la maison connectée
action.devices.types.SENSOR : un seul capteur peut remplir plusieurs fonctions, comme surveiller la température et l'humidité. Les capteurs peuvent fournir des mesures quantitatives (par exemple, le niveau de monoxyde de carbone et de fumée mesuré en parties par million) et/ou qualitatives (par exemple, si la qualité de l'air est saine ou malsaine).
Ce type indique que l'appareil obtient l'icône de capteur, ainsi que certains synonymes et alias associés.
Fonctionnalités de l'appareil
Consultez la documentation de la caractéristique correspondante pour obtenir des informations sur l'implémentation, comme les attributs et les états que votre service doit prendre en charge, et sur la façon de créer des réponses EXECUTE et QUERY.
Traits recommandés
Ces caractéristiques sont recommandées, si elles s'appliquent à votre appareil. Toutefois, vous êtes libre de combiner les traits disponibles pour qu'ils correspondent au mieux aux fonctionnalités de votre produit.
Les capteurs peuvent également utiliser d'autres caractéristiques couvrant les données qu'ils peuvent signaler, telles que :
- HumiditySetting
- OpenClose
- TemperatureControl : à utiliser pour les températures non liées au climat (eau, température de surface, intérieur des appareils).
- TemperatureSetting : à utiliser pour les températures climatiques (air ambiant).
Exemple d'appareil : capteur simple
Cette section contient des exemples de charges utiles d'intent représentant un "capteur" courant, en fonction du type d'appareil et des caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre implémentation, modifiez vos réponses en conséquence pour refléter ces changements.
Exemple de réponse SYNC
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.SENSOR", "traits": [ "action.devices.traits.EnergyStorage", "action.devices.traits.OccupancySensing", "action.devices.traits.SensorState" ], "name": { "name": "Simple sensor" }, "willReportState": true, "attributes": { "sensorStatesSupported": [ { "name": "AirQuality", "descriptiveCapabilities": { "availableStates": [ "healthy", "moderate", "unhealthy", "very unhealthy" ] } } ], "queryOnlyEnergyStorage": true, "occupancySensorConfiguration": [ { "occupancySensorType": "PIR", "occupiedToUnoccupiedDelaySec": 10, "unoccupiedToOccupiedDelaySec": 10, "unoccupiedToOccupiedEventThreshold": 2 } ] }, "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, "currentSensorStateData": [ { "name": "AirQuality", "currentSensorState": "healthy" } ], "descriptiveCapacityRemaining": "HIGH", "capacityRemaining": [ { "unit": "PERCENTAGE", "rawValue": 90 } ], "occupancy": "OCCUPIED" } } } }