פרטי המכשיר

ספקים יכולים לשלוח למחפש מידע על המכשיר באמצעות זרם ההודעות.

שם קבוצת ההודעות ערך
אירוע פרטי מכשיר 0x03
שם הקוד של פרטי המכשיר ערך
מזהה דגם 0x01
כתובת ה-BLE עודכנה 0x02
הסוללה עודכנה 0x03
הזמן שנותר לסוללה 0x04
בקשה לרכיבים פעילים 0x05
תשובה לגבי רכיבים פעילים 0x06
(הוצא משימוש) יכולות 0x07
סוג הפלטפורמה 0x08
גרסת הקושחה 0x09
מזהה זמני נוכחי של FHN 0x0B

מזהה דגם

פרטי מזהה המודל (במקרה של Retroactively Writing AccountKey) צריכים להישלח אל Seeker כשמתבצעת התחברות ל-Message Stream. לדוגמה, 0x03010003AABBCC יהיה:

  • ‫0x03: אירוע פרטי מכשיר
  • ‫0x01: ערך מזהה המודל
  • ‫0x0003: נתונים נוספים, אורך 3
  • ‫0xAABBCC: נתונים נוספים, מזהה מודל

כתובת BLE

פרטי כתובת BLE (לכתיבה רטרואקטיבית של AccountKey), אם הספק יכול להשיג אותם, יישלחו גם אל המשתמש שמחפש את המכשיר כשהחיבור של Message Stream מתבצע ובכל פעם שהכתובת מתחלפת. לדוגמה, 0x03020006AABBCCDDEEFF יהיה:

  • ‫0x03: אירוע פרטי מכשיר
  • ‫0x02: ערך כתובת BLE
  • ‫0x0006: נתונים נוספים, אורך 6
  • ‫0xAABBCCDDEEFF: נתונים נוספים, כתובת BLE

הסוללה עודכנה

בספקי שירות שתומכים בהתראות על הסוללה, אפשר לשלוח את פרטי הסוללה גם באמצעות Message Stream. כשמתבצע חיבור של Message Stream או כשערך הסוללה משתנה, צריך לשלוח עדכון. כשמפרסמים נתוני סוללה באמצעות BLE, בקטע הנתונים הנוספים של החבילה צריכים להיות נתונים זהים לנתונים בבייטים s + 2,‏ s + 3,‏ s + 4. לדוגמה, 0x0303000357417F יהיה:

  • ‫0x03: אירוע פרטי מכשיר
  • ‫0x03: ערך הסוללה
  • ‫0x0003: נתונים נוספים, אורך 3
  • ‫0x57417F: נתונים נוספים, ערכי סוללה
    • ‫0x57: ערך האוזנייה השמאלית, לא בטעינה, 87% סוללה
    • ‫0x41: ערך האוזנייה הימנית, לא בטעינה, 65% סוללה
    • ‫0x7F: ערך המארז, לא בטעינה, סוללה לא ידועה

הספקים יכולים גם לעדכן את הזמן שנותר עד שהסוללה תיגמר (אם ידוע), לדוגמה, ‫0x03040001F0 יהיה:

  • ‫0x03: אירוע פרטי מכשיר
  • ‫0x04: הזמן שנותר לסוללה
  • ‫0x0001: נתונים נוספים, אורך 1 (יכול להיות 2 עבור uint16 אם צריך).
  • ‫0xF0: נתונים נוספים, זמן הסוללה שנותר בדקות, 240 דקות

רכיבים פעילים

לפעמים, אנשים שמחפשים עזרה רוצים לדעת אילו רכיבים פעילים כרגע, כלומר אפשר לבצע בהם פעולה (ראו פעולות במכשיר). כשהספק מקבל בקשה שמכילה את הקוד active components request (0x05), הוא צריך להחזיר תגובה תוך שנייה אחת שמציינת את המצב הנוכחי של הספק. התשובה תשתמש בקוד התגובה של הרכיבים הפעילים (0x06) ותכיל נתונים נוספים שמציינים אילו רכיבים זמינים.

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

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

  • ‫0x00 (0b00000000): אף אחד מהניצנים לא פעיל
  • ‫0x01 (0b00000001): האוזנייה הימנית פעילה, האוזנייה השמאלית לא פעילה
  • ‫0x02 (0b00000010): האוזנייה השמאלית פעילה, האוזנייה הימנית לא פעילה
  • ‫0x03 (0b00000011): שתי האוזניות פעילות

סוג פלטפורמה

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

ההודעה תכיל את הבייט הראשון שמזהה את סוג הפלטפורמה בנתונים הנוספים:

שם הפלטפורמה ערך
Android 0x01

הבייט השני יותאם אישית לכל פלטפורמה. ב-Android, הערך הזה מתייחס לגרסת ה-SDK. לדוגמה, ל-Android Pie יהיה ערך של 28 (0x1C).

גרסת הקושחה

גרסת הקושחה של הספק כמחרוזת בקידוד utf-8. זה אותו מידע שמופיע במאפיין של עדכון הקושחה.

מזהה זמני נוכחי של FHN

ספקים שמפרסמים פריימים של FHN צריכים לדווח על המזהה האפמרי הנוכחי של FHN ‏ (EID) עם ערך השעון הנוכחי שלהם כדי לבצע סנכרון עם המכשיר המחפש במקרה של סחיפת שעון (לדוגמה, בגלל סוללה ריקה).

לדוגמה:

  • ‫0x03: אירוע פרטי מכשיר
  • ‫0x0B: הודעה עם מזהה זמני של FHN
  • ‫0x0018: נתונים נוספים, אורך 24 או 36 בייט
  • ‫0x13F9EA80: נתונים נוספים (ערך השעון; 4 בייטים)
  • ‫0x1122334455667788990011223344556677889900: נתונים נוספים (מספר EID נוכחי;‏ 20 או 32 בייט)