Für eine einfache Verwendung sind vereinfachte Versionen einiger Merkmale für die Verwendung mit der Automation API auf Android verfügbar.
Ein vereinfachtes Attribut steht für ein Standardattribut der Home API, ähnlich wie beim Fassadenmuster. Vereinfachte Eigenschaften bieten Befehle, die häufige Aufgaben für bestimmte Gerätetypen erleichtern. Vereinfachte Eigenschaften sind Home API-Eigenschaften und funktionieren wie andere Home API-Eigenschaften sowohl für Matter- als auch für Cloud-to-cloud-Geräte.
Ein vereinfachtes Attribut bietet eine alternative Teilmenge von Attributen und Befehlen, die gerätespezifischer sind als die des entsprechenden Standardattributs.
Das Standardattribut LevelControl
ist beispielsweise ein generisches Attribut, das für alle Geräte verwendet werden kann, deren Einstellung kontinuierlich über einen Bereich von numerischen Werten variiert.
Brightness
ist eine vereinfachte Eigenschaft, die LevelControl
ersetzt und nur die Befehle und Attribute enthält, die für ein DimmableLight
-Gerät erforderlich sind. Brightness
hat den Befehl moveToBrightness
, der ein einzelnes brightnessPercent
-Argument annimmt, während LevelControl
mehrere move
-Befehle hat, von denen die meisten mindestens vier Parameter haben, um eine größere Bandbreite von Anwendungsfällen abzudecken.
In der folgenden Tabelle sind die einzelnen vereinfachten Merkmale und die zugrunde liegenden Standardmerkmale aufgeführt. Über jeden Merkmalnamen wird eine Verknüpfung zur entsprechenden API-Dokumentation hergestellt:
Vereinfachter Merkmal | Standardmerkmal |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
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 sich beispielsweise ein DimmableLight
-Gerät im Gebäude befindet und der Entwickler sowohl das Attribut LevelControl
als auch das Attribut Brightness
in der FactoryRegistry
registriert hat, gibt die Discovery API an, dass beide Attribute vorhanden sind. Der Entwickler kann eine der beiden Eigenschaften in seiner Automatisierung verwenden.
Weitere Informationen finden Sie unter Discovery API auf Android-Geräten.
Gerät abrufen, das ein vereinfachtes Merkmal unterstützt
Wenn Sie mit der Device API Geräte in einem Gebäude abrufen, die ein vereinfachtes Merkmal 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) }