Guide sur les baignoires connectées
action.devices.types.BATHTUB : les baignoires peuvent être remplies et vidées, éventuellement à des niveaux spécifiques si la baignoire le permet.
Ce type indique que l'appareil reçoit l'icône de baignoire, ainsi que certains synonymes et alias associés.
Fonctionnalités de l'appareil
Consultez la documentation de la caractéristique correspondante pour obtenir des informations sur l'implémentation, comme les attributs et les états que votre service doit prendre en charge, et sur la façon de créer des réponses EXECUTE et QUERY.
Traits recommandés
Ces caractéristiques sont recommandées, si elles s'appliquent à votre appareil. Toutefois, vous êtes libre de combiner les traits disponibles pour qu'ils correspondent au mieux aux fonctionnalités de votre produit.
Exemple d'appareil : baignoire simple
Cette section contient des exemples de charges utiles d'intent représentant une "baignoire" courante, en fonction du type d'appareil et des caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre implémentation, modifiez vos réponses en conséquence pour refléter ces changements.
Exemple de réponse SYNC
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.BATHTUB", "traits": [ "action.devices.traits.Fill", "action.devices.traits.TemperatureControl", "action.devices.traits.OnOff" ], "name": { "name": "Simple bathtub" }, "willReportState": true, "attributes": { "availableFillLevels": { "levels": [ { "level_name": "half_key", "level_values": [ { "level_synonym": [ "Half", "Halfway", "One half" ], "lang": "en" } ] } ], "ordered": false }, "temperatureRange": { "minThresholdCelsius": 25, "maxThresholdCelsius": 100 }, "temperatureUnitForUX": "F" }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Exemple de réponse QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": false, "currentFillLevel": "half_key", "isFilled": true, "temperatureSetpointCelsius": 30 } } } }
Exemples de commandes EXECUTE
Remplissage
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.Fill.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.Fill", "params": { "fill": true, "fillLevel": "half_key" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true, "currentFillLevel": "half_key" } } ] } }
SetTemperature
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.TemperatureControl.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetTemperature", "params": { "temperature": 40 } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "temperatureSetpointCelsius": 40 } } ] } }
OnOff
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.OnOff.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }