הסרת מכשיר

הסרת מכשיר כוללת את הוצאתו משימוש במבנה. משתמש יכול לעשות את זה באמצעות Google Home app (GHA), ואפליקציה יכולה להוציא משימוש מכשיר לבית חכם באופן אוטומטי. יש מגבלות לגבי המכשירים שאפשר להסיר. בנוסף, הסרת מכשיר יכולה להשפיע על המבנה ועל חוויית המשתמש באפליקציה.

מה אפשר להסיר

אפשר להסיר את המכשירים הבאים באופן אוטומטי באמצעות ממשקי ה-API של Home:

  • Matter מכשירים שלגביהם לאפליקציה יש הרשאות.
  • גשרים של Matter, בתנאי שלאפליקציה שלכם יש גישה לכל המכשירים שמחוברים דרך הגשר. הסרת הגשר תגרום להסרה של כל המכשירים של Matter שמחוברים אליו.
  • מצלמות ופעמוני דלת נתמכים, כולל מצלמות ופעמוני דלת של Google Nest עם תמיכה ב-Matter, וגם מצלמות תואמות של שותפים. לפרטים על דגמים נתמכים ולא נתמכים, אפשר לעיין במאמר בנושא מצלמות ופעמוני דלת.

מה אי אפשר להסיר

אי אפשר להסיר את המכשירים הבאים באופן פרוגרמטי באמצעות ממשקי ה-API של Home:

  • Matter מכשירים שבהם לאפליקציה שלך חסרות הרשאות משתמש.
  • מכשירים פרטניים שמחוברים מאחורי גשר Matter.
  • Cloud-to-cloud מכשירים מקושרים.
  • מכשירים עם נתיב כפול שאינם מצלמות (מכשירים שמטמיעים גם Matter וגם Cloud-to-cloud, מלבד מצלמות ופעמוני דלת נתמכים).
  • מצלמות ופעמוני דלת שלא נתמכים, כולל מסכים חכמים עם מצלמות מובנות ומצלמות מדור קודם שלא תומכות ב-Matter (ראו מצלמות ופעמוני דלת).

שיקולים חשובים לפני הסרת מכשיר

כשהאפליקציה מסירה מכשיר, הוא מוסר מכל המבנה, וזה משפיע על כל המשתמשים וכל האפליקציות, כולל GHA. בהתאם לסוג המכשיר, יכול להיות שיהיו השפעות לוואי נוספות להוצאה משימוש של מכשיר:

  • אם מכשיר מספק כמה פונקציות, כמו נורת תאורה חכמה שמשמשת גם כרכזת, הסרתו תגרום להסרת כל המכשירים שמשויכים אליו. האפליקציה צריכה ליידע את המשתמש אם מושפעות כמה פונקציות במכשיר.
  • הסרה של מצלמה או פעמון דלת תגרום למחיקה סופית של כל היסטוריית וידאו מלאה, היסטוריית וידאו של אירועים, קטעי וידאו מוקלטים וספריית פנים מוכרות שמשויכים למצלמה הזו בכל בית וירטואלי.
  • הוצאה משירות של מצלמה לא מבטלת מינויים פעילים, כמו Google Home Premium או שירותי ניטור של שותפים. המינויים ממשיכים עד שהמשתמש מבטל אותם.
  • כשמוציאים משימוש מצלמה או פעמון, פלטפורמת Home APIs מציגה למשתמש מסך אישור שמנוהל על ידי Google, עם הסבר שהיסטוריית הסרטונים תימחק באופן סופי. המשתמש צריך לאשר את ההנחיה הזו לפני שהמכשיר יוסר.
  • חשוב להיזהר כשמוחקים מכשירים באזורי עבודה משותפים, כי לפעולה כזו יכולות להיות השלכות לא רצויות על משתמשים אחרים.
  • הסרת מכשיר צריכה להתבצע רק בממשקים מאומתים, כמו טלפון נייד, ולא במכשירים לא מאומתים כמו טלוויזיות. הפעולה הזו מהווה הפרה של המדיניות למפתחים של Google Home.

הסרת מכשיר

בדיקת הזכאות של מכשיר להסרה היא יקרה, ולכן צריך לבצע אותה רק כשנדרש. כדי לבדוק אם מכשיר עומד בדרישות להסרה, משתמשים בפקודה הבאה:

val eligibility = device.checkDecommissionEligibility()

if (eligibility is DecommissionEligibility.Ineligible) {
  println("The device cannot be decommissioned.")
} else if (eligibility is DecommissionEligibility.EligibleWithSideEffects) {
  println("The device can be decommissioned but there will be side effects on other devices.")
} else if (eligibility is DecommissionEligibility.Eligible) {
  println("The device can be decommissioned.")
}

מכשירים בתקן Matter

אפשר להסיר מכשיר Matter באופן אוטומטי אם המכשיר לא נמצא מאחורי גשר Matter.

כדי להסיר מכשיר Matter, מתקשרים אליו: decommissionDevice()

val decommissionedDeviceIds = device.decommissionDevice()

אם הקריאה לא מחזירה שגיאה, היא הצליחה.

אפשר לבדוק אם מזהה המכשיר מופיע בין המזהים שמוחזרים על ידי הפקודה decommissionDevice():

if (decommissionedDeviceIds.contains(deviceId)) {
  println("Decommission successful!")
} else {
  println("Decommission failed!")
}

מצלמות ופעמוני דלת

אפשר להסיר מצלמות ופעמוני דלת נתמכים באופן פרוגרמטי באמצעות decommissionDevice() .

המודלים הנתמכים כוללים:

  • Google Nest Cam (indoor, wired)
  • Google Nest Cam (outdoor or indoor, battery)
  • Google Nest Cam with floodlight
  • Google Nest Doorbell (battery)
  • Google Nest Doorbell (wired)
  • מצלמות ופעמוני דלת תואמים של שותפים (כמו Walmart onn.)

אי אפשר להוציא משימוש את המצלמות ופעמוני הדלת הבאים באופן אוטומטי:

  • מסכים חכמים עם מצלמות מובנות, כמו Google Nest Hub Max.
  • מצלמות Nest ופעמוני Nest Doorbell מדור קודם שלא תומכים ב-Matter ומתחברים רק דרך שירותי ענן, כמו Nest Cam Indoor (דור ראשון), Nest Cam Outdoor (דור ראשון), Nest Cam IQ ו-Nest Doorbell (עם חיבור קווי, דור ראשון).
  • מצלמות ופעמוני דלת מקושרים של צד שלישי Cloud-to-cloud.

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

אם המשתמש סוגר או מבטל את מסך האישור, ‫decommissionDevice() throws a HomeException.

הוצאה משימוש של מצלמה לא מבטלת מינויים פעילים למצלמה (כמו Google Home Premium). המשתמשים צריכים לבטל את המינויים בנפרד דרך ספק המינוי.

kotlin try { val decommissionedDeviceIds = device.decommissionDevice() if (decommissionedDeviceIds.contains(device.id)) { // Camera was successfully decommissioned } } catch (e: HomeException) { // Handle cancellation or decommission error }

מכשירים שלא תומכים בתקן Matter

אי אפשר להסיר מכשירים שאינם Matter (מלבד מצלמות ופעמוני דלת תומכים) באופן אוטומטי. כדי להסיר מכשירים אחרים שאינם מכשירי Matter, אפשר לשלוח בקשת סנכרון (ראו בקשת סנכרון) או למחוק את השילוב של Cloud-to-cloud (ראו מחיקת שילוב שהופעל בין ענן לענן).

אם מתקשרים אל decommissionDevice() במכשיר Matter שלא נתמך, מוצגת שגיאה HomeException.

אחרי שמסירים מכשיר שאינו Matter, בודקים אם המכשיר מופיע כדי לוודא שההסרה בוצעה בהצלחה:

var removedDevice: HomeDevice? = null
runBlockingCustom {
  try {
    removedDevice = homeManager.devices().get(deviceId)
  } catch (exception: Exception) {
    println("removal successful!")
  }
}
if (removedDevice != null) {
  println("removal failed!")
}