Zur einfacheren Verwendung sind vereinfachte Versionen einiger Attribute für die Verwendung mit der Automation API unter Android verfügbar.
Ein vereinfachtes Attribut steht für ein Standardattribut der Home API, ähnlich wie das Fassadenmuster funktioniert. Vereinfachte Traits bieten Befehle, die häufige Aufgaben für bestimmte Gerätetypen erleichtern. Vereinfachte Merkmale sind Home API-Merkmale und funktionieren wie andere Home API-Merkmale sowohl für Matter- als auch für Cloud-to-cloud-Geräte.
Ein vereinfachtes Merkmal bietet eine alternative Teilmenge von Attributen und Befehlen, die gerätespezifischer sind als die des entsprechenden Standardmerkmals.
Das Standardmerkmal LevelControl ist beispielsweise ein generisches Merkmal, das für jedes Gerät verwendet werden kann, das eine Einstellung hat, die sich kontinuierlich über einen Bereich numerischer Werte ändert.
Brightness ist ein vereinfachtes Merkmal, das für LevelControl steht und nur die Befehle und Attribute bereitstellt, die für ein DimmableLight-Gerät erforderlich sind. Brightness hat den Befehl moveToBrightness, der ein einzelnes brightnessPercent-Argument akzeptiert. LevelControl hat mehrere move-Befehle, von denen die meisten mindestens vier Parameter haben, um eine größere Bandbreite von Anwendungsfällen zu unterstützen.
In der folgenden Tabelle sind die einzelnen vereinfachten Attributtypen und die zugrunde liegenden Standardattributtypen aufgeführt. Jeder Attributname ist mit der entsprechenden API-Dokumentation verknüpft:
| Vereinfachtes Attribut | Standard-Eigenschaft |
|---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControlOnOff
|
Vereinfachte Merkmale und die Discovery API
Die Discovery API meldet vereinfachte Merkmale sowie die zugrunde liegenden Standardmerkmale, sofern beide Merkmale in der FactoryRegistry registriert wurden. Wenn beispielsweise ein DimmableLight-Gerät in der Struktur vorhanden ist und der Entwickler sowohl die Merkmale LevelControl als auch Brightness in FactoryRegistry registriert hat, würde die Discovery API das Vorhandensein beider Merkmale angeben. Der Entwickler kann in seiner Automatisierung entweder das eine oder das andere Merkmal verwenden.
Weitere Informationen finden Sie unter Discovery API auf Android.
Gerät abrufen, das einen vereinfachten Trait unterstützt
Wenn Sie die Geräte-API verwenden, um Geräte in einem Gebäude abzurufen, die ein vereinfachtes Attribut wie SimplifiedThermostat unterstützen, können Sie die Methode has(trait) nicht verwenden. Verwenden Sie stattdessen die Methode has(deviceType):
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }