ממשקי ה-API של Home ל-iOS מציגים את כל המכשירים בסביבה העסקית של Google Home במודל נתונים מאוחד. מודל הנתונים הזה מכסה את כל סוגי המכשירים (מ-Google Nest או מיצרנים של צד שלישי), ללא קשר לטכנולוגיה הבסיסית של הבית החכם (כמו Matter או Cloud-to-cloud), ומספק ממשק API משותף ליצירת חוויות משתמש למפתחי smart home ולמפתחי אפליקציות לנייד.
סוגי מכשירים
סוגי המכשירים שמוצגים בממשקי ה-API של Home הם איחוד של מודלים של נתונים מסוג Matter ו-Cloud-to-cloud. חלק מהם נגזרים ישירות מ-Matter, חלקם הם הרחבה של סוגי המכשירים של Matter וחלקם נגזרים מ-Cloud-to-cloud.
סוגי המכשירים מכילים מאפיינים שמשמשים לשליטה ולניהול של מכשירים. בדומה לסוגים של מכשירים, המאפיינים נגזרים מאשכולות Matter וממאפייני Cloud-to-cloud, והם מוצגים בפורמט נפוץ שדומה לפורמט של אשכולות Matter. ב-Home APIs, מאפיינים שמבוססים על Matter נקראים מאפיינים ולא אשכולות.
לכן, סוגי המכשירים והמאפיינים שלהם בממשקי ה-API של Home מיועדים לשימוש ב-Matter-first. סוג מכשיר או מאפיין Matter מקבלים עדיפות על פני Cloud-to-cloud מקביל.
בקישור סוגי המכשירים הנתמכים ב-iOS מופיעה רשימה של סוגי המכשירים והמאפיינים שלהם.
מאפיינים
גרסאות Swift של מאפיינים נוצרות לשימוש ב-Home APIs, והן מכילות תכונות נוספות שספציפיות ל-Home APIs (לא נמצאות ב-Matter או ב-Cloud-to-cloud). לדוגמה, לכל מאפיין יש שיטות לבדיקת התמיכה של המאפיין במאפיין או בפקודה ספציפיים. המידע הזה שימושי כשרוצים לקבוע אם אפשר לבצע קריאה של מצב או פעולות מסוימות במכשיר של משתמש, כי לא כל המכשירים באותו סוג מכשיר צפויים לכלול את אותן תכונות.
כדי לייבא מאפיינים וסוגי מכשירים, מייבאים את המודול GoogleHomeTypes
לאפליקציה:
import GoogleHomeTypes
בנוסף, אפשר להשתמש ב-typealias
בשמות של מאפיינים וסוגים של מכשירים כדי לקצר את הקוד ולהימנע מהחזרה על שמות במרחב השמות:
import GoogleHomeTypes
typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType
אפשר להשתמש במאפיינים גם עם פעולות אוטומטיות, אבל יכול להיות שהשימוש בהם יהיה מוגבל, וחלק מהמאפיינים זמינים רק לפעולות אוטומטיות. בקישור הבא אפשר למצוא רשימה של המאפיינים שנתמכים ב-Automation API ב-iOS: תמיכה במאפיינים של Automation API ב-iOS.
הרכב של סוגי המכשירים
ממשקי ה-API של Home תומכים ברוב אשכולות האפליקציות של Matter בתור מאפיינים במודל הנתונים. מאפיינים שלא תואמים לשליטה במכשיר או למצבים שלו, ולא מציעים תועלת למשתמשי קצה, כמו קישור וקבוצות, לא נחשפים דרך ממשקי ה-API של Home.
לתכונות שמקורן בתכונות הבית החכם של Cloud-to-cloud יש בדרך כלל שם זהה ב-Cloud-to-cloud וב-Home APIs, כמו בדוגמה של OpenCloseTrait
. מאפיינים אחרים מיוצגים כתוספים למאפייני Matter, שנוצרים באמצעות תוספים Matter ספציפיים ליצרן. המאפיינים האלה פותרים את הבעיה של מאפיין smart home שבו הפונקציונליות מחולקת בין ה-SDK של Matter לבין הסביבה העסקית של Google Home. דוגמה ספציפית לכך היא סוגי המכשירים Google*
שמגיעים מ-Cloud-to-cloud אבל עדיין אין להם מקבילים ל-Matter.
סוגי המכשירים מורכבים ממאפיינים ממקור אחד או משני המקורות, Matter או Cloud-to-cloud.
לדוגמה, המאפיין FanDeviceType
מורכב משניהם וכולל שלושה מאפיינים:
- המאפיין
IdentifyTrait
Matter מספק את כל הפונקציונליות של המאפיין MatterIdentifyTrait
. - המאפיין
FanControlTrait
Matter מספק את כל הפונקציונליות של המאפיין MatterFanControlTrait
. - המאפיין Google
ExtendedFanControlTrait
מספק את כל הפונקציונליות של Google smart homeFanSpeedTrait
שלא מכוסה במאפייןFanControlTrait
Matter.
סוג ההרכבה הזה של המאפיינים מספק מודל גמיש לפונקציות מלאות של סוג המכשיר, ומבודד את מודלי הנתונים הבסיסיים של smart home.