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