ज़्यादा एट्रिब्यूट और हैंडलर जोड़ना

अपने डिवाइस मॉडल में जितने चाहें उतने एट्रिब्यूट जोड़े जा सकते हैं. ये विशेषताएं न सिर्फ़ एक डिवाइस टाइप के लिए, बल्कि आप उनका अपने हिसाब से इस्तेमाल कर सकते हैं.

किसी विशेषता को जोड़ने और आने वाले निर्देश को हैंडल करने की प्रक्रिया:

  1. तय करें कि आपको कौनसी खूबी चाहिए जोड़ें.

  2. pushtotalk.py फ़ाइल खोलें.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. मौजूदा कोड ब्लॉक के तहत, यह कोड ब्लॉक जोड़ें action.devices.commands.OnOff निर्देश को हैंडल करता है (मौजूदा यूआरएल को न मिटाएं कोड ब्लॉक).

    @device_handler.command('action.devices.commands.command-name')
    def my-function(parameter-name):
        if conditional:
            logging.info('Something happened.')
        else:
            logging.info('Something else happened.')
    
  4. ऊपर दिए गए कोड ब्लॉक में, हर वैरिएबल के लिए ज़रूरी जानकारी पाएं.

    command-nameइसके खास Trait पेज पर जाएं पहला चरण (उदाहरण के लिए, ColorTemperature). डिवाइस COMMANDS टेबल से किसी निर्देश का इस्तेमाल करें.
    my-functionअपने हैंडलर फ़ंक्शन को जो चाहें नाम दें.
    parameter-nameडिवाइस COMMANDS को पुनः देखें Trait पेज पर टेबल को व्यवस्थित करना ज़रूरी है. हर निर्देश में एक या उससे ज़्यादा पैरामीटर होते हैं से जुड़ी हुई हैं. ये EXECUTE में "params" के अंतर्गत सूचीबद्ध हैं JSON का अनुरोध करें. पैरामीटर का सटीक नाम इस्तेमाल करें. ध्यान दें कि इनमें से कुछ पैरामीटर ऐसे ऑब्जेक्ट होते हैं जिनमें अन्य पैरामीटर होते हैं - बस टॉप-लेवल ऑब्जेक्ट है.
    conditionalआपको कंडीशनल (शर्त के साथ) का इस्तेमाल करने की ज़रूरत नहीं है है, लेकिन इससे यह समझने में मदद मिल सकती है कि आप फ़ाइल को कैसे एक्ज़ीक्यूट करते हैं निर्देश देखें.

    यहां चमक के लक्षणों के कुछ उदाहरण दिए गए हैं और ColorTemperature:

    @device_handler.command('action.devices.commands.BrightnessAbsolute')
    def brightnessCheck(brightness):
        if brightness > 50:
            logging.info('brightness > 50')
        else:
            logging.info('brightness <= 50')
    
    @device_handler.command('action.devices.commands.ColorAbsolute')
    def color(color):
        if color.get('name') == "blue":
            logging.info('color is blue')
        else:
            logging.info('color is not blue')
    
  5. डिवाइस का मॉडल अपडेट करना के साथ उस एट्रिब्यूट को जोड़ना होगा जिसे आपने पहले चरण में जोड़ा था.

  6. बदला गया सोर्स कोड चलाएं.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Enter बटन दबाएं और क्वेरी चलाकर देखें.

    उदाहरण के लिए:

    चमक को 65% पर सेट करो.

    इसे नीले रंग का करें.

अगला चरण

कस्टम डिवाइस ऐक्शन रजिस्टर करना