Vereinfachte Merkmale unter Android

Zur einfacheren Verwendung sind vereinfachte Versionen einiger Merkmale 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 gängige Aufgaben für bestimmte Gerätetypen erleichtern. Vereinfachte Traits sind Home API-Traits und funktionieren wie andere Home API-Traits 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, während LevelControl mehrere move-Befehle hat, von denen die meisten mindestens vier Parameter haben, um eine größere Bandbreite von Anwendungsfällen zu berücksichtigen.

In der folgenden Tabelle sind die einzelnen vereinfachten Eigenschaften und die zugrunde liegenden Standardeigenschaften aufgeführt. Jeder Attributname ist mit der entsprechenden API-Dokumentation verknüpft:

Tabelle: Vereinfachte Eigenschaften
Vereinfachter Trait Standard-Trait
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 beispielsweise ein DimmableLight-Gerät in der Struktur vorhanden ist und der Entwickler sowohl das LevelControl- als auch das Brightness-Trait im FactoryRegistry registriert hat, würde die Discovery API das Vorhandensein beider Traits angeben. Der Entwickler kann in seiner Automatisierung entweder das eine oder das andere Merkmal verwenden.

Weitere Informationen finden Sie unter Discovery API on 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) }