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

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

Đặc điểm đơn giản thay thế cho đặc điểm Home API 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 những lệnh giúp một số loại thiết bị thực hiện các tác vụ thường gặp dễ dàng hơn. Các đặc điểm đơn giản là đặc điểm của Home API và giống như các đặc điểm khác của Home API, chúng hoạt động cho cả thiết bị MatterCloud-to-cloud.

Đặc điểm đơn giản cung cấp một tập hợp con thay thế gồm các thuộc tính và lệnh cụ thể hơn cho 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 tiêu chuẩn LevelControl 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 thay 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 đều có ít nhất 4 tham số để đáp ứng 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 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 điểm đơn giản
Đặc điểm đơn giản Đặc điểm tiêu chuẩn
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

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

Discovery API báo cáo các đặc điểm đơn giản 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 có một thiết bị DimmableLight trong cấu trúc và nhà phát triển đã đăng ký cả đặc điểm LevelControlBrightness 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 này trong quá trình tự động hoá.

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

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

Khi dùng Device API để lấy các thiết bị trong một cấu trúc hỗ trợ đặc điểm đơn giản như SimplifiedThermostat, bạn không thể 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) }