Guide des capteurs pour la maison connectée

action.devices.types.SENSOR : un même capteur peut remplir plusieurs fonctions, par exemple surveiller la température et l'humidité. Les capteurs peuvent indiquer des mesures quantitatives ou les deux (par exemple, les niveaux de monoxyde de carbone et de fumée mesurés en parties par million) et des mesures qualitatives (comme si la qualité de l'air est saine ou mauvaise).

Ce type indique que l'appareil reçoit l'icône du capteur, ainsi que des synonymes et alias associés.

Fonctionnalités de l'appareil

Reportez-vous à la documentation sur les caractéristiques correspondantes pour obtenir des détails sur l'implémentation, tels que les attributs et les états que votre service doit prendre en charge, et pour découvrir comment créer des réponses EXECUTE et QUERY.

Ces caractéristiques sont recommandées, si elles s'appliquent à votre appareil. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour qu'elles 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, par exemple:

Exigences de qualité

  • Latence:doit être inférieure ou égale à 1 000 ms.
  • Fiabilité:la valeur doit être supérieure ou égale à 97%.

Exemple d'appareil: capteur simple

Cette section contient des exemples de charges utiles d'intent représentant un "capteur" 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 pour refléter ces modifications.

Exemple de réponse SYNC

Demander
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Réponse
{
  "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

Demander
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "currentSensorStateData": [
          {
            "name": "AirQuality",
            "currentSensorState": "healthy"
          }
        ],
        "descriptiveCapacityRemaining": "HIGH",
        "capacityRemaining": [
          {
            "unit": "PERCENTAGE",
            "rawValue": 90
          }
        ],
        "occupancy": "OCCUPIED"
      }
    }
  }
}

ERREURS sur l'appareil

Consultez la liste complète des erreurs et exceptions.