Để dễ sử dụng, bạn có thể sử dụng các phiên bản đơn giản của một số đặc điểm với Automation API.
Một đặc điểm đơn giản thay thế cho một đặc điểm API Home tiêu chuẩn, tương tự như cách hoạt động của mẫu mặt tiền. Các đặ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ác đặc điểm được đơn giản hoá là các đặc điểm API Home và giống như các đặc điểm API Home khác, các đặc điểm này hoạt động cho cả thiết bị Matter và Cloud-to-cloud.
Một đặc điểm được đơn giản hoá cung cấp một tập hợp con thay thế gồm các thuộc tính và lệnh phù hợp hơn với từng thiết bị 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ể được dùng cho mọi thiết bị có chế độ cài đặt thay đổi liên tục trên một dải giá trị số.
Brightness
là một đặc điểm đơn giản thay thế cho LevelControl
và chỉ cung cấp các lệnh và thuộc tính mà thiết bị DimmableLight
yêu cầu. Brightness
có lệnh moveToBrightness
nhận một đối số brightnessPercent
duy nhất, trong khi LevelControl
có nhiều lệnh move
, hầu hết các lệnh này đều có ít nhất 4 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 được đơn giản hoá và(các) đặc điểm chuẩn cơ bản. Mỗi tên đặc điểm liên kết đến tài liệu API tương ứng:
Thuộc tính đơn giản | Thuộc tính chuẩn |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
Các đặc điểm được đơn giản hoá và API Khám phá
API Khám phá báo cáo các đặc điểm được đơn giản hoá cũng như các đặc điểm tiêu chuẩn cơ bản của chúng, 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ả các đặc điểm LevelControl
và Brightness
trong FactoryRegistry
, thì API Khám phá 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 này trong quá trình tự động hoá.
Hãy xem API Khám phá để biết thêm thông tin.
Truy xuất một thiết bị hỗ trợ một đặc điểm được đơn giản hoá
Khi sử dụng API Thiết bị để lấy các thiết bị trong một cấu trúc hỗ trợ tính năng đơn giản 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) }