スマートホームの 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"
}
}