Các đặc điểm được đơn giản hoá trên Android

Để dễ sử dụng, bạn có thể dùng các phiên bản đơn giản hoá của một số đặc điểm với Automation API trên Android.

Một đặc điểm đơn giản hoá sẽ thay thế cho một đặc điểm tiêu chuẩn của các API cho Home, tương tự như cách hoạt động của mẫu mặt tiền. Đặc điểm đơn giản cung cấp các lệnh giúp thực hiện các thao tác phổ biến dễ dàng hơn cho một số loại thiết bị. Đặc điểm đơn giản hoá là đặc điểm của Home API và giống như các đặc điểm khác của Home API, các đặc điểm này hoạt động cho cả thiết bị Matter và Cloud-to-cloud.

Đặc điểm đơn giản hoá cung cấp một nhóm nhỏ các thuộc tính và lệnh thay thế, mang tính đặc thù cho thiết bị hơn so với các thuộc tính và lệnh của đặc điểm tiêu chuẩn tương ứng. Ví dụ: đặc điểm LevelControl tiêu chuẩn là một đặc điểm chung có thể dùng cho mọi thiết bị có chế độ cài đặt thay đổi liên tục trong một dải giá trị số. Brightness là một đặc điểm đơn giản hoá, thay thế cho LevelControl và chỉ cung cấp các lệnh cũng như thuộc tính mà thiết bị DimmableLight yêu cầu. Brightness có một lệnh moveToBrightness nhận một đối số brightnessPercent, trong khi LevelControl có nhiều lệnh move, hầu hết trong số đó có ít nhất bốn tham số để phù hợp với nhiều trường hợp sử dụng hơn.

Bảng sau đây cho thấy từng đặc điểm đơn giản hoá và(các) đặc điểm tiêu chuẩn cơ bản. Mỗi tên đặc điểm đều liên kết đến tài liệu API tương ứng:

Bảng: Các đặc điểm đơn giản
Trait đơn giản Đặc điểm chuẩn
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

Các đặc điểm đơn giản hoá và Discovery API

Discovery API báo cáo các đặc điểm đơn giản hoá cũng như các đặc điểm tiêu chuẩn cơ bản, miễn là cả hai đặc điểm đều được đăng ký trong FactoryRegistry. Ví dụ: nếu một thiết bị DimmableLight có trong cấu trúc và nhà phát triển đã đăng ký cả hai đặc điểm LevelControl và Brightness trong FactoryRegistry, thì Discovery API sẽ cho biết sự hiện diện của cả hai đặc điểm. Nhà phát triển có thể chọn sử dụng một trong hai đặc điểm trong quy trình tự động hoá của họ.

Hãy xem bài viết Discovery API trên Android để biết thêm thông tin.

Truy xuất thiết bị hỗ trợ một trait đơn giản

Khi sử dụng API Thiết bị để lấy các thiết bị trong một cấu trúc hỗ trợ một đặc điểm đơn giản hoá như SimplifiedThermostat, bạn không thể sử dụng phương thức has(trait). Thay vào đó, hãy sử dụng phương thức has(deviceType):

val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }