Vereinfachte Merkmale unter Android

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:

Tabelle: Vereinfachte Merkmale
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) }