קריאת העסקה
אחד מתרחישי השימוש הראשונים באינטראקציה עם צמתים ב-Matter הוא קריאה של מאפיין מצומת אחר, כמו ערך טמפרטורה מחיישן. באינטראקציות כאלה, הפעולה הראשונה שצריך לבצע היא פעולת בקשת הקריאה.
קריאת פעולת הבקשה
כיוון: יוזם -> יעד
בפעולה הזו, הגורם היוזם שולח שאילתה ליעד ומספק:
- בקשות למאפיינים: רשימה של אפס או יותר מאפיינים של היעד. הרשימה הזו מורכבת מאפס נתיבים או יותר למאפיינים המבוקשים של היעד.
- בקשות לאירועים: רשימה של אפס או יותר נתיבים לאירועים המבוקשים של יעד.
אחרי שהיעד יקבל את פעולת בקשת הקריאה, הוא ירכיב פעולת נתוני דוח עם המידע המבוקש.
פעולה לגבי נתונים בדוח
כיוון: יעד -> יוזם
בפעולה הזו, המטרה מגיבה עם:
- Attribute Reports: רשימה של אפס או יותר מאפיינים שדווחו שנכללו בבקשת פעולת הקריאה.
- דוחות על אירועים: רשימה של אפס או יותר אירועים שדווחו.
- Suppress 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 בלבד. בנוסף, יכול להיות שהנתיבים של הבקשות האלה לא יפנו לקבוצת צמתים.
הפעולה 'תגובה עם סטטוס' היא רק Unicast ואי אפשר ליצור אותה כתגובה לשידור קבוצתי.
עסקת מינוי
פעולה של בקשת הרשמה
כיוון: יוזם -> יעד
בנוסף לפעולת בקשת קריאה יחידה, יוזם יכול גם להירשם לעדכונים תקופתיים של מאפיין או אירוע. לכן, אותה פעולה של נתוני דוח יכולה להיווצר כתוצאה מעדכוני נתונים תקופתיים שמתבצעים אחרי עסקת מינוי.
אינטראקציה של מינוי יוצרת קשר בין שני צמתים, שבו צומת היעד יוצר מעת לעת פעולות של נתוני דוחות עבור הצומת היוזם. הגורם היוזם הוא המשתמש עם המינוי והיעד הוא בעל התוכן הדיגיטלי.
פעולה של בקשת הרשמה מכילה:
- Min Interval Floor: המרווח המינימלי בין דוחות.
- Max Interval Ceiling: המרווח המקסימלי בין דוחות.
- דוחות שיוך (Attribution): רשימה של אפס או יותר מאפייני הדיווח שהתבקשו בבקשת פעולת הקריאה.
- דוחות אירועים: רשימה של אפס או יותר אירועים שדווחו.
אחרי בקשת ההרשמה, המטרה מגיבה ליוזם באמצעות פעולת נתוני דוח שמכילה את קבוצת הנתונים הראשונה שדווחה: הנתונים שפורסמו אחרי ההכנה.
הגורם היוזם מאשר את פעולת הנתונים בדוח באמצעות תגובת סטטוס הפעולה נשלחה ליעד. אחרי שרכיב היעד מקבל פעולת תגובה למצב שמדווחת על כך שאין שגיאות, הוא שולח פעולת תגובה להרשמה.
לאחר מכן, מערכת היעד תשלח מעת לעת פעולת נתוני דוח במרווח המוסכם, והמערכת היוזמת תגיב לפעולות האלה עד שהמינוי יאבד או יבוטל.
פעולת תגובה להרשמה
כיוון: יעד -> יוזם
זו הפעולה האחרונה בעסקת המינוי, והיא מסיימת את התהליך. היא כוללת:
- Subscription ID: מספר שלם שמזהה את המינוי.
- Min Interval (מרווח מינימלי): המרווח המינימלי הסופי שנקבע בין דוחות.
- Max Interval (מרווח מקסימלי): המרווח המקסימלי הסופי והמוגדר בין הדוחות.
הגבלות על הרשמה
- הפעולה Subscribe Request Action והפעולה Subscribe Response Action הן פעולות מסוג Unicast בלבד.
- לכל הפעולות של נתוני הדוחות באינטראקציה של מינוי צריך להיות אותו מזהה מינוי.
- אם המנוי לא יקבל פעולה של נתוני דוח בתוך המרווח המקסימלי שנקבע בין הפעולות, המינוי יבוטל.
- כתוצאה מהכלל הקודם, בעל התוכן הדיגיטלי יכול להפסיק אינטראקציה של מינוי פשוט על ידי הפסקת השליחה של פעולות נתוני דוחות תקופתיים.
- המשתמש שנרשם למינוי יכול לסיים את האינטראקציה עם המינוי בתגובה לפעולה Report Data עם קוד סטטוס
INACTIVE_SUBSCRIPTION.