स्मार्ट होम पेट फ़ीडर गाइड
action.devices.types.PETFEEDER - पालतू जानवरों को खाना देने वाले डिवाइसों के साथ इंटरैक्शन में, पालतू जानवरों को अलग-अलग मात्रा में और पहले से तय की गई सेटिंग के हिसाब से खाना या पानी देना शामिल हो सकता है.
इस टाइप से पता चलता है कि डिवाइस को Pet Feeder का आइकॉन और इससे जुड़े कुछ समानार्थी शब्द और अन्य नाम मिलते हैं.
डिवाइस की क्षमताएं
लागू करने से जुड़ी जानकारी के लिए, संबंधित ट्रेट का दस्तावेज़ देखें. जैसे, आपकी सेवा को किन एट्रिब्यूट और स्थितियों के साथ काम करना चाहिए और EXECUTE और QUERY के जवाब कैसे बनाने चाहिए.
ज़रूरी ट्रेट
अगर आपके डिवाइस पर ये सुविधाएं और कमांड लागू होती हैं, तो इनका इस्तेमाल करना ज़रूरी है. अगर आपका डिवाइस इन सुविधाओं के साथ काम नहीं करता है, तो QUERY या EXECUTE के जवाब में functionNotSupported का गड़बड़ी कोड डालें. ज़्यादा जानकारी के लिए, गड़बड़ियां और अपवाद देखें.
सुझाई गई विशेषताएं
अगर ये सुविधाएं आपके डिवाइस पर काम करती हैं, तो हम इन्हें इस्तेमाल करने का सुझाव देते हैं. हालांकि, आपके पास उपलब्ध सभी विशेषताओं को मिलाकर, अपने मौजूदा प्रॉडक्ट की सुविधाओं से सबसे ज़्यादा मेल खाने वाली विशेषताएं चुनने का विकल्प होता है.
डिवाइस का उदाहरण: पालतू जानवरों को खाना देने वाली सामान्य मशीन
इस सेक्शन में, डिवाइस के टाइप और ऊपर बताई गई सुविधाओं के आधार पर, "पालतू जानवरों को खाना खिलाने वाले डिवाइस" के लिए, इंटेंट पेलोड का उदाहरण दिया गया है. अगर आपने लागू करने के तरीके में कोई नई विशेषता जोड़ी है या कोई विशेषता हटाई है, तो उन बदलावों को दिखाने के लिए, अपनी प्रतिक्रियाओं में बदलाव करें.
सिंक के जवाब का उदाहरण
{
"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" } } ] } }
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 } ] } } } }
EXECUTE कमांड के उदाहरण
डिस्पेंस करना
कमांड पैरामीटर के बारे में ज़्यादा जानकारी के लिए,
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 } ] } } ] } }