อ่านธุรกรรม

อ่านธุรกรรม

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

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

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

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

ในการดำเนินการนี้ ผู้เริ่มต้นค้นหาเป้าหมายที่กำหนดว่า

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

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

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

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

ในการทำงานนี้ เป้าหมายจะตอบสนองด้วย:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ข้อจำกัดการสมัครรับข้อมูล

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