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

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

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

  1. בוחרים איזו תכונה רוצים להוסיף.

  2. פותחים את הקובץ hotword.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    nano hotword.py
  3. מוסיפים את בלוק הקוד הבא מתחת לבלוק הקיים שמטפל בפקודה action.devices.commands.OnOff (בלי למחוק את בלוק הקוד הקיים).

    if command == "action.devices.commands.command-name":
        if params['parameter-name']:
            if conditional:
                print('Something happened.')
            else:
                print('Something else happened.')
    
  4. מוצאים את המידע הדרוש לכל משתנה בקטע הקוד שלמעלה.

    command-nameעוברים לדף של התכונה הספציפית משלב 1 (לדוגמה, ColorTemperature). השתמש בפקודה מהטבלה COMMANDS במכשיר.
    parameter-nameהבט שוב בטבלה COMMANDS המכשיר בדף trait. לכל פקודה משויך פרמטר אחד או יותר. הם רשומים תחת "params" ב-JSON של בקשת EXECUTE. יש להשתמש בשם המדויק של הפרמטר. שימו לב שחלק מהפרמטרים האלה הם אובייקטים שמכילים פרמטרים אחרים. יש להשתמש באובייקט שברמה העליונה.
    conditionalלא חובה להשתמש באופן בלעדי בקוד של ה-handler, אבל הוא יכול לעזור להבדיל בין האופן שבו מריצים את הפקודה במכשיר.

    ריכזנו כאן כמה דוגמאות למאפיינים של בהירות ו-ColorTemperature:

    if command == "action.devices.commands.BrightnessAbsolute":
        if params['brightness']:
            if params['brightness'] > 50:
                print('brightness > 50')
            else:
                print('brightness <= 50')
    
    if command == "action.devices.commands.ColorAbsolute":
        if params['color']:
            if params['color'].get('name') == "blue":
                print('The color is blue.')
            else:
                print('The color is not blue.')
    
  5. מעדכנים את דגם המכשיר עם התכונה שהוספתם בשלב 1.

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

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    python hotword.py --device-model-id my-model
  7. אפשר לנסות שאילתה.

    Hey Google, set הבהירות to 65%.

    Ok Google, הפוך אותו לכחול.

השלב הבא

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