อ่านธุรกรรม

อ่านธุรกรรม

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

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

การดําเนินการ โปรดอ่านคําขอ

เส้นทาง: Initiator -> Target

ในการดําเนินการนี้ ผู้เริ่มการค้นหาจะค้นหาเป้าหมายที่มี

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

เส้นทาง: Initiator -> Target

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

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

คําขอการสมัครรับข้อมูลประกอบด้วย:

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

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

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

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

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

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

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

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

ข้อจํากัดการติดตาม

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