อ่านธุรกรรม

อ่านธุรกรรม

หนึ่งใน Use Case แรกๆ เมื่อโต้ตอบกับโหนดใน Matter คือการอ่านแอตทริบิวต์จากโหนดอื่น เช่น ค่าอุณหภูมิจากเซ็นเซอร์ ในการโต้ตอบดังกล่าว การดำเนินการแรกที่ต้องทำคือการดำเนินการคำขออ่าน

ลำดับการดำเนินการของธุรกรรมการอ่าน
รูปที่ 1: ธุรกรรมการอ่าน

อ่านการดำเนินการตามคำขอ

ทิศทาง: ผู้เริ่ม -> เป้าหมาย

ในการดำเนินการนี้ ผู้เริ่มจะค้นหาเป้าหมายโดยระบุข้อมูลต่อไปนี้

  • คำขอแอตทริบิวต์: รายการแอตทริบิวต์ของเป้าหมายตั้งแต่ 0 รายการขึ้นไป รายการนี้ประกอบด้วยเส้นทางตั้งแต่ 0 รายการขึ้นไปไปยังแอตทริบิวต์ที่ขอของเป้าหมาย
  • คำขอเหตุการณ์: รายการเส้นทางตั้งแต่ 0 รายการขึ้นไปไปยังเหตุการณ์ที่ขอของเป้าหมาย

หลังจากเป้าหมายได้รับ Read Request Action แล้ว ก็จะรวบรวม Report Data Action พร้อมข้อมูลที่ขอ

การดำเนินการกับข้อมูลรายงาน

ทิศทาง: เป้าหมาย -> ผู้เริ่มต้น

ในการดำเนินการนี้ เป้าหมายจะตอบกลับด้วย

  • รายงานแอตทริบิวต์: รายการแอตทริบิวต์ที่รายงานตั้งแต่ 0 รายการขึ้นไป ที่ขอในคำขอการดำเนินการอ่าน
  • รายงานเหตุการณ์: รายการเหตุการณ์ที่รายงานตั้งแต่ 0 รายการขึ้นไป
  • ระงับการตอบกลับ: แฟล็กที่กำหนดว่าควรระงับสถานะ การตอบกลับสำหรับการดำเนินการนี้หรือไม่
  • รหัสการสมัครใช้บริการ: หากรายงานนี้เป็นส่วนหนึ่งของธุรกรรมการสมัครใช้บริการ รายงานต้องมีจำนวนเต็มที่ใช้เพื่อระบุธุรกรรมการสมัครใช้บริการ

การดำเนินการตอบกลับสถานะ

ทิศทาง: Target -> Initiator หรือ Initiator -> Target

เมื่อผู้เริ่มได้รับข้อมูลที่ขอแล้ว โดยค่าเริ่มต้นจะต้องสร้าง การดำเนินการตอบกลับสถานะ การดำเนินการนี้จะส่งจากผู้เริ่มเพื่อรับทราบ การรับข้อมูลที่รายงาน หากตั้งค่าสถานะ "ระงับการตอบกลับสถานะ" ไว้ ผู้เริ่มจะต้องไม่ส่งการดำเนินการตอบกลับสถานะ

เมื่อผู้เริ่มส่งการดำเนินการตอบกลับสถานะ หรือผู้เริ่มได้รับการดำเนินการรายงานข้อมูล โดยเปิดใช้แฟล็กระงับการตอบกลับแล้ว การค้นหา การอ่าน/รายงานจะเสร็จสิ้น

การดำเนินการตอบกลับสถานะมีเพียงฟิลด์สถานะที่จะ รับทราบความสำเร็จของการดำเนินการหรือแสดงรหัสความล้มเหลว

อ่านข้อจำกัด

การดำเนินการคำขออ่านและการดำเนินการข้อมูลรายงานเป็นแบบUnicastเท่านั้น นอกจากนี้ เส้นทางของคำขอเหล่านี้อาจไม่ได้ กำหนดเป้าหมายเป็นกลุ่มโหนด

การดำเนินการตอบกลับสถานะใช้ได้กับ Unicast เท่านั้น และสร้างเป็นการตอบกลับการส่งข้อความแบบกลุ่มไม่ได้

ธุรกรรมการสมัครใช้บริการ

ลำดับการดำเนินการของธุรกรรมการสมัครใช้บริการ
รูปที่ 2: ธุรกรรมการสมัครใช้บริการ

การดำเนินการตามคำขอติดตาม

ทิศทาง: ผู้เริ่ม -> เป้าหมาย

