قراءة المعاملة
من أولى حالات الاستخدام عند التفاعل مع العُقد في Matter هي قراءة سمة من عقدة أخرى، مثل قيمة درجة الحرارة من جهاز استشعار. في مثل هذه التفاعلات، يجب تنفيذ الإجراء الأول وهو إجراء طلب القراءة.

إجراء طلب القراءة
الاتجاه: أداة البدء -> الهدف
في هذا الإجراء، يطلب البادئ من الهدف تقديم ما يلي:
- طلبات السمات: قائمة تتضمّن صفرًا أو أكثر من سمات "الهدف". تتألف هذه القائمة من صفر أو أكثر من مسارات السمات المطلوبة الخاصة بالكائن المستهدف.
- طلبات الأحداث: قائمة تتضمّن صفرًا أو أكثر من مسارات الأحداث المطلوبة من الهدف.
بعد أن يتلقّى الجهاز المستهدف إجراء طلب القراءة، سيجمّع إجراء بيانات التقرير مع المعلومات المطلوبة.
إجراء بيانات التقرير
الاتجاه: الهدف -> المبدأ
في هذا الإجراء، يردّ الهدف بما يلي:
- تقارير السمات: قائمة تتضمّن صفرًا أو أكثر من السمات التي تم الإبلاغ عنها والمطلوبة في طلب إجراء القراءة.
- تقارير الأحداث: قائمة تتضمّن صفرًا أو أكثر من الأحداث التي تمّ الإبلاغ عنها.
- إخفاء الردّ: علامة تحدّد ما إذا كان يجب إخفاء ردّ الحالة على هذا الإجراء.
- معرّف الاشتراك: إذا كان هذا التقرير جزءًا من معاملة اشتراك، يجب أن يتضمّن عددًا صحيحًا يُستخدَم لتحديد معاملة الاشتراك.
إجراء الردّ على الحالة
الاتجاه: إما Target -> Initiator أو Initiator -> Target
بعد أن يتلقّى "المُنشئ" البيانات المطلوبة، عليه تلقائيًا إنشاء "إجراء ردّ الحالة". يتم إرسال هذا الإجراء من "المُرسِل"، مع الإقرار باستلام البيانات المُبلَغ عنها. في حال ضبط العلامة Suppress Status Response، يجب ألا يرسل Initiator الإجراء Status Response.
بعد أن يرسل "المبادر" إجراء "ردّ الحالة"، أو بعد أن يتلقّى "المبادر" إجراء "بيانات التقرير" مع تفعيل علامة "إيقاف الردّ"، ينتهي طلب القراءة/التقرير.
يحتوي إجراء "الردّ على الحالة" ببساطة على حقل الحالة الذي سيؤكّد نجاح العملية أو يعرض رمز خطأ.
قيود القراءة
إنّ إجراء طلب القراءة وإجراء بيانات التقارير متاحان فقط في Unicast. علاوةً على ذلك، قد لا تستهدف مسارات هذه الطلبات مجموعة من العُقد.
الإجراء "الرد على حالة" متاح فقط في Unicast ولا يمكن إنشاؤه كرد على بث جماعي.
معاملة الاشتراك

إجراء طلب الاشتراك
الاتجاه: أداة البدء -> الهدف
بالإضافة إلى إجراء طلب قراءة واحد، يمكن للمُنشئ أيضًا الاشتراك في تلقّي تحديثات دورية لسمة أو حدث. وبالتالي، يمكن إنشاء إجراء بيانات التقرير نفسه نتيجةً لتعديلات البيانات الدورية التي تتّبع معاملة اشتراك.
ينشئ "تفاعل الاشتراك" علاقة بين عقدتين، حيث ينشئ "الهدف" بشكل دوري "إجراءات بيانات التقارير" إلى "المبادر". يكون المشترك هو الجهة المبادِرة والناشر هو الجهة المستهدَفة.
يحتوي إجراء طلب الاشتراك على ما يلي:
- الحدّ الأدنى للفاصل الزمني: الحدّ الأدنى للفاصل الزمني بين التقارير.
- الحدّ الأقصى للفاصل الزمني: الحدّ الأقصى للفاصل الزمني بين التقارير.
- تقارير السمات: قائمة تتضمّن صفرًا أو أكثر من السمات التي تم الإبلاغ عنها والمطلوبة في طلب إجراء القراءة.
- تقارير الأحداث: قائمة تتضمّن صفرًا أو أكثر من الأحداث التي تمّ الإبلاغ عنها.
بعد طلب الاشتراك، يستجيب "المستهدف" إلى "المصدر" من خلال إجراء "بيانات التقارير" الذي يتضمّن الدفعة الأولى من البيانات التي تم إعداد تقارير عنها، وهي البيانات المنشورة التي تم إعدادها.
بعد ذلك، يقرّ "المصدر" باستلام "إجراء بيانات التقرير" من خلال "ردّ الحالة"، ويتم إرسال الإجراء إلى "الهدف". بعد أن يتلقّى الجهاز المستهدف إجراء "ردّ الحالة" الذي لا يشير إلى أي أخطاء، يرسل إجراء "ردّ الاشتراك".
سيرسل الجهاز المستهدف بعد ذلك إجراء بيانات التقارير بشكل دوري في الفاصل الزمني المتفق عليه، وسيردّ الجهاز البادئ على هذه الإجراءات إلى أن يتم فقدان الاشتراك أو إلغاؤه.
إجراء الرد على الاشتراك
الاتجاه: الهدف -> المبدأ
هذا هو الإجراء الأخير بشأن معاملة الاشتراك، وهو يختتم العملية. ويشمل ذلك:
- رقم تعريف الاشتراك: عدد صحيح يحدّد الاشتراك.
- الحدّ الأدنى للفاصل الزمني: هو الحدّ الأدنى النهائي المحدّد للفاصل الزمني بين التقارير.
- الفاصل الزمني الأقصى: هو الفاصل الزمني الأقصى النهائي المحدّد بين التقارير.
قيود الاشتراك
- إنّ إجراء طلب الاشتراك وإجراء رد الاشتراك هما إجراءان Unicastفقط.
- يجب أن يكون لجميع إجراءات بيانات التقارير في تفاعل الاشتراك معرّف الاشتراك نفسه.
- إذا لم يتلقَّ المشترك إجراء بيانات تقرير خلال الحد الأقصى للفاصل الزمني المتفق عليه بين الإجراءات، سيتم إنهاء الاشتراك.
- نتيجةً للقاعدة السابقة، يجوز "للناشر" إنهاء "تفاعل الاشتراك" من خلال التوقّف ببساطة عن إرسال "إجراءات بيانات التقارير" الدورية.
- يجوز للمشترك إنهاء "تفاعل الاشتراك" من خلال الردّ على "إجراء بيانات التقرير" باستخدام رمز الحالة
INACTIVE_SUBSCRIPTION
.