Smart Home-Modi – Trait-Schema
action.devices.traits.Modes
: Dieses Merkmal umfasst alle verfügbaren Modi und modusspezifischen Einstellungen für ein Gerät.
Dieses Merkmal gehört zu allen Geräten mit einer beliebigen Anzahl von „n-way“-Modi, in denen die Modi und Einstellungen für jeden Modus beliebig und für jedes Gerät oder jeden Gerätetyp eindeutig sind. Jeder Modus hat mehrere mögliche Einstellungen, aber es kann jeweils nur eine ausgewählt werden. Ein Trockner kann nicht gleichzeitig im Modus „Schonend“, „Normal“ und „Stark“ betrieben werden. Eine Einstellung, die einfach aktiviert oder deaktiviert werden kann, gehört zum Toggles-Trait.
Eine Waschmaschine kann beispielsweise Einstellungen für die Ladungsmenge und die Temperatur haben. Beide wären Modi, da sie unabhängig voneinander sind, aber jeder kann jeweils nur einen Zustand haben. Der Nutzer kann einen Modus wie die Temperatur explizit mit einem Befehl wie Stelle die Temperatur der Waschmaschine auf kalt ein. festlegen.
Einige Modi sind „geordnet“ und können auch mit den Begriffen „erhöhen“/„verringern“ angepasst werden. Beispiele sind die Beladungsgröße (klein, mittel, groß) und die Temperatur, die eindeutig geordnet sind. Die Temperatur ist jedoch kein tatsächlicher Thermostat mit einem numerischen Zielwert wie bei anderen Geräten. Der Beladungstyp (Feinwäsche, normal, Wolle usw.) ist möglicherweise nicht geordnet.
Dieses Attribut umfasst einen oder mehrere einzelne Modi, die Nutzer festlegen können. Im Allgemeinen sollten diese Modi für Funktionen verwendet werden, die nicht mit dem Verhalten anderer Geräte verknüpft sind. Für verknüpftes Verhalten, z. B. das Ein- oder Ausschalten des Geräts selbst, sollten spezifischere Eigenschaften verwendet werden (z. B. thermostatMode
in der Eigenschaft TemperatureSetting).
Geräteattribute
Geräte mit diesem Merkmal können die folgenden Attribute als Teil des Vorgangs SYNC
melden. Weitere Informationen zum Umgang mit SYNC
-Intents finden Sie unter Intent-Fulfillment.
Attribute | Typ | Beschreibung |
---|---|---|
availableModes |
Array |
Erforderlich. Liste der verfügbaren Modi. |
[item, ...] |
Objekt |
Verfügbarer Modus |
name |
String |
Erforderlich. Interner Name des Modus, der in Befehlen und Status verwendet wird. Das ist nicht nutzerfreundlich und wird in allen Sprachen angezeigt. |
name_values |
Array |
Erforderlich. Synonyme des Modus in den einzelnen unterstützten Sprachen. |
[item, ...] |
Objekt |
Synonyme des Modus in einer bestimmten Sprache. Mindestens ein Artikel mit dem |
name_synonym |
Array |
Erforderlich. Synonyme des Modus. Der erste String in dieser Liste wird als kanonischer Name der Ebene in dieser Sprache verwendet. |
[item, ...] |
String |
Synonym name. Mindestens ein Artikel mit dem |
lang |
String |
Erforderlich. Sprachcode (ISO 639-1). Unterstützte Sprachen |
settings |
Array |
Erforderlich. Unterstützte Einstellungen für diesen Modus. |
[item, ...] |
Objekt |
Unterstützte Einstellung. Es sind mindestens zwei Elemente erforderlich. |
setting_name |
String |
Erforderlich. Interner Name der Moduseinstellung, die in Befehlen und Status verwendet wird. Das ist nicht nutzerfreundlich und wird in allen Sprachen angezeigt. |
setting_values |
Array |
Erforderlich. Synonyme der Einstellung in jeder unterstützten Sprache. |
[item, ...] |
Objekt |
Synonyme der Einstellung in einer bestimmten Sprache. |
setting_synonym |
Array |
Erforderlich. Synonyme der Einstellung. Der erste String in dieser Liste wird als kanonischer Name der Ebene in dieser Sprache verwendet. |
[item, ...] |
String |
Synonym name. |
lang |
String |
Erforderlich. Sprachcode (ISO 639-1). Unterstützte Sprachen |
ordered |
Boolesch |
(Standardeinstellung: Wenn diese Option auf „true“ gesetzt ist, wird zusätzliche Grammatik für die Logik zum Erhöhen/Verringern in der Reihenfolge (aufsteigend) des Einstellungsarrays angewendet. |
commandOnlyModes |
Boolesch |
(Standardeinstellung: Gibt an, ob das Gerät die Einwegkommunikation (true) oder die Zweiwegkommunikation (false) unterstützt. Setzen Sie dieses Attribut auf „true“, wenn das Gerät nicht auf einen QUERY-Intent oder einen „Status melden“-Intent für dieses Merkmal reagieren kann. |
queryOnlyModes |
Boolesch |
(Standardeinstellung: Erforderlich, wenn das Gerät die reine Abfrageausführung unterstützt. Dieses Attribut gibt an, ob der Gerätestatus nur abgefragt und das Gerät nicht gesteuert werden kann. |
Beispiele
Gerät mit mehreren Modi und Einstellungen
{ "availableModes": [ { "name": "load_mode", "name_values": [ { "name_synonym": [ "Load", "Size", "Load size" ], "lang": "en" } ], "settings": [ { "setting_name": "small_load", "setting_values": [ { "setting_synonym": [ "Small", "Half" ], "lang": "en" } ] }, { "setting_name": "medium_load", "setting_values": [ { "setting_synonym": [ "Medium", "Normal" ], "lang": "en" } ] }, { "setting_name": "large_load", "setting_values": [ { "setting_synonym": [ "Large", "Full" ], "lang": "en" } ] } ], "ordered": true }, { "name": "temp_mode", "name_values": [ { "name_synonym": [ "Temperature", "Temp" ], "lang": "en" } ], "settings": [ { "setting_name": "hot_temp", "setting_values": [ { "setting_synonym": [ "Hot", "White" ], "lang": "en" } ] }, { "setting_name": "warm_temp", "setting_values": [ { "setting_synonym": [ "Warm", "Color" ], "lang": "en" } ] }, { "setting_name": "cold_temp", "setting_values": [ { "setting_synonym": [ "Cold", "Delicate" ], "lang": "en" } ] } ], "ordered": false } ] }
Gerät mit Nur-Befehl-Modi:
{ "availableModes": [ { "name": "light_mode", "name_values": [ { "name_synonym": [ "Light", "Lighting" ], "lang": "en" } ], "settings": [ { "setting_name": "day_light", "setting_values": [ { "setting_synonym": [ "Day", "Bright" ], "lang": "en" } ] }, { "setting_name": "night_light", "setting_values": [ { "setting_synonym": [ "Night", "Dark" ], "lang": "en" } ] }, { "setting_name": "reading_light", "setting_values": [ { "setting_synonym": [ "Reading", "Ambiant" ], "lang": "en" } ] } ], "ordered": false } ], "commandOnlyModes": true, "queryOnlyModes": false }
Gerätestatus
Für Entitäten mit diesem Merkmal können im Rahmen des Vorgangs QUERY
die folgenden Status gemeldet werden. Weitere Informationen zum Umgang mit QUERY
-Intents finden Sie unter Intent-Fulfillment.
Bundesstaaten | Typ | Beschreibung |
---|---|---|
currentModeSettings |
Objekt |
Erforderlich. Schlüssel/Wert-Paar mit dem Modus |
<string> |
String |
Aktuell: |
Beispiele
In welchem Modus befindet sich das Gerät?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
GERÄTEBEFEHLE
Geräte mit diesem Merkmal können im Rahmen des Vorgangs EXECUTE
auf die folgenden Befehle reagieren. Weitere Informationen zum Umgang mit EXECUTE
-Intents finden Sie unter Intent-Fulfillment.
action.devices.commands.SetModes
Aktualisieren Sie die Einstellungen für den Modus.
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
updateModeSettings |
Objekt |
Erforderlich. Schlüssel/Wert-Paar mit dem Modus |
<string> |
String |
Neu: |
Beispiele
Auf große Last einstellen:
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
Beispieläußerungen
de-DE
- Stelle den Staubsauger auf Ruhemodus
en-US
- set the vacuum to energy saver mode
es-ES
- pon la lavadora en modo frío
fr-FR
- mets l'aspirateur en silencieux
hi-IN
- वैक्यूम पर कार्पेट मोड लगाएं
it-IT
- imposta l'aspirapolvere su silenzioso
ja-JP
- 掃除機 を 静音 モードに設定して
ko-KR
- 세탁기 세탁량 많음 으로 설정해
pt-BR
- acionar a função autolimpeza do aspirador
- ligar o modo de aquecimento