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