Alexa.ThermostatController.Configurationインターフェース3
サーモスタットがAlexaアプリでの設置とセットアップをサポートする場合、AlexaスキルにAlexa.ThermostatController.Configuration
インターフェースを実装します。ユーザーがセットアップを完了したら、Alexaは接続された暖房、換気、空調(HVAC)システムの設定情報をスキルに送信します。この設定を使用してサーモスタットの設定を更新できます。HVACシステム設定には、デフォルトの温度単位、燃料源、サーモスタットへの端子接続といった情報が含まれます。
通常、Alexa.ThermostatController.Configuration
インターフェースは、Alexa.ThermostatController
インターフェース、Alexa.TemperatureSensor
インターフェースと併せて使用します。
Alexa.ThermostatController.Configuration
インターフェースがサポートするロケールについては、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。
発話
Alexa.ThermostatController.Configuration
インターフェースは、ほかのAlexaインターフェースとは異なります。スキルは、Alexaとユーザーとの音声対話を直接サポートしません。その代わり、Alexaが、HVAC設定についてスキルと通信します。このインターフェースにはユーザー発話はありません。
サーモスタットの設定
サーモスタットの設定には、接続されたHVACシステムに関する情報が含まれています。
サーモスタットのセットアップ状態
ユーザーがサーモスタットを購入すると、デバイスの設定は工場出荷モードになっています。ユーザーは、Alexaアプリを使い、接続したHVACシステムに応じてデバイスを設定します。設定が完了したら、状態はリモートコントロールに変更され、ユーザーはAlexaにサーモスタットの操作をリクエストできるようになります。
次の表は、想定されるセットアップ状態の一覧です。
状態 | 説明 |
---|---|
|
サーモスタットは初期状態です。または、ユーザーが工場出荷のデフォルト状態にリセットした場合が考えられます。工場出荷の状態にリセットすると、デバイスに保存されていた設定はすべて消去されます。 |
|
ユーザーが一部リセットを行った状態です。この状態のサーモスタットはHVACシステムを制御することはできますが、リセットにより、デバイスに保存されていたHVAC設定を除く設定はすべて消去されています。たとえば、一部リセットにより、アカウント情報、Wi-Fi認証情報、スケジュール、運転温度範囲の値が消去されます。 |
|
ユーザーがサーモスタットの設定を完了し、サーモスタットは全面的に運転可能な状態にあります。ユーザーは、Alexaアプリやデバイスアプリを使って、リモートからスケジュールを定義したり、サーモスタットを操作したりできます。 |
HVACシステムのタイプ
以下の表は、サーモスタットに接続可能なHVACシステムのタイプの一覧です。
型 | 説明 |
---|---|
CONVENTIONAL_STANDARD_GAS |
天然ガスを使用する強制空気加熱システムです。暖房および補助加熱システムで有効です。 |
CONVENTIONAL_HIGH_EFFICIENCY_GAS |
天然ガスを使用する、高効率の強制空気加熱システムです。暖房および補助加熱システムで有効です。 |
CONVENTIONAL_OIL |
石油を使用する強制空気加熱システムです。暖房および補助加熱システムで有効です。 |
CONVENTIONAL_ELECTRIC |
電気を使用する強制空気加熱システムです。暖房および補助加熱システムで有効です。 |
CONVENTIONAL_HOT_WATER_FAN_COIL |
温水コイルを使用する強制空気加熱システムです。暖房および補助加熱システムで有効です。 |
AIR_TO_AIR_HEATPUMP |
外気を熱源として、内気をヒートシンクとして使用するヒートポンプです。冷却の際は、内気を熱源、外気をヒートシンクとして使用します。暖房および冷却システムで有効です。 |
GEO_THERMAL_HEATPUMP |
地表温度を熱源として、内気をヒートシンクとして使用するヒートポンプです。冷却の際は、内気を熱源、地表温度をヒートシンクとして使用します。暖房および冷却システムで有効です。 |
RADIANT_HOT_WATER |
複数のパイプを通して温水を循環させることで空気を温める暖房システムです。暖房システムで有効です。 |
RADIANT_FAN_COIL |
ファンコイルを使用する暖房および冷却システムです。暖房および冷却システムで有効です。 |
RADIANT_STEAM |
蒸気をラジエーターに送って空気を温める暖房システムです。暖房システムで有効です。 |
CENTRAL_AIR_CONDITIONING |
コンデンサーユニットと空気循環システムを使って空気を冷やす冷却システムです。冷却システムで有効です。 |
端子の用途
サーモスタットの各端子接続は、特定の目的でHVACシステムに接続します。
以下の表は、端子の用途と説明の一覧です。
用途 | 説明 |
---|---|
|
補助または非常用の暖房または冷却システムを制御します。 |
|
24ボルトの閉じた電源回路によりサーモスタットに電力を供給します。 |
|
冷却システムを制御します。 |
|
除湿器を制御します。 |
|
空気循環用ファンを制御します。 |
|
暖房システムを制御します。 |
|
加湿器を制御します。 |
|
このサーモスタット固有の用途、またはあまり知られていない用途を表します。 |
|
サーモスタットおよび接続された連動システムに電源を供給します。 |
|
センサーからの値を読み取る際に使用します。センサーはサーモスタットの外部に取り付けられている場合があります。 |
|
サーモスタットまたはHVACシステムのステータスを示します。たとえば、赤いライトが点灯すると暖房システムがエラーになったことを表します。 |
|
ヒートポンプのバルブを逆に回すことで、システムの運転モードを暖房または冷却に切り替えます。 |
端子の名称
以下の表は、よく使われる端子の名称、端子の用途、接続されているケーブルの機能の一覧です。HVACシステムによっては、端子の接続が異なる場合があります。
端子の名称 | 端子の用途 | 説明 |
---|---|---|
|
|
プライマリシステムに障害が発生したり、能力が制限されたりした場合に、セカンダリHVACシステムに信号を送ります。 |
|
|
ヒートポンプの場合、このケーブルから冷却から暖房、暖房から冷却に変更する信号が送られます。 |
|
|
連続した電力供給を可能にする24ボルトの汎用ケーブルです。この端子はサーモスタットに電力を供給するために必要です。 |
|
|
湿度を下げる除湿器を制御します。 |
|
|
非常用暖房モードをオンにします。 |
|
|
生活空間に空気を循環させる送風ファンを制御します。 |
|
|
湿度を上げる加湿器を制御します。 |
|
|
一部のサーモスタットでYおよびFのケーブルを結合します。 |
|
|
デバイスの運転ステータスを示すライト端子です。 |
|
|
HVACシステムに電力を供給します。HVACシステムには、RcとRhの端子が別々に存在する場合があります。 |
|
|
冷却システムに電力を供給します。 |
|
|
暖房システムに電力を供給します。 |
|
|
外気温度センサーに接続します。 |
|
|
単段式暖房システムまたは多段式暖房システムの1段目に接続します。 |
|
|
多段式暖房システムの2段目または補助暖房システムに接続します。 |
|
|
多段式暖房システムの3段目または多段式補助暖房システムの2段目に接続します。 |
|
|
単段式冷却システムまたは多段式冷却システムの1段目に接続します。 |
|
|
多段式冷却システムの2段目または補助冷却システムに接続します。 |
|
|
多段式冷却システムの3段目に接続します。 |
プロパティとオブジェクト
Alexa.ThermostatController.Configuration
インターフェースには、次のプロパティとオブジェクトが含まれます。
出力可能なプロパティ
以下の表は、Alexa.ThermostatController.Configuration
インターフェースが定義するプロパティを示しています。検出応答で、サポートするプロパティを指定します。すべてのプロパティはオプションです。サーモスタットデバイスのコンポーネントに対応するプロパティのみを含めてください。
プロパティ | 説明 | 型 |
---|---|---|
|
サーモスタット設定の現在の状態です。ユーザーがサーモスタットに何らかの操作を行う前に、Alexaはサーモスタットのセットアップ状態を知っておく必要があります。 |
文字列 |
|
サーモスタット設定の現在の温度単位です。 |
文字列 |
ComponentConfigurationConstraintsオブジェクト
ComponentConfigurationConstraints
オブジェクトは、サーモスタットデバイスの設定中の制約を定義します。フィールドはすべて任意です。適用される制約のみ指定します。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
サーモスタットで利用できる端子の一覧です。ユーザーからの入力がなくても、サーモスタットで端子を検出できる場合、このフィールドは不要です。このリストは、 |
|
✕ |
|
サポートされる暖房システムの最大段数です。 |
整数 |
✕ |
|
サポートされる冷却システムの最大段数です。 |
整数 |
✕ |
|
サポートされる暖房システムの最大段数です。 |
整数 |
✕ |
|
サポートされる切り替えタイプのリストです。切り替えタイプとは、暖房と冷却を切り替える方法を表します。このフィールドを含めない場合、Alexaはサーモスタットがすべての切り替えタイプをサポートしていると見なします。配列には、1つ以上のエントリを含める必要があります。 |
文字列の配列 |
✕ |
|
暖房の最低ロックアウト温度です。 |
|
✕ |
|
暖房の最高ロックアウト温度です。 |
|
✕ |
|
冷却の最低ロックアウト温度です。 |
|
✕ |
|
冷却の最高ロックアウト温度です。 |
|
✕ |
|
ユーザーが最低および最高ロックアウト温度を設定する際に使用する上昇幅です。上昇幅は、1.0 °Fまたは0.5 °Cの倍数で定義します。 |
|
✕ |
TerminalDescriptionオブジェクト
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
端子の名称です。 |
文字列 |
◯ |
|
端子の用途です。Alexaはこの情報を使用して、セットアップ中のユーザーにヘルプを提供します。サーモスタットの運転に関する情報は必要ありません。有効な値については、端子の用途を参照してください。 |
整数 |
✕ |
ComponentConfigurationオブジェクト
ComponentConfiguration
オブジェクトは、接続された端子、HVACシステム、その他サーモスタットの運転に必要な設定に関する情報を提供します。
プロパティ | 説明 | 型 |
---|---|---|
|
サーモスタットの端子に接続されるケーブルを識別します。 |
|
|
HVACシステムに関する情報です。 |
|
TerminalInformationオブジェクト
TerminalInformation
オブジェクトは、サーモスタットの端子にケーブル接続するHVACシステムの接続情報を提供します。このオブジェクトは、TerminalConnection
オブジェクトの配列です。
TerminalConnectionオブジェクト
TerminalConnection
オブジェクトは、サーモスタットの各端子に関する情報を提供します。
プロパティ | 説明 | 型 |
---|---|---|
|
端子の名称です。 |
1~5文字の文字列 |
|
端子の接続状態です。 |
文字列 |
|
(任意)よく使われる端子の接続タイプです。外部接続は、アダプターからの接続です。 |
文字列 |
SystemInformationオブジェクト
SystemInformation
オブジェクトは、サーモスタットに接続されるHVACシステムに関する情報を提供します。
プロパティ | 説明 | 型 |
---|---|---|
|
暖房、冷却、補助システムの設定のリストです。設定を含むシステムに対してのみ指定します。 |
|
|
冷却システムの設定です。 |
|
|
暖房システムの設定です。 |
|
|
1つで暖房および冷却を処理するシステムの設定です。 |
|
|
サーモスタットがHVACシステムを停止する温度を超える外気温。設定されている場合は、補助システムに切り替えます。 |
|
SystemConfigurationオブジェクト
SystemConfiguration
オブジェクトを使用して、HVACシステムの設定を定義します。通常、ヒートポンプを使うシステムには設定が必要です。
プロパティ | 説明 | 型 |
---|---|---|
|
システムのタイプです。 |
文字列 |
|
システムの設定です。 |
|
HeatPumpConfigurationオブジェクト
以下の表は、HeatPumpConfiguration
オブジェクトの詳細を示しています。
プロパティ | 説明 | 型 |
---|---|---|
|
ヒートポンプの値を逆にするタイミングを表します。 |
文字列 |
CoolingSystemオブジェクト
CoolingSystem
オブジェクトを使用して冷却の段を定義します。
プロパティ | 説明 | 型 |
---|---|---|
|
各段の冷却タイプです。配列の要素は、冷却システムの段に対応します。たとえば、配列の最初の要素は1段目を定義します。 |
|
HeatingSystemオブジェクト
HeatingSystem
オブジェクトを使用して、暖房の段を定義します。
プロパティ | 説明 | 型 |
---|---|---|
|
各段の暖房システムのタイプです。配列の要素は、暖房システムの段に対応します。たとえば、配列の最初の要素は1段目を定義します。 |
|
|
(任意)補助暖房システムのタイプです。サーモスタットは、プライマリシステムの暖房能力が十分でないとき、または運転を停止したときに、補助暖房システムをオンにします。補助システムが、ヒートポンプであることは決してありません。また補助システムは単段式です。 |
|
SystemStageオブジェクト
SystemStage
オブジェクトは、その段に紐づけられたシステムを表します。
プロパティ | 説明 | 型 |
---|---|---|
|
段に紐づけられたシステムです。有効な値については、HVACシステムのタイプを参照してください。 |
文字列 |
AuxiliaryHeatingSystemオブジェクト
AuxiliaryHeatingSystem
オブジェクトは、補助暖房システムのタイプを識別します。
プロパティ | 説明 | 型 |
---|---|---|
|
補助暖房システムのタイプです。有効な値については、HVACシステムのタイプを参照してください。 |
文字列 |
MultimodeConfigurationオブジェクト
MultimodeConfiguration
オブジェクトは、1つのシステムで暖房と冷却の両方をサポートするHVACシステムの切り替えを指定します。
プロパティ | 説明 | 型 |
---|---|---|
|
暖房と冷却を切り替える方法を表します。たとえば、サーモスタットはモードの切り替えを自動で行うことも、ユーザーが手動でモードを切り替えることもできます。 |
文字列 |
LockoutTemperaturesオブジェクト
LockoutTemperatures
オブジェクトは、サーモスタットが補助システムに切り替わる外気温を表します。暖房システムにも冷却システムにもロックアウト温度が定義されている場合があります。
プロパティ | 説明 | 型 |
---|---|---|
|
この外気温で、サーモスタットはプライマリ暖房システムを停止し、補助暖房システムの運転を開始します。 |
|
|
この外気温で、サーモスタットはプライマリ冷却システムを停止し、補助冷却システムの運転を開始します。 |
|
検出
Alexa.ThermostatController.Configuration
をサポートするエンドポイントは、Alexa.Discovery
の標準検出メカニズムを使用して表します。
Alexaからスキルに状態レポートリクエストが送信されたら、レポートするプロパティのretrievable
をtrueに設定します。変更レポートでAlexaにプロアクティブにレポートする場合はプロパティのproactivelyReported
をtrueに設定します。
表示カテゴリーにはTHERMOSTAT
を使用します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。
サーモスタットデバイスがリモート設定をサポートする場合、setupState
プロパティを含めます。デバイスが温度単位の変更をサポートする場合、temperatureScale
プロパティを含めます。
configurationオブジェクト
Alexa.ThermostatController.Configuration
には、標準の検出応答フィールドのほかに、次のフィールドを含むconfiguration
オブジェクトを含めます。フィールドはすべて任意です。サーモスタットデバイスのコンポーネントに対応するフィールドのみを含めてください。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
サーモスタットがサポートする状態です。ユーザーがAlexaアプリでサーモスタットをリセットできる場合にのみ、このフィールドを含めてください。含まれない場合、Alexaは |
|
✕ |
|
サーモスタットでサポートされる設定の制約を定義します。Alexaは、制約を使ってユーザーまたは技術者が提供したHVACシステムの情報を検証します。サーモスタットがコンポーネントの設定更新をサポートしている場合にのみ、このフィールドを含めてください。含まれない場合、Alexaは |
✕ | |
|
サーモスタットをセットアップして、 |
文字列の配列 |
✕ |
|
サーモスタットがサポートする温度単位のリストです。 |
温度単位文字列の配列 |
✕ |
検出応答の例
以下は、サーモスタットの設定を受け入れ、Alexa.ThermostatController
インターフェースとAlexa.EndpointHealth
インターフェースをサポートするAlexaスキルのDiscover.Response
メッセージの例です。この例のサーモスタットデバイスは、setupState
プロパティとtemperatureScale
プロパティをサポートします。
ディレクティブ
Alexaは、次のAlexa.ThermostatController.Configuration
インターフェースディレクティブをスキルに送信します。
GetComponentConfigurationディレクティブ
GetComponentConfiguration
ディレクティブをサポートすると、AlexaがHVACシステムの詳細をユーザーに表示したり、同じHVACシステムに接続されている別のサーモスタットをセットアップしたりできます。
このディレクティブにはペイロードがありません。
GetComponentConfigurationディレクティブの例
以下は、Alexaがスキルに送信するGetComponentConfiguration
ディレクティブの例です。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController.Configuration",
"name": "GetComponentConfiguration",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {}
}
}
GetComponentConfiguration応答
GetComponentConfiguration
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。
以下は、GetComponentConfiguration
応答の例です。
応答のペイロード
成功の場合、サーモスタットデバイスに保存されている設定を返します。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
接続された端子、HVACシステム、その他サーモスタットの運転に必要な設定に関する情報を提供します。 |
|
◯ |
GetComponentConfigurationディレクティブのエラー処理
GetComponentConfiguration
ディレクティブを正しく処理できない場合は、Alexa.ThermostatController.Configuration.ErrorResponse
イベントを使用して応答します。サーモスタット固有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
ResetDeviceConfigurationディレクティブ
ResetDeviceConfiguration
ディレクティブをサポートすると、Alexaはサーモスタットデバイスの状態を設定できます。
ResetDeviceConfigurationディレクティブの例
次の例は、Alexaがスキルに送信するResetDeviceConfiguration
ディレクティブを示しています。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController.Configuration",
"name": "ResetDeviceConfiguration",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"targetState": "DEVICE_CONTROL_ONLY"
}
}
}
ResetDeviceConfigurationディレクティブのペイロード
以下の表は、Alexaがスキルに送信するResetDeviceConfiguration
ディレクティブのペイロードの詳細です。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
想定されるデバイスの状態を示します。リクエストされた値は、検出応答の |
文字列 |
◯ |
ResetDeviceConfiguration応答
ResetDeviceConfiguration
ディレクティブを正常に処理し、デバイスが対象の状態に設定をリセットしたら、Alexa.Response
イベントを使って応答します。
SetupDevice
リクエスト、ResetDeviceConfiguration
リクエストのいずれかがすでに進行中の場合、エラータイプをALREADY_IN_OPERATION
に設定してAlexa.ErrorResponse
を返します。
ResetDeviceConfigurationディレクティブのエラー処理
ResetDeviceConfiguration
ディレクティブを正常に処理できない場合、デバイスの設定を変更せずに、Alexa.ThermostatController.Configuration.ErrorResponse
イベントで応答します。サーモスタット固有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
SetComponentConfigurationディレクティブ
SetComponentConfiguration
ディレクティブをサポートすると、AlexaはデバイスにHVAC設定を提供できます。ユーザーは、Alexaアプリでのサーモスタットセットアップまたは設定の更新中に、この情報を指定します。
SetComponentConfigurationディレクティブの例
以下は、Alexaがスキルに送信するSetComponentConfiguration
ディレクティブの例です。
SetComponentConfigurationディレクティブのペイロード
以下の表は、Alexaがスキルに送信するSetComponentConfiguration
ディレクティブのペイロードの詳細です。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
HVACとケーブル接続の設定です。検出応答の |
|
◯ |
SetComponentConfiguration応答
SetComponentConfiguration
ディレクティブを正常に処理し、デバイスが設定を適用できたら、Alexa.Response
を使って応答します。
デバイスのセットアップをすでに完了し、設定の更新を受け入れられない場合、エラータイプをCONFIGURATION_UPDATE_NOT_ALLOWED
に設定し、Alexa.ThermostatController.Configuration.ErrorResponse
を返します。
指定した設定がデバイスでサポートされない場合、エラータイプをINVALID_VALUE
に設定し、Alexa.ErrorResponse
で応答します。
SetComponentConfigurationディレクティブのエラー処理
SetComponentConfiguration
ディレクティブを正常に処理できない場合、デバイスの設定を変更せずに、Alexa.ThermostatController.Configuration.ErrorResponse
で応答します。サーモスタット固有のエラーではない場合は、汎用のAlexa.ErrorResponse
を使用して応答することもできます。
SetTemperatureScaleディレクティブ
SetTemperatureScale
ディレクティブをサポートすると、ユーザーがデバイスの温度単位を更新できます。検出応答のsupportedTemperatureScales
フィールドに、サポートされている温度単位のリストを指定します。
SetTemperatureScaleディレクティブの例
次の例は、Alexaがスキルに送信するSetTemperatureScale
ディレクティブを示しています。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController.Configuration",
"name": "SetTemperatureScale",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"temperatureScale": "FAHRENHEIT"
}
}
}
SetTemperatureScaleディレクティブのペイロード
以下の表は、Alexaがスキルに送信するSetTemperatureScale
ディレクティブのペイロードの詳細です。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
デバイスに表示する温度単位です。 |
文字列 |
◯ |
SetTemperatureScale応答
SetTemperatureScale
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。
SetTemperatureScaleディレクティブのエラー処理
SetTemperatureScale
ディレクティブを正しく処理できない場合は、Alexa.ThermostatController.Configuration.ErrorResponse
イベントを使用して応答します。サーモスタット固有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
SetupDeviceディレクティブ
SetupDevice
ディレクティブをサポートすると、サーモスタットのセットアップ中にユーザーが設定した情報を取得できます。設定情報には、HVAC設定と温度単位が含まれます。
SetupDeviceディレクティブの例
以下は、Alexaがスキルに送信するSetupDevice
ディレクティブの例です。
SetupDeviceディレクティブのペイロード
以下の表は、Alexaがスキルに送信するSetupDevice
ディレクティブのペイロードの詳細です。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
HVACとケーブル接続の設定です。検出応答の |
|
✕ |
|
Alexaアプリおよびサーモスタットデバイスに表示したい温度単位です。検出応答の |
文字列 |
✕ |
SetupDevice応答
SetupDevice
ディレクティブを正常に処理し、デバイスが設定を適用できた場合、デバイスのsetupState
をREMOTE_CONTROL
に設定し、Alexa.Response
イベントで応答します。
SetupDevice
リクエスト、ResetDeviceConfiguration
リクエストのいずれかがすでに進行中の場合、エラータイプをALREADY_IN_OPERATION
に設定してAlexa.ErrorResponse
を返します。デバイスのセットアップをすでに完了し、設定の更新を受け入れられない場合、エラータイプをCONFIGURATION_UPDATE_NOT_ALLOWED
に設定し、Alexa.ThermostatController.Configuration.ErrorResponse
を返します。
SetupDeviceディレクティブのエラー処理
SetupDevice
ディレクティブを正常に処理できない場合、デバイスの設定を変更せずに、Alexa.ThermostatController.Configuration.ErrorResponse
イベントで応答します。サーモスタット固有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
状態レポート
Alexaはエンドポイントの状態についての情報をリクエストするために、ReportState
ディレクティブを送信します。AlexaがReportState
ディレクティブを送信したら、それに対する応答としてStateReport
イベントを送信します。応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、状態および変更レポートについてを参照してください。
StateReport応答の例
この例のサーモスタットデバイスは、setupState
とtemperatureScale
の両方をサポートします。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "StateReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [{
"namespace": "Alexa.ThermostatController.Configuration",
"name": "setupState",
"value": "REMOTE_CONTROL",
"timeOfSample": "2020-02-26T16:20:50Z",
"uncertaintyInMilliseconds": 1000
},
{
"namespace": "Alexa.ThermostatController.Configuration",
"name": "temperatureScale",
"value": "CELSIUS",
"timeOfSample": "2017-02-03T16: 20: 50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "HEAT",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 20.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2020-02-26T16: 20: 50Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
変更レポート
エンドポイントの状態の変化をプロアクティブにレポートするために、ChangeReport
イベントを送信します。プロアクティブにレポートするプロパティは検出応答で特定します。変更レポートの詳細については、状態および変更レポートについてを参照してください。
payload
には変更されたプロパティの値が含まれ、context
にはその他の関連プロパティの値が含まれます。
デバイスのリセットの例
以下は、ユーザーがデバイスのボタンを押してサーモスタットのリセットを試みた後のChangeReport
の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "ChangeReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"change": {
"cause": {
"type": "PHYSICAL_INTERACTION"
},
"properties": [
{
"namespace": "Alexa.ThermostatController.Configuration",
"name": "setupState",
"value": "DEVICE_CONTROL_ONLY",
"timeOfSample": "2020-02-26T16:20:50Z",
"uncertaintyInMilliseconds": 500
}
]
}
}
},
"context": {
"properties": [{
"namespace": "Alexa.ThermostatController.Configuration",
"name": "temperatureScale",
"value": "CELSIUS",
"timeOfSample": "2017-02-03T16: 20: 50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "HEAT",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 20.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2020-02-26T16: 20: 50Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
温度単位変更の例
以下は、ユーザーがAlexaアプリを使って温度単位を変更した後のChangeReport
の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "ChangeReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"change": {
"cause": {
"type": "APP_INTERACTION"
},
"properties": [
{
"namespace": "Alexa.ThermostatController.Configuration",
"name": "temperatureScale",
"value": "FAHRENHEIT",
"timeOfSample": "2020-02-26T16:20:50Z",
"uncertaintyInMilliseconds": 500
}
]
}
}
},
"context": {
"properties": [{
"namespace": "Alexa.ThermostatController.Configuration",
"name": "setupState",
"value": "DEVICE_CONTROL_ONLY",
"timeOfSample": "2020-02-26T16:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "HEAT",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 20.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2020-02-26T16: 20: 50Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
AddOrUpdateReport
エンドポイントの機能サポートが変更された場合は、Alexa.Discovery.AddOrUpdateReport
イベントをプロアクティブに送信する必要があります。たとえば、ファームウェアの更新後に設定の制約が変更された場合などです。詳細については、AddOrUpdateReportイベントを参照してください。
AddOrUpdateReportイベントの例
関連トピック
- ENERGY STAR® Program Requirements For Connected Thermostat Products(英語)
- Alexa.AutomationManagement
- Alexa.DeviceUsage.Estimation
- Alexa.DeviceUsage.Meter
- Alexa.ThermostatController.HVAC.Components
- Alexa.ThermostatController.Schedule
最終更新日: 2024 年 07 月 03 日