ویژگی ها و کنترل کننده های بیشتری را اضافه کنید

شما می توانید هر تعداد ویژگی که می خواهید به مدل دستگاه خود اضافه کنید. این ویژگی‌ها تنها به یک نوع دستگاه مرتبط نیستند، می‌توانید هر طور که می‌خواهید از آنها استفاده کنید.

این فرآیند برای افزودن هر صفت و مدیریت دستور ورودی است:

  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 از مرحله 1 به صفحه ویژگی خاص بروید (به عنوان مثال، ColorTemperature ). از یک دستور از جدول Device COMMANDS استفاده کنید.
    my-function نام عملکرد کنترلر خود را هر چه می خواهید بگذارید.
    parameter-name دوباره به جدول Device COMMANDS در صفحه ویژگی نگاه کنید. هر دستور دارای یک یا چند پارامتر مرتبط با آن است. اینها در زیر "params" در JSON درخواست EXECUTE فهرست شده اند. از نام پارامتر دقیق استفاده کنید. توجه داشته باشید که برخی از این پارامترها اشیایی هستند که حاوی پارامترهای دیگری هستند - فقط از شی سطح بالا استفاده کنید.
    conditional شما به شدت نیازی به استفاده از یک شرطی در کد کنترل کننده خود ندارید، اما ممکن است به تمایز نحوه اجرای دستور در دستگاه کمک کند.

    در اینجا چند مثال برای صفات روشنایی و دمای رنگ آورده شده است:

    @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٪ تنظیم کنید.

    آن را آبی کنید.

گام بعدی

ثبت اقدامات دستگاه سفارشی