นอกจากการดำเนินการคำขออ่านแบบครั้งเดียวแล้ว ผู้เริ่มต้นยังอาจสมัครรับข้อมูล เพื่อรับการอัปเดตแอตทริบิวต์หรือเหตุการณ์เป็นระยะๆ ด้วย ดังนั้นการดำเนินการข้อมูลรายงานเดียวกัน จึงอาจเกิดจากการอัปเดตข้อมูลเป็นระยะๆ ซึ่งเป็นผลมาจากธุรกรรมการสมัครรับข้อมูล

การโต้ตอบการติดตามจะสร้างความสัมพันธ์ระหว่างโหนด 2 โหนด ซึ่งเป้าหมายจะสร้างการดำเนินการข้อมูลรายงานให้กับผู้เริ่มเป็นระยะๆ ผู้เริ่มคือผู้ติดตาม และเป้าหมายคือผู้เผยแพร่เนื้อหา

การดำเนินการคำขอติดตามประกอบด้วยข้อมูลต่อไปนี้

  • Min Interval Floor: ช่วงเวลาขั้นต่ำระหว่างรายงาน
  • เพดานช่วงเวลาสูงสุด: ช่วงเวลาสูงสุดระหว่างรายงาน
  • รายงานแอตทริบิวต์: รายการแอตทริบิวต์ที่รายงานตั้งแต่ 0 รายการขึ้นไป ที่ขอในคำขอการดำเนินการอ่าน
  • รายงานเหตุการณ์: รายการเหตุการณ์ที่รายงานตั้งแต่ 0 รายการขึ้นไป

หลังจากคำขอสมัครใช้บริการ เป้าหมายจะตอบกลับผู้เริ่มด้วย การดำเนินการข้อมูลรายงานซึ่งมีข้อมูลชุดแรกที่รายงาน นั่นคือข้อมูลที่เผยแพร่ที่เตรียมไว้

จากนั้นผู้เริ่มจะรับทราบการดำเนินการรายงานข้อมูลด้วยการตอบกลับสถานะ การดำเนินการที่ส่งไปยังเป้าหมาย เมื่อเป้าหมายได้รับการดำเนินการตอบกลับสถานะ ที่รายงานว่าไม่มีข้อผิดพลาด เป้าหมายจะส่งการดำเนินการตอบกลับการติดตาม

จากนั้นเป้าหมายจะส่งการดำเนินการข้อมูลรายงานเป็นระยะๆ ที่ ช่วงเวลาที่ตกลงกันไว้ และผู้เริ่มจะตอบกลับการดำเนินการเหล่านั้นจนกว่า การสมัครใช้บริการจะสิ้นสุดลงหรือถูกยกเลิก

การดำเนินการตอบกลับการติดตาม

ทิศทาง: เป้าหมาย -> ผู้เริ่มต้น

นี่คือการดำเนินการครั้งสุดท้ายเกี่ยวกับธุรกรรมการสมัครใช้บริการและสรุปกระบวนการ แอปประกอบด้วย

  • รหัสการสมัครใช้บริการ: จำนวนเต็มที่ระบุการสมัครใช้บริการ
  • ช่วงเวลาต่ำสุด: ช่วงเวลาต่ำสุดสุดท้ายที่กำหนดระหว่างรายงาน
  • ช่วงเวลาสูงสุด: ช่วงเวลาสูงสุดสุดท้ายที่กำหนดระหว่างรายงาน

ข้อจำกัดในการติดตาม

  • การดำเนินการคำขอติดตามและการดำเนินการตอบกลับการติดตามเป็นUnicastการดำเนินการเท่านั้น
  • การดำเนินการกับข้อมูลรายงานทั้งหมดในการโต้ตอบการสมัครใช้บริการต้องมีรหัสการสมัครใช้บริการเดียวกัน
  • หากผู้ติดตามไม่ได้รับการดำเนินการเกี่ยวกับข้อมูลรายงานภายในช่วงเวลาสูงสุด ที่เจรจาไว้ระหว่างการดำเนินการ การสมัครใช้บริการจะสิ้นสุดลง
  • ผลสืบเนื่องจากกฎก่อนหน้านี้ ผู้เผยแพร่โฆษณาอาจสิ้นสุดการโต้ตอบการสมัครใช้บริการได้โดยเพียงแค่หยุดส่งการดำเนินการข้อมูลรายงานเป็นระยะ
  • ผู้ติดตามสามารถสิ้นสุดการโต้ตอบในการสมัครใช้บริการได้โดยการตอบกลับการดำเนินการรายงานข้อมูลด้วยรหัสสถานะ INACTIVE_SUBSCRIPTION