הוספת תכונות ורכיבי handler נוספים

אין הגבלה על מספר התכונות שניתן להוסיף לדגם המכשיר. התכונות האלה לא קשורות רק לסוג מכשיר אחד, ואפשר להשתמש בהן בכל צורה שתרצו.

זה התהליך להוספת תכונה ולטיפול בפקודה הנכנסת:

  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). השתמש בפקודה מהטבלה COMMANDS במכשיר.
    my-functionנותנים שם לפונקציה של ה-handler למה שרוצים.
    parameter-nameהבט שוב בטבלה COMMANDS המכשיר בדף trait. לכל פקודה משויך פרמטר אחד או יותר. הם רשומים תחת "params" ב-JSON של בקשת EXECUTE. יש להשתמש בשם המדויק של הפרמטר. שימו לב שחלק מהפרמטרים האלה הם אובייקטים שמכילים פרמטרים אחרים. יש להשתמש באובייקט שברמה העליונה.
    conditionalלא חובה להשתמש באופן בלעדי בקוד של ה-handler, אבל הוא יכול לעזור להבדיל בין האופן שבו מריצים את הפקודה במכשיר.

    ריכזנו כאן כמה דוגמאות למאפיינים של בהירות ו-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. מעדכנים את דגם המכשיר עם התכונה שהוספתם בשלב 1.

  6. מריצים את קוד המקור שהשתנה.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. צריך להקיש על מקש Enter ולנסות שאילתה.

    לדוגמה:

    מגדירים את הבהירות ל-65%.

    צבעו כחול.

השלב הבא

רישום פעולות מותאמות אישית במכשיר