Przewodnik po inteligentnym domu
action.devices.types.SENSOR
– pojedynczy czujnik może obsługiwać wiele funkcji, takich jak monitorowanie temperatury i wilgotności czy temperatury i obłożenia. Czujniki mogą przekazywać informacje w sposób ilościowy – na przykład tlenku węgla i dymu mierzonego w częściach na milion – oraz pomiary jakościowe, np. dotyczące jakości powietrza.
Ten typ oznacza, że urządzenie otrzyma ikonę czujnika oraz kilka powiązanych synonimów i aliasów.
Funkcjonalność urządzenia
Zapoznaj się z odpowiednią dokumentacją cech, aby uzyskać szczegółowe informacje o implementacji, takie jak atrybuty i stany, które powinna obsługiwać Twoja usługa, oraz sposób tworzenia odpowiedzi EXECUTE i QUERY.
Cechy charakterystyczne
Te cechy są zalecane, jeśli mają zastosowanie w przypadku Twojego urządzenia. Możesz jednak swobodnie zestawiać ze sobą wszystkie cechy, aby jak najlepiej dopasować się do obecnych funkcji usługi.
-
action.devices.traits.SensorState
-
action.devices.traits.EnergyStorage
-
action.devices.traits.OccupancySensing
Czujniki mogą też wykorzystywać inne cechy obejmujące dane, które mogą być raportowane, takie jak:
Wymagania dotyczące jakości
- Opóźnienie: nie może przekraczać 1000 ms.
- Niezawodność: musi wynosić co najmniej 97%.
Przykład: proste czujniki
Ta sekcja zawiera przykładowe ładunki intencji reprezentujące typowy „czujnik” określony na podstawie typu urządzenia i wymienionych wyżej cech. Jeśli dodasz lub usuniesz cechy w implementacji, odpowiednio dostosuj swoje odpowiedzi, aby uwzględnić te zmiany.
Przykładowa odpowiedź dotycząca 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.SensorState" ], "name": { "name": "Simple sensor" }, "willReportState": true, "attributes": { "sensorStatesSupported": [ { "name": "AirQuality", "descriptiveCapabilities": { "availableStates": [ "healthy", "moderate", "unhealthy", "very unhealthy" ] } } ], "queryOnlyEnergyStorage": true }, "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 } ] } } } }