Đọc giao dịch

Đọc giao dịch

Một trong những trường hợp sử dụng đầu tiên khi tương tác với các Nút trong Matter là đọc một Thuộc tính từ một Nút khác, chẳng hạn như giá trị nhiệt độ từ một cảm biến. Trong các Hành động tương tác như vậy, Hành động đầu tiên phải được thực hiện là Hành động yêu cầu đọc.

Trình tự thao tác của một Giao dịch đọc
Hình 1: Giao dịch đọc

Đọc hành động yêu cầu

Hướng: Trình khởi tạo -> Mục tiêu

Trong Hành động này, Trình khởi tạo truy vấn một Mục tiêu cung cấp:

  • Yêu cầu thuộc tính: danh sách từ 0 đến nhiều Thuộc tính của Mục tiêu. Danh sách này bao gồm một hoặc nhiều Đường dẫn đến Thuộc tính được yêu cầu của Mục tiêu.
  • Yêu cầu sự kiện: danh sách từ 0 đến nhiều Đường dẫn đến Sự kiện được yêu cầu của Mục tiêu.

Sau khi nhận được Hành động yêu cầu đọc, Mục tiêu sẽ tập hợp Hành động báo cáo dữ liệu bằng thông tin được yêu cầu.

Báo cáo hành động đối với dữ liệu

Hướng: Mục tiêu -> Trình khởi tạo

Trong Hành động này, Mục tiêu phản hồi bằng:

  • Báo cáo thuộc tính: danh sách từ 0 đến nhiều thuộc tính được báo cáo được yêu cầu trong Yêu cầu hành động đọc.
  • Báo cáo sự kiện: danh sách từ 0 đến nhiều Sự kiện đã báo cáo.
  • Suppress Response (Bỏ qua phản hồi): cờ xác định liệu phản hồi trạng thái cho hành động này có bị bỏ qua hay không.
  • Mã thuê bao: nếu báo cáo này là một phần của giao dịch đăng ký, thì báo cáo đó phải bao gồm một số nguyên dùng để xác định giao dịch đăng ký.

Hành động phản hồi trạng thái

Hướng: Mục tiêu -> Phương thức khởi tạo hoặc Phương thức khởi tạo -> Mục tiêu

Theo mặc định, sau khi nhận được dữ liệu được yêu cầu, Trình khởi tạo phải tạo Hành động phản hồi trạng thái. Thao tác này được gửi từ Trình khởi tạo, xác nhận việc nhận được dữ liệu đã báo cáo. Nếu bạn đặt cờ Suppress Status Response (Bỏ qua phản hồi trạng thái), thì Trình khởi tạo không được gửi Hành động phản hồi trạng thái.

Sau khi Bên khởi tạo gửi Hành động phản hồi trạng thái hoặc Bên khởi tạo nhận được Hành động báo cáo dữ liệu với cờ Suppress Response (Bỏ qua phản hồi) đang bật, truy vấn đọc/báo cáo sẽ hoàn tất.

Hành động phản hồi trạng thái chỉ chứa trường status (trạng thái) sẽ xác nhận thao tác thành công hoặc hiển thị mã lỗi.

Hạn chế về việc đọc

Hành động yêu cầu đọc và Hành động báo cáo dữ liệu chỉ dành cho Unicast. Hơn nữa, Đường dẫn của các yêu cầu này có thể không nhắm đến một Nhóm nút.

Hành động phản hồi trạng thái chỉ dành cho Unicast và không thể được tạo dưới dạng phản hồi cho một thông báo truyền tin nhóm.

Giao dịch gói thuê bao

Trình tự thao tác của một Giao dịch thuê bao
Hình 2: Giao dịch thuê bao

Thao tác yêu cầu đăng ký

Hướng: Trình khởi tạo -> Mục tiêu

Ngoài một Hành động yêu cầu đọc duy nhất, Trình khởi tạo cũng có thể đăng ký nhận thông tin cập nhật định kỳ về một Thuộc tính hoặc Sự kiện. Do đó, cùng một Hành động báo cáo dữ liệu có thể được tạo do các lần cập nhật dữ liệu định kỳ sau một Giao dịch thuê bao.

Một Lượt tương tác với gói thuê bao tạo ra mối quan hệ giữa hai Nút, trong đó mục tiêu tạo định kỳ Hành động báo cáo dữ liệu cho Trình khởi tạo. Phương thức khởi tạo là Người đăng ký và Mục tiêu là Nhà xuất bản.

Hành động yêu cầu đăng ký chứa:

  • Min Interval Floor (Khoảng thời gian tối thiểu): khoảng thời gian tối thiểu giữa các báo cáo.
  • Max Interval Ceiling (Mức trần khoảng thời gian tối đa): khoảng thời gian tối đa giữa các báo cáo.
  • Báo cáo thuộc tính: danh sách từ 0 đến nhiều thuộc tính được báo cáo được yêu cầu trong Yêu cầu hành động đọc.
  • Báo cáo sự kiện: danh sách từ 0 đến nhiều Sự kiện đã báo cáo.

Sau Yêu cầu đăng ký, Mục tiêu sẽ phản hồi Đơn vị khởi tạo bằng Hành động báo cáo dữ liệu chứa lô dữ liệu được báo cáo đầu tiên: Dữ liệu đã xuất bản được chuẩn bị sẵn.

Sau đó, Trình khởi tạo sẽ xác nhận Hành động báo cáo dữ liệu bằng Hành động phản hồi trạng thái được gửi đến Mục tiêu. Sau khi nhận được Hành động phản hồi trạng thái báo cáo không có lỗi, Mục tiêu sẽ gửi Hành động phản hồi đăng ký.

Sau đó, Mục tiêu sẽ định kỳ gửi Hành động báo cáo dữ liệu theo khoảng thời gian đã thoả thuận và Trình khởi tạo sẽ phản hồi các Hành động đó cho đến khi gói thuê bao bị mất hoặc bị huỷ.

Hành động phản hồi đăng ký

Hướng: Mục tiêu -> Trình khởi tạo

Đây là Hành động cuối cùng trên Giao dịch thuê bao và kết thúc quy trình. Thư mục này bao gồm:

  • Mã gói thuê bao: một số nguyên xác định gói thuê bao.
  • Khoảng thời gian tối thiểu: khoảng thời gian tối thiểu cuối cùng, đã xác định giữa các báo cáo.
  • Khoảng thời gian tối đa: khoảng thời gian tối đa cuối cùng, được xác định giữa các báo cáo.

Quy định hạn chế về việc đăng ký

  • Hành động yêu cầu đăng ký và hành động phản hồi đăng ký chỉ là các hành động Unicast.
  • Tất cả Hành động dữ liệu báo cáo trong một Lượt tương tác với gói thuê bao phải có cùng một Mã gói thuê bao.
  • Nếu Người đăng ký không nhận được Hành động báo cáo dữ liệu trong khoảng thời gian tối đa được thoả thuận giữa các Hành động, thì gói thuê bao sẽ bị chấm dứt.
  • Do quy tắc trước đó, Nhà xuất bản có thể chấm dứt một Hành động tương tác với gói thuê bao chỉ bằng cách ngừng gửi Hành động báo cáo dữ liệu định kỳ.
  • Người đăng ký có thể chấm dứt Hành động tương tác với gói thuê bao bằng cách phản hồi Hành động báo cáo dữ liệu bằng mã trạng thái INACTIVE_SUBSCRIPTION.