简化了 iOS 上的 trait

为方便使用,iOS 上提供了一些 trait 的简化版本,可与 Automation API 搭配使用。

简化 trait 可替代标准 Home API trait,这与外观模式的工作方式类似。简化特征提供了一些命令,可让某些类型的设备更轻松地执行常见任务。简化特征是 Home API 特征,与其他 Home API 特征一样,它们适用于 MatterCloud-to-cloud 设备。

简化 trait 提供了一组替代属性和命令,这些属性和命令比相应标准 trait 的属性和命令更依赖于设备。例如,标准 LevelControlTrait trait 是一种通用 trait,适用于具有在一系列数值范围内连续变化的设置的任何设备。BrightnessTrait 是一种简化的 trait,可替代 LevelControlTrait,并且仅提供 DimmableLightDeviceType 设备所需的命令和属性。BrightnessTrait 有一个接受单个 brightnessPercent 参数的 moveToBrightness 命令,而 LevelControlTrait 有多个 move 命令,其中大多数命令至少有 4 个参数,以适应更广泛的用例。

下表显示了每个简化 trait 及其底层标准 trait。每个 trait 名称都链接到相应的 API 文档:

表格:简化后的 trait
简化 trait 标准 trait
SimplifiedThermostatTrait ThermostatTrait
BrightnessTrait LevelControlTrait
SimplifiedOnOffTrait OnOffTrait
VolumeTrait LevelControlTrait
OnOffTrait

简化后的 trait 和 Discovery API

Discovery API 会报告简化特征及其底层标准特征,前提是这两个特征在应用的配置中都正确配置为 ReferencedAutomationTypes。例如,如果结构中存在 DimmableLightDeviceType 设备,并且开发者同时注册了 LevelControlTraitBrightnessTrait 特征,Discovery API 会指明这两个特征都存在。开发者可以在自动化操作中选择使用任一 trait。

如需了解详情,请参阅首页配置