อ่านธุรกรรม

อ่านธุรกรรม

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การดำเนินการตอบกลับการสมัครใช้บริการ

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

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

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

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

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