אין הגבלה על תכונות שרוצים להוסיף לדגם המכשיר. אלו התכונות שהם לא קשורים לסוג מכשיר אחד בלבד, אפשר להשתמש בהם לפי בחירתכם.
זה התהליך להוספת תכונה ולטיפול בפקודה הנכנסת:
- קובעים איזו תכונה רוצים להוספה. 
- פותחים את הקובץ - pushtotalk.py.- cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc - nano pushtotalk.py 
- מוסיפים את בלוק הקוד הבא מתחת לבלוק הקיים ש מטפל בפקודה - 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.')
- מוצאים את המידע שדרוש לכל משתנה בבלוק הקוד שלמעלה. - command-name- מעבר לדף של התכונה הספציפית שלב 1 (לדוגמה, ColorTemperature) משתמשים בפקודה מהטבלה Device CommandS. - my-function- נותנים לפונקציית ה-handler את השם הרצוי. - parameter-name- בידקו שוב את פקודות המכשיר בדף של התכונה. כל פקודה מכילה פרמטר אחד או יותר שמשויכים אליו. הם רשומים בקטע - "params"בקטע EXECUTE בקשת JSON. יש להשתמש בשם הפרמטר המדויק. שימו לב: הם אובייקטים שמכילים פרמטרים אחרים. פשוט צריך להשתמש ברמה העליונה של האובייקט.- 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') 
- עדכון דגם המכשיר עם התכונה שהוספתם בשלב 1. 
- מריצים את קוד המקור שהשתנה. - cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc - python pushtotalk.py 
- מקישים על מקש Enter ומנסים שאילתה. - לדוגמה: - מגדירים את הבהירות ל-65%. - הפוך לכחול. 
