Para facilitar el uso, hay versiones simplificadas de algunos traits disponibles para usarse con la API de Automation en iOS.
Un trait simplificado reemplaza a un trait estándar de la API de Home, de manera similar a cómo funciona el patrón de fachada. Los traits simplificados proporcionan comandos que facilitan las tareas comunes para ciertos tipos de dispositivos. Los traits simplificados son traits de la API de Home y, al igual que otros traits de la API de Home, funcionan para dispositivos Matter y Cloud-to-cloud.
Un trait simplificado ofrece un subconjunto alternativo de atributos y comandos que es más específico del dispositivo que los del trait estándar correspondiente.
Por ejemplo, el trait estándar
LevelControlTrait
es un trait genérico que se puede usar para cualquier dispositivo que tenga un
parámetro de configuración que varíe de forma continua en un rango de valores numéricos.
BrightnessTrait es un
trait simplificado que reemplaza a LevelControlTrait y proporciona solo los
comandos y atributos que requiere un dispositivo
DimmableLightDeviceType. BrightnessTrait tiene un
moveToBrightness
comando que toma un solo brightnessPercent argumento, mientras que
LevelControlTrait tiene varios comandos move, la mayoría de los cuales tienen al menos
cuatro parámetros para adaptarse a una gama más amplia de casos de uso.
En la siguiente tabla, se muestra cada trait simplificado y los traits estándar subyacentes. Cada nombre de trait se vincula a la documentación de la API correspondiente:
| Trait simplificado | Trait estándar |
|---|---|
SimplifiedThermostatTrait
|
ThermostatTrait
|
BrightnessTrait
|
LevelControlTrait
|
SimplifiedOnOffTrait
|
OnOffTrait
|
VolumeTrait
|
LevelControlTraitOnOffTrait
|
Traits simplificados y la API de Discovery
La API de Discovery informa los traits simplificados, así como sus traits estándar subyacentes, siempre que ambos traits se hayan configurado correctamente como
ReferencedAutomationTypes en la configuración de tu app. Por ejemplo, si
un DimmableLightDeviceType dispositivo está presente en la estructura y el
desarrollador registró los traits
LevelControlTrait
y
BrightnessTrait, la API de Discovery indicaría la presencia de ambos traits. El desarrollador puede elegir usar cualquiera de los traits en su automatización.
Consulta Configuración de Home para obtener más información.