Anleitung zu Smart-Home-Sensoren
action.devices.types.SENSOR: Ein einzelner Sensor kann mehrere Funktionen erfüllen, z. B. sowohl Temperatur als auch Luftfeuchtigkeit messen. Sensoren können entweder quantitative (z. B. Kohlenmonoxid- und Rauchbelastung in ppm) oder qualitative Messungen (z. B. ob die Luftqualität gesund oder ungesund ist) oder beides melden.
Dieser Typ gibt an, dass das Gerät das Sensorsymbol und einige zugehörige Synonyme und Aliase erhält.
Gerätefunktionen
In der entsprechenden Trait-Dokumentation finden Sie Implementierungsdetails wie Attribute und Status, die Ihr Dienst unterstützen sollte, und Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.
Empfohlene Eigenschaften
Diese Merkmale werden empfohlen, sofern sie für Ihr Gerät zutreffen. Sie können jedoch alle verfügbaren Eigenschaften kombinieren, um die vorhandene Produktfunktionalität optimal abzubilden.
Sensoren können auch andere Merkmale verwenden, die Daten abdecken, die sie melden können, z. B.:
- HumiditySetting
- OpenClose
- TemperatureControl: Für Temperaturen, die nicht mit dem Klima zusammenhängen (Wasser, Oberflächentemperatur, Geräteinneres).
- TemperatureSetting: Wird für Klimatemperaturen (Umgebungsluft) verwendet.
Beispielgerät: Einfacher Sensor
Dieser Abschnitt enthält Beispielnutzlasten für Intents, die einen gemeinsamen „Sensor“ basierend auf dem Gerätetyp und den oben genannten Eigenschaften darstellen. Wenn Sie Ihrer Implementierung Attribute hinzufügen oder daraus entfernen, müssen Sie Ihre Antworten entsprechend anpassen.
Beispiel für eine SYNC-Antwort
{
"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" } } ] } }
Beispiel für eine QUERY-Antwort
{ "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" } } } }