スマートホームの Modes トレイトのスキーマ
action.devices.traits.Modes
- このトレイトは、デバイスで使用可能なすべてのモードとモード固有の設定に対応します。
このトレイトは、任意の数の「n-way」を持つデバイスに使用します。ファイアウォール ルールを モードと各モードの設定は任意であり、各デバイスやデバイスタイプに固有のものです。 各モードには複数の設定が可能ですが、一度に選択できる設定は 1 つのみです。乾燥機では 「繊細」なもの、「normal」「非常に厳しい」です。同時に使用できます。設定をシンプルに Toggles トレイトでオンまたはオフにできます。
たとえば洗濯機には、洗濯物のサイズと温度を設定できます。 これらは互いに独立しているので どちらもモードになりますが 状態は一度に 1 つのみです。ユーザーは「洗濯機の温度を低温にして」といったコマンドを使って、温度などのモードを明示的に設定できます。
一部のモードは「順序付け」されており、上げる / 下げる、増やす / 減らすといった言い回しで調節することもできます。たとえば、洗濯物の重さ(小、中、大)と温度は明確に順序付けされています(他のデバイスのような、温度は数値目標がある本物のサーモスタットではありません)。洗濯物の種類(デリケート、普通、ウールなど)は順序付けされていません。
この特性は、ユーザーが設定できる 1 つ以上の独立したモードに対応しています。一般に、これらのモードは、デバイスの他の動作からリンクされていない機能に使用するべきです。デバイス自体のオン / オフなどのリンクされた動作は、
より具体的なトレイトを使用します(たとえば、thermostatMode
トレイト TemperatureSetting)。
デバイスの属性
このトレイトを持つデバイスは、以下をレポートすることがあります。
SYNC
オペレーションの一部として使用できます。学習内容
SYNC
インテントの処理の詳細については、以下をご覧ください。
インテント フルフィルメント。
属性 | タイプ | 説明 |
---|---|---|
availableModes |
配列 |
必須。 使用可能なモードのリスト。 |
[item, ...] |
オブジェクト |
使用可能なモード。 |
name |
String |
必須。 モードの内部名。コマンドと状態で使用されます。これは、ユーザー フレンドリーな名前とは限らず、すべての言語に共通です。 |
name_values |
配列 |
必須。 サポートされている各言語でのモードと同義。 |
[item, ...] |
オブジェクト |
特定の言語のモードと同義。 |
name_synonym |
配列 |
必須。 モードと同義。このリストの最初の文字列が、その言語のレベルの正規名として使用されます。 |
[item, ...] |
String |
類義語名。 |
lang |
String |
必須。 言語コード(ISO 639-1)。サポートされている言語をご確認ください。 |
settings |
配列 |
必須。 このモードでサポートされる設定。 |
[item, ...] |
オブジェクト |
サポートされている設定。 少なくとも 2 つのアイテムが必要です。 |
setting_name |
String |
必須。 モード設定の内部名。コマンドと状態で使用されます。これは、ユーザー フレンドリーな名前とは限らず、すべての言語に共通です。 |
setting_values |
配列 |
必須。 サポートされている各言語での設定と同義語。 |
[item, ...] |
オブジェクト |
特定の言語における設定と同義。 |
setting_synonym |
配列 |
必須。 設定の同義語。このリストの最初の文字列が、その言語のレベルの正規名として使用されます。 |
[item, ...] |
String |
類義語名。 |
lang |
String |
必須。 言語コード(ISO 639-1)。サポートされている言語をご確認ください。 |
ordered |
ブール値 |
(デフォルト: これが true に設定されている場合は、設定配列の順番(昇順)に増減ロジックの文法が適用されます。 |
commandOnlyModes |
ブール値 |
(デフォルト: デバイスが一方向(true)または双方向(false)の通信の使用をサポートしているかどうかを示します。デバイスがこのトレイトの QUERY インテントまたは Report State に応答できない場合は、この属性を true に設定します。 |
queryOnlyModes |
ブール値 |
(デフォルト: デバイスが問い合わせのみの実行をサポートしている場合、必須。この属性は、デバイスの状態情報の照会のみ可能で、制御はできないかどうかを示します。 |
例
複数のモードと設定を備えたデバイス。
{ "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 } ] }
コマンド専用モードのデバイス
{ "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 }
デバイスのステータス
このトレイトを持つエンティティは、以下を報告する場合があります。
複数の状態を QUERY
オペレーションの一部として呼び出します。学習内容
QUERY
インテントの処理の詳細については、以下をご覧ください。
インテント フルフィルメント。
州 | タイプ | 説明 |
---|---|---|
currentModeSettings |
オブジェクト |
必須。 デバイスのモード |
<string> |
String |
現在の気温: |
例
デバイスはどのモードになっていますか?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
デバイスのコマンド
このトレイトを持つデバイスは、以下の動作に反応します。
コマンドを EXECUTE
オペレーションの一部として使用できます。学習内容
EXECUTE
インテントの処理の詳細については、以下をご覧ください。
インテント フルフィルメント。
action.devices.commands.SetModes
更新モードの設定。
パラメータ
パラメータ | タイプ | 説明 |
---|---|---|
updateModeSettings |
オブジェクト |
必須。 デバイスのモード |
<string> |
String |
新しい |
例
負荷が高いように設定します。
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
サンプル音声
<ph type="x-smartling-placeholder">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