อ่านธุรกรรม

อ่านธุรกรรม

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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