Przewodnik po inteligentnych bateriach
action.devices.types.FAUCET – dozowniki mogą wydawać płyny w różnych ilościach i w różnych ustawieniach. Baterie mogą mieć różne tryby, a każdy z nich ma własne ustawienia. Są one specyficzne dla kranika i interpretowane w uogólnionej formie.
Ten typ oznacza, że urządzenie otrzymuje ikonę kranu oraz powiązane synonimy i aliasy.
Funkcje urządzenia
Szczegóły implementacji, takie jak atrybuty i stany, które powinna obsługiwać Twoja usługa, oraz sposób tworzenia odpowiedzi EXECUTE i QUERY, znajdziesz w dokumentacji odpowiedniego cechy.
Zalecane cechy
Te cechy są zalecane, jeśli mają zastosowanie do Twojego urządzenia. Możesz jednak dowolnie łączyć wszystkie dostępne atrybuty, aby jak najlepiej dopasować je do istniejących funkcji produktu.
-
action.devices.traits.Dispense -
action.devices.traits.StartStop -
action.devices.traits.TemperatureControl
Przykładowe urządzenie: prosty kran
Ta sekcja zawiera przykładowe ładunki intencji reprezentujące typowy „kran” na podstawie typu urządzenia i cech wymienionych powyżej. Jeśli dodasz lub usuniesz cechy w swojej implementacji, odpowiednio zmodyfikuj odpowiedzi, aby odzwierciedlały 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.FAUCET", "traits": [ "action.devices.traits.Dispense", "action.devices.traits.TemperatureControl", "action.devices.traits.OnOff", "action.devices.traits.StartStop" ], "name": { "name": "Simple faucet" }, "willReportState": true, "attributes": { "supportedDispenseItems": [ { "item_name": "water_key", "item_name_synonyms": [ { "lang": "en", "synonyms": [ "Water" ] }, { "lang": "es", "synonyms": [ "Agua" ] }, { "lang": "fr", "synonyms": [ "Eau" ] } ], "supported_units": [ "TEASPOONS", "TABLESPOONS", "FLUID_OUNCES", "CUPS", "PINTS", "QUARTS", "GALLONS", "MILLILITERS", "LITERS", "DECILITERS" ], "default_portion": { "amount": 2, "unit": "CUPS" } } ], "supportedDispensePresets": [ { "preset_name": "cat_water_bowl_key", "preset_name_synonyms": [ { "lang": "en", "synonyms": [ "Cat water bowl", "Cat water dish", "Cat water cup" ] }, { "lang": "es", "synonyms": [ "Plato de agua para gato", "Bebedero para gato" ] }, { "lang": "fr", "synonyms": [ "Bol d'eau de chat", "Bac \u00e0 eau pour chat", "Tasse d'eau de chat" ] } ] } ], "temperatureRange": { "minThresholdCelsius": 25, "maxThresholdCelsius": 100 }, "temperatureUnitForUX": "F" }, "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, "on": false, "temperatureSetpointCelsius": 30, "isRunning": true, "isPaused": false, "dispenseItems": [ { "itemName": "water_key", "amountLastDispensed": { "amount": 2.5, "unit": "CUPS" }, "isCurrentlyDispensing": false } ] } } } }
Przykładowe polecenia EXECUTE
Wydawanie
Więcej informacji o parametrach polecenia znajdziesz w
action.devices.traits.Dispense.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.Dispense", "params": { "amount": 1, "unit": "CUPS", "item": "water_key" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "dispenseItems": [ { "itemName": "water_key", "amountLastDispensed": { "amount": 1, "unit": "CUPS" }, "isCurrentlyDispensing": true } ] } } ] } }
SetTemperature
Więcej informacji o parametrach polecenia znajdziesz w
action.devices.traits.TemperatureControl.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetTemperature", "params": { "temperature": 65 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "temperatureSetpointCelsius": 65 } } ] } }
OnOff
Więcej informacji o parametrach polecenia znajdziesz w
action.devices.traits.OnOff.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
StartStop
Więcej informacji o parametrach polecenia znajdziesz w
action.devices.traits.StartStop.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isRunning": true, "isPaused": false } } ] } }
PauseUnpause
Więcej informacji o parametrach polecenia znajdziesz w
action.devices.traits.StartStop.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.PauseUnpause", "params": { "pause": true } } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isRunning": false, "isPaused": true } } ] } }