Vereinfachte Merkmale

Für die einfache Verwendung sind vereinfachte Versionen einiger Merkmale für die Verwendung mit der Automation API 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 Merkmale sind Home API-Merkmale und funktionieren wie andere Home API-Merkmale sowohl auf Matter- als auch auf Cloud-to-cloud-Geräten.

Ein vereinfachtes Attribut bietet eine alternative Teilmenge von Attributen und Befehlen, die gerätespezifischer sind als die des entsprechenden Standardattributs. Beispielsweise ist das Standardattribut LevelControl 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. Jeder Merkmalname ist mit der entsprechenden API-Dokumentation verknüpft:

Tabelle: Vereinfachte Merkmale
Vereinfachtes Merkmal Standardmerkmal
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

Vereinfachte Merkmale und die Discovery API

Die Discovery API meldet vereinfachte Attribute sowie die zugrunde liegenden Standardattribute, sofern beide Attribute 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.

Gerät abrufen, das ein vereinfachtes Merkmal unterstützt

Wenn Sie mit der Device API Geräte in einer Struktur abrufen, die ein vereinfachtes Attribut wie SimplifiedThermostat unterstützt, 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) }