Przewodnik dotyczący czujników inteligentnego domu
action.devices.types.SENSOR
– jeden czujnik może pełnić wiele funkcji, np. monitorować temperaturę i wilgotność. Czujniki mogą przekazywać dane ilościowe (np. stężenie tlenku węgla i dymu mierzone w częściach na milion) oraz dane jakościowe (np. czy jakość powietrza jest zadowalająca czy nie).
Ten typ wskazuje, że urządzenie ma ikonę czujnika i niektóre powiązane synonimy i aliasy.
Funkcje urządzenia
Szczegółowe informacje o wdrożeniu, takie jak atrybuty i stany, które powinna obsługiwać usługa, oraz sposób tworzenia odpowiedzi na wywołania EXECUTE i QUERY, znajdziesz w dokumentacji odpowiedniego atrybutu.
Zalecane cechy
Te cechy są zalecane, jeśli dotyczą Twojego urządzenia. Możesz jednak dowolnie łączyć wszystkie dostępne cechy, aby jak najlepiej dopasować funkcje produktu do swoich potrzeb.
Sensory mogą też używać innych cech obejmujących dane, które mogą przekazywać, takich jak:
- HumiditySetting
- OpenClose
- TemperatureControl – do pomiaru temperatury w nietypowych warunkach (woda, temperatura powierzchni, wnętrze urządzenia).
- TemperatureSetting – do klimatu (powietrza otoczenia).
Wymagania dotyczące jakości
- Opóźnienie:nie może być większe niż 1000 ms.
- Niezawodność: musi być większa lub równa 97%.
Przykładowe urządzenie: prosty czujnik
Ta sekcja zawiera przykładowe dane intencji przedstawiające typ „Sensor” na podstawie wymienionych powyżej cech i typu urządzenia. Jeśli w swojej implementacji dodasz lub usuniesz cechy, odpowiednio zmodyfikuj odpowiedzi, aby uwzględnić 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
{ "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" } } } }