Guide de mangeoire pour animaux de compagnie pour maison connectée
action.devices.types.PETFEEDER
: les interactions avec les distributeurs d'aliments pour animaux de compagnie peuvent inclure la distribution de nourriture ou d'eau pour animaux dans des quantités et des préréglages variés.
Ce type indique que l'appareil obtient l'icône de mangeur pour animaux de compagnie, ainsi que certains synonymes et alias associés.
Fonctionnalités de l'appareil
Reportez-vous à la documentation sur les fonctionnalités correspondantes pour obtenir des détails sur l'implémentation, tels que les attributs et les états que votre service doit prendre en charge, et pour découvrir comment créer des réponses EXECUTE et QUERY.
Traits obligatoires
Ces traits et commandes sont requis, le cas échéant. Si votre appareil n'est pas compatible avec ces traits, saisissez le code d'erreur de functionNotSupported
dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez la section Erreurs et exceptions.
Traits recommandés
Ces traits sont recommandés s'ils s'appliquent à votre appareil. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour correspondre au mieux aux fonctionnalités existantes de votre produit.
Exigences de qualité
- La latence doit être inférieure ou égale à 800 ms.
- Fiabilité: la valeur doit être supérieure ou égale à 97%.
Exemple d'appareil: distributeur simple pour animaux de compagnie
Cette section contient des exemples de charges utiles d'intent représentant un "alimentateur pour animaux" courant 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 modifications.
Exemple de réponse SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.PETFEEDER", "traits": [ "action.devices.traits.Dispense" ], "name": { "name": "Simple pet feeder" }, "willReportState": true, "attributes": { "supportedDispenseItems": [ { "item_name": "cat_food_key", "item_name_synonyms": [ { "lang": "en", "synonyms": [ "Cat food", "Kibble" ] } ], "supported_units": [ "OUNCES", "CUPS" ], "default_portion": { "amount": 1, "unit": "CUPS" } } ], "supportedDispensePresets": [ { "preset_name": "cat_meal_key", "preset_name_synonyms": [ { "lang": "en", "synonyms": [ "Normal meal", "Dinner" ] } ] } ] }, "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, "dispenseItems": [ { "itemName": "cat_food_key", "amountRemaining": { "amount": 6, "unit": "CUPS" }, "amountLastDispensed": { "amount": 2.5, "unit": "CUPS" }, "isCurrentlyDispensing": false } ] } } } }
Exemples de commandes EXECUTE
Distribution
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
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": "cat_food_key" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "dispenseItems": [ { "itemName": "cat_food_key", "amountRemaining": { "amount": 5, "unit": "CUPS" }, "amountLastDispensed": { "amount": 1, "unit": "CUPS" }, "isCurrentlyDispensing": true } ] } } ] } }