Google Home デベロッパー センターにようこそ。スマートホーム アクションの開発方法を学ぶことができます。注: アクションの作成は、引き続き Actions Console で行います。
コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

スマートホームの Modes トレイトのスキーマ

action.devices.traits.Modes - このトレイトは、デバイスで使用可能なすべてのモードとモード固有の設定に対応します。

このトレイトは、特定の「n-way」モード(複数可)を持つデバイスに属します。このモードは、各モードのモードと設定が任意で、各デバイスまたはデバイスタイプに固有のものです。各モードには複数の設定がありますが、同時に 1 つしか選択できません。乾燥機を「繊細」「通常」「重い」モードに同時に置くことはできません。単にオン / オフを切り替える設定の場合は Toggles 特性を使用します。

たとえば、洗濯機の洗濯機の負荷サイズと温度を設定できます。 これらは互いに独立しているため、どちらもモードになりますが、状態は一度に 1 つしかありません。ユーザーは「洗濯機の温度を低温にして」といったコマンドを使って、温度などのモードを明示的に設定できます。

一部のモードは「順序付け」されており、上げる / 下げる、増やす / 減らすといった言い回しで調節することもできます。たとえば、洗濯物の重さ(小、中、大)と温度は明確に順序付けされています(他のデバイスのような、温度は数値目標がある本物のサーモスタットではありません)。洗濯物の種類(デリケート、普通、ウールなど)は順序付けされていません。

この特性は、ユーザーが設定できる 1 つ以上の独立したモードに対応しています。一般に、これらのモードは、デバイスの他の動作からリンクされていない機能に使用するべきです。デバイス自体の電源をオンまたはオフにするなどのリンクされた動作では、より具体的なトレイトを使用する必要があります(たとえば、TemperatureSetting トレイトの thermostatMode)。

デバイスの属性

この特性を持つデバイスは、SYNC オペレーションの一部として次の属性を報告する可能性があります。SYNC インテントの処理の詳細については、インテント フルフィルメントをご覧ください。

属性 タイプ 説明
availableModes 配列

必須。

使用可能なモードのリスト。

[item, ...] オブジェクト

利用可能なモード。

name 文字列

必須。

モードの内部名。コマンドと状態で使用されます。これは、ユーザー フレンドリーな名前とは限らず、すべての言語に共通です。

name_values 配列

必須。

サポートされている各言語でのモードの類義語。

[item, ...] オブジェクト

特定の言語でのモードの類義語。

name_synonym 配列

必須。

このモードの類義語です。このリストの最初の文字列は、その言語のレベルの正規名として使用されます。

[item, ...] 文字列

同義名。

lang 文字列

必須。

言語コード(ISO 639-1)。サポートされている言語をご覧ください。

settings 配列

必須。

このモードでサポートされている設定。

[item, ...] オブジェクト

サポートされている設定。

2 個以上のアイテムが必要です。

setting_name 文字列

必須。

モード設定の内部名。コマンドと状態で使用されます。これは、ユーザー フレンドリーな名前とは限らず、すべての言語に共通です。

setting_values 配列

必須。

サポートされている各言語での設定の類義語。

[item, ...] オブジェクト

特定の言語の設定の類義語。

setting_synonym 配列

必須。

設定の類義語。このリストの最初の文字列は、その言語のレベルの正規名として使用されます。

[item, ...] 文字列

同義名。

lang 文字列

必須。

言語コード(ISO 639-1)。サポートされている言語をご覧ください。

ordered ブール値

(デフォルト: false

true に設定すると、設定配列の順序(昇順)で、増減ロジックの文法が適用されます。

commandOnlyModes ブール値

(デフォルト: false

デバイスが一方向(True)または双方向(False)の通信をサポートしているかどうかを示します。デバイスがこのトレイトの QUERY インテントまたは Report State に応答できない場合は、この属性を true に設定します。

queryOnlyModes ブール値

(デフォルト: false

デバイスが問い合わせのみの実行をサポートしている場合、必須。この属性は、デバイスに対して状態情報のみをクエリでき、制御できないかどうかを示します。

マルチモードと設定のデバイス

{
  "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 オブジェクト

必須。

デバイスの Key-Value name をキー、現在の setting_name を値とする Key-Value ペア。

<string> 文字列

現在の気温: setting_name

デバイスのモード

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

デバイスのコマンド

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

action.devices.commands.SetModes

モード設定を更新します。

パラメータ

パラメータ タイプ 説明
updateModeSettings オブジェクト

必須。

デバイスの Key-Value name をキーとし、新しい setting_name を値とする Key-Value ペア。

<string> 文字列

新しい setting_name

大負荷に設定する。

{
  "command": "action.devices.commands.SetModes",
  "params": {
    "updateModeSettings": {
      "load_mode": "large_load"
    }
  }
}

サンプル音声

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

デバイスエラー

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