Read Transaction
Matter में नोड के साथ इंटरैक्ट करते समय, इस्तेमाल के सबसे पहले उदाहरणों में से एक, किसी दूसरे नोड से एट्रिब्यूट को पढ़ना है. जैसे, किसी सेंसर से तापमान की वैल्यू पढ़ना. इस तरह के इंटरैक्शन में, सबसे पहले Read Request Action को पूरा करना ज़रूरी होता है.

अनुरोध पढ़ने की कार्रवाई
दिशा: शुरू करने वाला -> टारगेट
इस कार्रवाई में, इनिशिएटर टारगेट से क्वेरी करता है. इसमें ये जानकारी शामिल होती है:
- एट्रिब्यूट के अनुरोध: टारगेट के एट्रिब्यूट की एक सूची. इसमें कोई एट्रिब्यूट नहीं भी हो सकता है. इस सूची में, टारगेट के अनुरोध किए गए एट्रिब्यूट के लिए, शून्य या उससे ज़्यादा पाथ शामिल होते हैं.
- इवेंट के अनुरोध: टारगेट के अनुरोध किए गए इवेंट के लिए, शून्य या उससे ज़्यादा पाथ की सूची.
Read Request Action मिलने के बाद, टारगेट डिवाइस Report Data Action को इकट्ठा करेगा. इसमें अनुरोध की गई जानकारी शामिल होगी.
डेटा से जुड़ी कार्रवाई की रिपोर्ट करना
दिशा: टारगेट -> शुरू करने वाला
इस कार्रवाई में टारगेट, इन चीज़ों के साथ जवाब देता है:
- एट्रिब्यूट रिपोर्ट: इसमें, Read Action Request में अनुरोध किए गए, रिपोर्ट किए गए एट्रिब्यूट की सूची होती है. इसमें कोई एट्रिब्यूट नहीं भी हो सकता है.
- इवेंट रिपोर्ट: इसमें रिपोर्ट किए गए इवेंट की सूची होती है. इसमें शून्य या उससे ज़्यादा इवेंट हो सकते हैं.
- जवाब न देना: यह एक फ़्लैग है. इससे यह तय होता है कि इस कार्रवाई के लिए status response को छिपाया जाना चाहिए या नहीं.
- सदस्यता आईडी: अगर यह रिपोर्ट, सदस्यता लेने के लेन-देन का हिस्सा है, तो इसमें सदस्यता लेने के लेन-देन की पहचान करने के लिए इस्तेमाल किया गया पूर्णांक शामिल होना चाहिए.
जवाब की स्थिति
दिशा: टारगेट -> शुरू करने वाला या शुरू करने वाला -> टारगेट
अनुरोध करने वाले को डेटा मिलने के बाद, डिफ़ॉल्ट रूप से उसे स्टेटस रिस्पॉन्स ऐक्शन जनरेट करना होगा. यह कार्रवाई, शिकायत करने वाले व्यक्ति की ओर से की जाती है. इससे यह पुष्टि होती है कि शिकायत किए गए डेटा को स्वीकार कर लिया गया है. अगर Suppress Status Response फ़्लैग सेट है, तो Initiator को Status Response Action नहीं भेजना चाहिए.
जब अनुरोध करने वाला व्यक्ति, स्टेटस रिस्पॉन्स ऐक्शन भेज देता है या उसे रिपोर्ट डेटा ऐक्शन मिलता है, तब read/report क्वेरी पूरी हो जाती है. इस दौरान, Suppress Response फ़्लैग चालू होता है.
Status Response Action में सिर्फ़ एक status फ़ील्ड होता है. इससे यह पता चलता है कि ऑपरेशन पूरा हुआ है या नहीं. अगर ऑपरेशन पूरा नहीं हुआ है, तो इसमें एक कोड दिखता है.
पढ़ने से जुड़ी पाबंदियां
रीड रिक्वेस्ट ऐक्शन और रिपोर्ट डेटा ऐक्शन, सिर्फ़ Unicast के लिए उपलब्ध हैं. इसके अलावा, इन अनुरोधों के पाथ, नोड के ग्रुप को टारगेट नहीं कर सकते.
स्टेटस रिस्पॉन्स ऐक्शन सिर्फ़ Unicast के लिए उपलब्ध है. इसे ग्रुपकास्ट के जवाब के तौर पर जनरेट नहीं किया जा सकता.
सदस्यता से जुड़ा लेन-देन

