スマートホームの Fill トレイトのスキーマ
action.devices.traits.Fill
- このトレイトは、バスタブのように充填可能なデバイスに適用されます。
デバイスの属性
このトレイトを持つデバイスは、SYNC
オペレーションの一部として次の属性を報告できます。SYNC
インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。
属性 | タイプ | 説明 |
---|---|---|
availableFillLevels |
オブジェクト |
デバイスのさまざまな充填レベルを示します。 |
levels |
配列 |
必須。 レベル名と言語固有の同義語のリスト。 |
[item, ...] |
オブジェクト |
レベル名とその言語固有の同義語。 |
level_name |
String |
必須。 レベルの内部名。これは、ユーザー フレンドリーな名前とは限らず、すべての言語に共通です。 |
level_values |
配列 |
必須。 サポートされている各言語でのレベルの同義語。 |
[item, ...] |
オブジェクト |
特定の言語でのレベルの同義語。 |
level_synonym |
配列 |
必須。 レベルの同義語。このリストの最初の文字列が、その言語のレベルの正規名として使用されます。 |
[item, ...] |
String |
類義語名。 |
lang |
String |
必須。 言語コード(ISO 639-1)。サポートされている言語をご覧ください。 |
ordered |
ブール値 |
必須。 true の場合、デバイスは |
supportsFillPercent |
ブール値 |
(デフォルト: true の場合、レベルをパーセンテージに調整するコマンドを受け入れます。 |
例
個別の充填レベルに対応していない、基本的な注入または排水機能があるデバイス。
{}
個別の充電レベルをサポートするデバイス
{ "availableFillLevels": { "levels": [ { "level_name": "half_level", "level_values": [ { "level_synonym": [ "Half", "Half way", "One half" ], "lang": "en" } ] }, { "level_name": "full_level", "level_values": [ { "level_synonym": [ "Full", "All the way", "Complete" ], "lang": "en" } ] } ], "ordered": true } }
デバイスのステータス
このトレイトを持つエンティティは、QUERY
オペレーションの一部として次の状態をレポートできます。QUERY
インテントの処理について詳しくは、インテント フルフィルメントをご覧ください。
州 | タイプ | 説明 |
---|---|---|
isFilled |
ブール値 |
必須。 デバイスが任意のレベルまで充填されている場合は true です。デバイスのバッテリーが完全に消耗している場合は false。 |
currentFillLevel |
String |
|
currentFillPercent |
数値 |
|
例
「バスタブにお湯は入ってる?」
{ "isFilled": true }
バスタブはいっぱいになってる?(レベルあり)
{ "isFilled": true, "currentFillLevel": "half_level" }
デバイスのコマンド
このトレイトを持つデバイスは、EXECUTE
オペレーションの一部として次のコマンドに応答できます。EXECUTE
インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。
action.devices.commands.Fill
デバイスを充填または排水します。
パラメータ
パラメータ | タイプ | 説明 |
---|---|---|
fill |
ブール値 |
必須。 充填する場合は true、排水する場合は false。 |
fillLevel |
String |
設定する |
fillPercent |
数値 |
リクエストされたレベルの割合を示します。 |
例
浴槽にお湯を入れます。
{ "command": "action.devices.commands.Fill", "params": { "fill": true } }
浴槽を排水します。
{ "command": "action.devices.commands.Fill", "params": { "fill": false } }
「バスタブに半分までお湯を入れて。」
{ "command": "action.devices.commands.Fill", "params": { "fill": true, "fillLevel": "half_level" } }
浴槽の水位を 1 つ上げます(ordered
属性が true
である必要があります)。
{ "command": "action.devices.commands.Fill", "params": { "fill": true, "fillLevel": "full_level" } }