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:
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) }