קריאת העסקה
אחד מתרחישי השימוש הראשונים באינטראקציה עם צמתים ב-Matter הוא קריאה של מאפיין מצומת אחר, כמו ערך טמפרטורה מחיישן. באינטראקציות כאלה, הפעולה הראשונה שצריך לבצע היא פעולת בקשת הקריאה.
קריאת בקשה לפעולה
כיוון: יוזם -> יעד
בפעולה הזו, הגורם היוזם שולח שאילתה ליעד ומספק:
- בקשות למאפיינים: רשימה של אפס או יותר מאפיינים של היעד. הרשימה הזו מורכבת מאפס נתיבים או יותר למאפיינים המבוקשים של היעד.
- בקשות לאירועים: רשימה של אפס או יותר נתיבים לאירועים המבוקשים של היעד.
אחרי שהיעד יקבל את פעולת בקשת הקריאה, הוא ירכיב פעולת נתוני דוח עם המידע המבוקש.
דיווח על פעולה לגבי נתונים
כיוון: יעד -> יוזם
בפעולה הזו, המטרה מגיבה עם:
- Attribute Reports: רשימה של אפס או יותר מאפיינים שדווחו שנכללו בבקשת פעולת הקריאה.
- דוחות על אירועים: רשימה של אפס או יותר אירועים שדווחו.
- Suppress Response: דגל שקובע אם צריך להשבית את status response לפעולה הזו.
- מזהה מינוי: אם הדוח הזה הוא חלק מעסקת מינוי, הוא צריך לכלול מספר שלם שמשמש לזיהוי עסקת המינוי.
פעולת תגובה לסטטוס
כיוון: Target -> Initiator או Initiator -> Target
אחרי שהגורם היוזם מקבל את הנתונים המבוקשים, הוא צריך ליצור פעולת תגובה לסטטוס כברירת מחדל. הפעולה הזו נשלחת מהגורם היוזם, כאישור לקבלת הנתונים שדווחו. אם הדגל Suppress Status Response מוגדר, המפעיל לא יכול לשלוח את הפעולה Status Response.
אחרי שהפעולה Status Response נשלחת על ידי היוזם, או שהפעולה Report Data מתקבלת על ידי היוזם עם הדגל Suppress Response מופעל, השאילתה read/report מסתיימת.
פעולת התגובה של הסטטוס מכילה רק את השדה status שיאשר את הצלחת הפעולה או יציג קוד של כשל.
הגבלות קריאה
הפעולות Read Request Action ו-Report Data Action הן Unicast-only. בנוסף, יכול להיות שהנתיבים של הבקשות האלה לא יפנו לקבוצת צמתים.
הפעולה 'תגובת סטטוס' היא רק Unicast ולא ניתן ליצור אותה כתגובה לשידור קבוצתי.
עסקת מינוי
פעולה של בקשת הרשמה
כיוון: יוזם -> יעד
בנוסף לפעולת בקשת קריאה יחידה, יוזם יכול גם להירשם לעדכונים תקופתיים של מאפיין או אירוע. לכן, אותה פעולה של נתוני דוחות יכולה להיווצר כתוצאה מעדכוני נתונים תקופתיים שמתבצעים אחרי עסקת מינוי.
אינטראקציה של מינוי יוצרת קשר בין שני צמתים, שבו צומת היעד יוצר באופן תקופתי פעולות של נתוני דוחות לצומת היוזם. הגורם היוזם הוא המשתמש עם המינוי והיעד הוא בעל התוכן הדיגיטלי.
פעולה של בקשת הרשמה מכילה:
- Min Interval Floor: המרווח המינימלי בין דוחות.
- Max Interval Ceiling: המרווח המקסימלי בין דוחות.
- דוחות מאפיינים: רשימה של אפס או יותר מהמאפיינים המדווחים שנדרשו בבקשת פעולת הקריאה.
- דוחות אירועים: רשימה של אפס או יותר אירועים שדווחו.
אחרי בקשת המינוי, המטרה מגיבה ליוזם באמצעות פעולת נתוני דוח שמכילה את קבוצת הנתונים הראשונה שדווחה: הנתונים שפורסמו אחרי ההכנה.
היוזם מאשר את פעולת הנתונים בדוח באמצעות תגובת סטטוס הפעולה נשלחה ליעד. אחרי שרכיב היעד מקבל פעולה של תגובת סטטוס שמדווחת על כך שאין שגיאות, הוא שולח פעולה של תגובת הרשמה.
לאחר מכן, מערכת היעד תשלח מעת לעת פעולות של נתוני דוחות במרווח הזמן שנקבע במשא ומתן, והמערכת היוזמת תגיב לפעולות האלה עד שהמינוי יאבד או יבוטל.
פעולת תגובה להרשמה
כיוון: יעד -> יוזם
זו הפעולה האחרונה בעסקה של המינוי, והיא מסיימת את התהליך. היא כוללת:
- Subscription ID: מספר שלם שמזהה את המינוי.
- Min Interval (מרווח מינימלי): המרווח המינימלי הסופי והמוגדר בין דוחות.
- Max Interval (מרווח מקסימלי): המרווח המקסימלי הסופי והמוגדר בין הדוחות.
הגבלות על הרשמה
- הפעולה Subscribe Request Action והפעולה Subscribe Response Action הן פעולות מסוג Unicast-only.
- לכל הפעולות של נתוני הדוחות באינטראקציה של מינוי צריך להיות אותו מזהה מינוי.
- אם המנוי לא יקבל פעולה של נתוני דוחות בפרק הזמן המקסימלי שנקבע בין פעולות, המינוי יבוטל.
- כתוצאה מהכלל הקודם, בעל התוכן הדיגיטלי יכול להפסיק אינטראקציה עם מינוי פשוט על ידי הפסקת השליחה של פעולות נתונים תקופתיות של דוחות.
- המשתמש שנרשם למינוי יכול לסיים את האינטראקציה עם המינוי בתגובה לפעולה 'דיווח על נתונים' עם קוד סטטוס
INACTIVE_SUBSCRIPTION.