อ่านธุรกรรม

อ่านธุรกรรม

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การดำเนินการตอบกลับสถานะมีไว้สำหรับ Unicast เท่านั้น และไม่สามารถสร้างขึ้นเพื่อตอบกลับการออกอากาศกลุ่ม

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

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

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

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

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

การโต้ตอบการสมัครใช้บริการจะสร้างความสัมพันธ์ระหว่างโหนด 2 รายการ โดยที่เป้าหมายจะสร้างการดําเนินการกับข้อมูลรายงานไปยังผู้เริ่ม โดยที่ Subscriber เป็นผู้เริ่ม และ Publisher เป็นผู้รับ

การดำเนินการตามคำขอติดตามประกอบด้วย

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

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

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

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

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

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

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

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

ข้อจำกัดการสมัครใช้บริการ

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