सदस्यता लेने के अनुरोध से जुड़ी कार्रवाई
दिशा: शुरू करने वाला -> टारगेट
पढ़ने के अनुरोध की एक कार्रवाई के अलावा, अनुरोध करने वाला व्यक्ति किसी एट्रिब्यूट या इवेंट के समय-समय पर मिलने वाले अपडेट के लिए भी सदस्यता ले सकता है. इसलिए, सदस्यता के लेन-देन के बाद, समय-समय पर डेटा अपडेट होने की वजह से एक ही रिपोर्ट डेटा ऐक्शन जनरेट हो सकता है.
सदस्यता इंटरैक्शन, दो नोड के बीच संबंध बनाता है. इसमें टारगेट, समय-समय पर रिपोर्ट डेटा ऐक्शन जनरेट करता है, ताकि उन्हें शुरू करने वाले नोड को भेजा जा सके. इसमें सदस्य, अनुरोध करने वाला और पब्लिशर, टारगेट होता है.
सदस्यता लेने के अनुरोध वाली कार्रवाई में ये शामिल होते हैं:
- कम से कम इंटरवल फ़्लोर: रिपोर्ट के बीच कम से कम इंटरवल.
- रिपोर्ट के बीच ज़्यादा से ज़्यादा समय: रिपोर्ट के बीच ज़्यादा से ज़्यादा समय.
- एट्रिब्यूट रिपोर्ट: इसमें, Read Action Request में अनुरोध किए गए, रिपोर्ट किए गए एट्रिब्यूट की सूची होती है. इसमें कोई एट्रिब्यूट नहीं भी हो सकता है.
- इवेंट की रिपोर्ट: इसमें रिपोर्ट किए गए इवेंट की सूची होती है. इसमें कोई इवेंट नहीं भी हो सकता है.
सदस्यता के अनुरोध के बाद, टारगेट, अनुरोध करने वाले को रिपोर्ट डेटा ऐक्शन के साथ जवाब देता है. इसमें रिपोर्ट किए गए डेटा का पहला बैच होता है: प्राइम किया गया पब्लिश किया गया डेटा.
इसके बाद, शुरू करने वाला व्यक्ति, रिपोर्ट डेटा ऐक्शन को स्वीकार करता है. इसके लिए, वह टारगेट को स्टेटस रिस्पॉन्स ऐक्शन भेजता है. जब टारगेट को स्टेटस रिस्पॉन्स ऐक्शन मिलता है और उसमें कोई गड़बड़ी नहीं होती है, तो वह सदस्यता लेने का अनुरोध भेजता है.
इसके बाद, टारगेट तय किए गए समय पर Report Data Action भेजेगा. वहीं, सदस्यता खत्म होने या रद्द होने तक, इनीशिएटर इन कार्रवाइयों का जवाब देगा.
सदस्यता लेने के अनुरोध के जवाब के लिए कार्रवाई
दिशा: टारगेट -> शुरू करने वाला
यह सदस्यता से जुड़े लेन-देन पर की गई आखिरी कार्रवाई है. इसके बाद, यह प्रोसेस पूरी हो जाती है. इसमें ये चीज़ें शामिल हैं:
- सदस्यता आईडी: यह एक पूर्णांक होता है, जिससे सदस्यता की पहचान होती है.
- कम से कम इंटरवल: यह रिपोर्ट के बीच का तय किया गया आखिरी कम से कम इंटरवल होता है.
- ज़्यादा से ज़्यादा इंटरवल: यह रिपोर्ट के बीच का फ़ाइनल और तय किया गया ज़्यादा से ज़्यादा इंटरवल होता है.
सदस्यता लेने से जुड़ी पाबंदियां
- 'सदस्यता का अनुरोध करें' कार्रवाई और 'सदस्यता का जवाब दें' कार्रवाई, Unicast-ओनली कार्रवाइयां हैं.
- सदस्यता से जुड़ी किसी इंटरैक्शन में, रिपोर्ट डेटा से जुड़ी सभी कार्रवाइयों का सदस्यता आईडी एक ही होना चाहिए.
- अगर सदस्य को, कार्रवाइयों के बीच तय किए गए ज़्यादा से ज़्यादा समय के अंदर, रिपोर्ट डेटा ऐक्शन नहीं मिलता है, तो सदस्यता खत्म कर दी जाएगी.
- पिछले नियम के मुताबिक, पब्लिशर सिर्फ़ समय-समय पर रिपोर्ट डेटा ऐक्शन भेजना बंद करके, सदस्यता इंटरैक्शन को खत्म कर सकता है.
- सदस्य, सदस्यता इंटरैक्शन को खत्म कर सकता है. इसके लिए, उसे
INACTIVE_SUBSCRIPTION
स्टेटस कोड के साथ, Report Data Action का जवाब देना होगा.