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

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

इस प्रक्रिया में कोई भी trait जोड़ा जाता है और आने वाले कमांड को मैनेज किया जाता है:

  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-nameTrait पेज पर, डिवाइस के निर्देश टेबल पर फिर से देखें. हर निर्देश के साथ एक या उससे ज़्यादा पैरामीटर जुड़े होते हैं. इनकी सूची, EXECUTE अनुरोध JSON में "params" में दी गई है. पैरामीटर का सटीक नाम इस्तेमाल करें. ध्यान दें कि इनमें से कुछ पैरामीटर ऐसे ऑब्जेक्ट होते हैं जिनमें दूसरे पैरामीटर शामिल होते हैं - सिर्फ़ टॉप-लेवल ऑब्जेक्ट का इस्तेमाल करें.
    conditionalआपको अपने हैंडलर कोड में किसी कंडिशनल का इस्तेमाल करने की ज़रूरत नहीं है. हालांकि, डिवाइस पर निर्देश देने के तरीके को अलग करने से, आपको मदद मिल सकती है.

    यहां traits चमक और 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% पर सेट करो.

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

अगला कदम

डिवाइस पर की गई कस्टम कार्रवाइयाँ रजिस्टर करें