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