Przewodnik po czujnikach inteligentnego domu
action.devices.types.SENSOR
– jeden czujnik może realizować wiele funkcji, takich jak monitorowanie temperatury i wilgotności. Czujniki mogą podawać zarówno wartości ilościowe, jak i obie te wartości – np. stężenie tlenku węgla i dymu mierzonego cząstek na milion – oraz pomiary jakościowe (np. czy jakość powietrza jest zła lub zła).
Ten typ oznacza, że urządzenie zobaczy ikonę czujnika oraz pewne powiązane synonimy i aliasy.
Funkcje urządzenia
W dokumentacji odpowiedniej cechy znajdziesz szczegółowe informacje o implementacji, takie jak atrybuty i stany, które powinna obsługiwać Twoja usługa, oraz sposoby tworzenia odpowiedzi EXECUTE i QUERY.
Zalecane cechy
Te cechy są zalecane, jeśli korzystasz z Twojego urządzenia. Możesz jednak łączyć i dopasowywać różne cechy, aby najlepiej pasowały do dotychczasowych funkcji produktu.
Czujniki mogą też używać innych cech dotyczących danych, które mogą zgłaszać:
Wymagania dotyczące jakości
- Czas oczekiwania: nie może przekraczać 1000 ms.
- Niezawodność: musi wynosić co najmniej 97%.
Przykładowe urządzenie: zwykły czujnik
Ta sekcja zawiera przykładowe ładunki intencji reprezentujące wspólny „czujnik” na podstawie typu urządzenia i cech określonych powyżej. Jeśli dodasz lub usuniesz cechy w implementacji, zmodyfikuj odpowiedzi, by odzwierciedlić te zmiany.
Przykładowa odpowiedź 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" } } ] } }
Przykładowa odpowiedź na zapytanie 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" } } } }