スマートホームの 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 の場合、デバイスは levels 配列で表されるとおり、増減ロジックの追加の文法を処理します(ハーフレベルなど)。

supportsFillPercent ブール値

(デフォルト: false)。

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

availableFillLevels 属性が設定されている場合、必須。デバイスの充填レベルを示す availableFillLevels 属性の現在の level_name を示します。

currentFillPercent 数値

supportsFillPercent 属性が設定されている場合は必須です。現在の充填レベルの割合を示します。

「バスタブにお湯は入ってる?」

{
  "isFilled": true
}

バスタブはいっぱいになってる?(レベルあり)

{
  "isFilled": true,
  "currentFillLevel": "half_level"
}

デバイスのコマンド

このトレイトを持つデバイスは、EXECUTE オペレーションの一部として次のコマンドに応答できます。EXECUTE インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。

action.devices.commands.Fill

デバイスを充填または排水します。

パラメータ

パラメータ タイプ 説明
fill ブール値

必須。

充填する場合は true、排水する場合は false。

fillLevel String

設定する availableFillLevels 属性の level_name を示します。指定しない場合は、デフォルトのレベルまで充填されます。

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"
  }
}

デバイスエラー

エラーと例外の全リストをご覧ください。