Alexa.ThermostatControllerインターフェース 3
ユーザーがスマートサーモスタットを制御できるように、Alexaスキルに Alexa.ThermostatController
インターフェースを実装しましょう。サーモスタットでは、ヒーター、エアコン、温水器などのデバイスを制御できます。スマートホームスキルの詳細については、スマートホームスキルを理解するを参照してください。
サーモスタットは、温度を感知し、計測温度を所定の設定値や指定された温度範囲内に保持しようとするデバイスです。ThermostatController
インターフェースは、最大2つの設定値と各種サーモスタットモードを備えた、サーモスタットスケジュールのプログラムが可能なデバイスに使用できます。通常、ThermostatController
インターフェースは、Alexa.TemperatureSensor
インターフェースと合わせて使用します。
デバイスがサポートする機能に基づいて、それ以外のAlexa.ThermostatController
インターフェースを実装します。
- Alexaアプリから暖房、換気、空調(HVAC)システムの設定をサーモスタットにダウンロードするには、
Alexa.ThermostatController.Configuration
インターフェースを実装します。 - ユーザーがサーモスタットの温度スケジュールを設定できるようにするには、
Alexa.ThermostatController.Schedule
インターフェースを実装します。 - AlexaがサーモスタットまたはHVACシステムのエネルギー使用量を推測できるようにするには、
Alexa.ThermostatController.HVAC.Components
インターフェースを実装します。
ThermostatController
インターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。
発話
Alexa.ThermostatController
インターフェースを使用する場合、Alexaサービスが開発者に代わって音声対話モデルを提供します。以下に、ユーザーの発話の例を示します。
Alexa, set thermostat to twenty.
Alexa, set the AC to seventy-five.
Alexa, make it warmer in here.
Alexa, make it cooler in here.
Alexa, set thermostat to automatic.
Alexa, turn off the heat.
Alexa, resume thermostat schedule.
Alexa, what mode is my thermostat set to?
アレクサ、サーモスタットを20に設定して
アレクサ、エアコンを24度に設定して
アレクサ、温度を上げて
アレクサ、温度を下げて
アレクサ、サーモスタットを自動に設定して
アレクサ、リビングのエアコンを自動モードにして
ユーザーがこのような発話をすると、Alexaがそれに対応するディレクティブまたは状態レポートリクエストをスキルに送信します。
サーモスタットの設定値の種類
Alexaは、1つまたは2つの温度値を設定できるサーモスタットをサポートします。
- 設定値が1つのサーモスタット
- 設定値が1つのサーモスタットの場合、サーモスタットが保持しようとする温度設定は1つです。たとえば、設定値が1つのサーモスタットは、温度が設定値よりも低くなると暖房をオンにし、温度が設定値よりも高くなると暖房をオフにします。
- 設定値が2つのサーモスタット
- 設定値が2つのサーモスタットには、上限と下限の設定値があります。サーモスタットは、この設定値の範囲内に温度を保持します。
サーモスタットは、モードに応じて異なる設定値に対応できます。詳細については、出力可能なプロパティを参照してください。
サーモスタットのスケジューリング
デバイスが週単位で温度やサーモスタットモードを設定するユーザーリクエストをサポートする場合、Alexa.ThermostatController.Schedule
インターフェースを実装します。
出力可能なプロパティ
以下の表は、Alexa.ThermostatController
インターフェースが定義するプロパティを示しています。検出応答で、サポートするプロパティを指定します。すべてのプロパティはオプションです。サーモスタットデバイスのコンポーネントに対応するプロパティのみを含めてください。
プロパティ | 説明 | 型 |
---|---|---|
targetSetpoint |
サーモスタットは、温度をこの設定値に保持しようとします。このプロパティは、設定値が1つのサーモスタットで使用します。 | Temperature |
lowerSetpoint |
サーモスタットは、温度をこの設定値より上に保持しようとします。このプロパティは、設定値が2つのサーモスタットで使用します。 | Temperature |
upperSetpoint |
サーモスタットは、温度をこの設定値より下に保持しようとします。このプロパティは、設定値が2つのサーモスタットで使用します。 | Temperature |
thermostatMode |
サーモスタットの現在のモードです。 | ThermostatMode |
サーモスタットは、モードに応じて異なる設定値に対応できます。たとえば、HEAT
またはCOOL
モードでサポートするのは目標値のみ、AUTO
またはECO
モードでサポートするのは下限値と上限値です。
検出
Alexa.ThermostatController
をサポートするエンドポイントは、Alexa.Discovery
の標準検出メカニズムを使用して表します。
Alexaからスキルに状態レポートリクエストが送信されたら、レポートするプロパティのretrievable
をtrue
に設定します。変更レポートでAlexaにプロアクティブにレポートするプロパティのproactivelyReported
をtrue
に設定します。
表示カテゴリーにはTHERMOSTAT
を使用します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。
configurationオブジェクト
ThermostatController
には、標準の検出応答フィールドのほかに、次のフィールドを含むconfigurationオブジェクトを含めます。
supportsScheduling
プロパティは廃止になりました。スケジュールをサポートする場合は、代わりにAlexa.ThermostatController.Schedule
インターフェースを実装します。フィールド | 説明 | 型 | 必須 |
---|---|---|---|
supportedModes |
デバイスがサポートするモードです。 | ThermostatMode 文字列の配列です。 |
✕ |
supportsScheduling |
期間を示す設定値をユーザーが指定できる場合はtrue です。たとえば、ユーザーは温度を30分間、21度に設定できます。デフォルトはfalse です。 |
ブール値 | ✕ |
検出応答の例
以下は、サーモスタットを制御し、Alexa.ThermostatController
インターフェースとAlexa.TemperatureSensor
インターフェースをサポートするAlexaスキルのDiscover.Response
メッセージの例です。この例のエンドポイントは、設定値が2つ、モードが3つのサーモスタットです。
エアコン用の検出応答の例
通常、エアコンがサポートする設定値は1つで、モードは冷房のみです。サーモスタットは一般的に常時オンですが、エアコンはユーザーがオンとオフを切り替えます。エアコンの場合、Amazonでは、Alexa.PowerController
インターフェースも実装し、次のリストのようにPowerController
とThermostatController
を同期することをお勧めします。
- サーモスタットのコントローラーモードが
COOL
に設定されたら、電源コントローラーの電源状態をON
にする。 - サーモスタットのコントローラーモードが
OFF
に設定されたら、電源コントローラーの電源状態をOFF
にする。
以下は、エアコンを制御し、ThermostatController
インターフェースとAlexa.PowerController
インターフェースをサポートするAlexaスキルのDiscover.Response
メッセージの例です。応答には、温度を表示するエアコン用のAlexa.TemperatureSensor
インターフェースが含まれています。
ディレクティブ
Alexaは次のAlexa.ThermostatController
インターフェースディレクティブをスキルに送信します。
SetTargetTemperatureディレクティブ
SetTargetTemperature
ディレクティブをサポートすると、サーモスタットに保持させたい温度をユーザーが設定できます。ユーザーは、オプションで新たな温度設定の期間を指定できます。
以下に、ユーザーの発話の例を示します。
Alexa, set bedroom thermostat to twenty.
Alexa, set living room air conditioner to seventy-five.
Alexa, set the kitchen AC to twenty-five degrees for four hours.
アレクサ、寝室のサーモスタットを20に設定して
アレクサ、リビングのエアコンを24度に設定して
SetTargetTemperatureディレクティブの例(設定値が1つのサーモスタット)
次の例は、Alexaがスキルに送信するSetTargetTemperature
ディレクティブを示しています。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController",
"name": "SetTargetTemperature",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3.1"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"targetSetpoint": {
"value": 20.0,
"scale": "CELSIUS"
}
}
}
}
SetTargetTemperatureディレクティブの例(設定値が2つのサーモスタット)
次の例は、設定値が2つのサーモスタット用にAlexaがスキルに送信するSetTargetTemperature
ディレクティブを示しています。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController",
"name": "SetTargetTemperature",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3.1"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"lowerSetpoint": {
"value": 68.0,
"scale": "FAHRENHEIT"
},
"upperSetpoint": {
"value": 72.0,
"scale": "FAHRENHEIT"
}
}
}
}
SetTargetTemperatureディレクティブのペイロード
schedule
プロパティは廃止になりました。スケジュールをサポートする場合は、代わりにAlexa.ThermostatController.Schedule
インターフェースを実装します。フィールド | 説明 | 型 |
---|---|---|
targetSetpoint |
サーモスタットは、温度をこの設定値に保持しようとします。ディレクティブには、設定値が1つのサーモスタット用に、このフィールドが含まれます。 | Temperature オブジェクト |
lowerSetpoint |
サーモスタットは、温度をこの設定値より上に保持しようとします。ディレクティブには、設定値が2つのサーモスタット用に、このフィールドが含まれます。 | Temperature オブジェクト |
upperSetpoint |
サーモスタットは、温度をこの設定値より下に保持しようとします。ディレクティブには、設定値が2つのサーモスタット用に、このフィールドが含まれます。 | Temperature オブジェクト |
schedule |
サーモスタットが指定された設定値を保持する必要のある期間です。指定された期間で、新しい設定値が直ちに適用されます。このフィールドは、ユーザーが指定した場合にのみ含まれます(検出応答でサポートを示している必要があります)。 | TimeInterval オブジェクト |
SetTargetTemperature応答
SetTargetTemperature
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。contextオブジェクトに、関連するすべてのプロパティの値を含めます。
以下は、設定値が1つのサーモスタット用のSetTargetTemperature
応答の例です。
以下は、設定値が2つのサーモスタット用のSetTargetTemperature
応答の例です。
SetTargetTemperatureディレクティブのエラー処理
SetTargetTemperature
ディレクティブを正しく処理できなかった場合は、Alexa.ThermostatController.ErrorResponse
イベントを使用して応答します。温度やサーモスタット特有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
AdjustTargetTemperatureディレクティブ
AdjustTargetTemperature
ディレクティブをサポートすると、サーモスタットに保持させたい温度をユーザーが調整できます。
以下に、ユーザーの発話の例を示します。
Alexa, make it warmer in here.
Alexa, make it cooler in here.
AdjustTargetTemperatureディレクティブの例
以下の例は、Alexaがスキルに送信するAdjustTargetTemperature
ディレクティブを示しています。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController",
"name": "AdjustTargetTemperature",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3.1"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"targetSetpointDelta": {
"value": -2.0,
"scale": "CELSIUS"
}
}
}
}
AdjustTargetTemperatureディレクティブのペイロード
フィールド | 説明 | 型 |
---|---|---|
targetSetpointDelta |
温度の変化量です。変化量は正でも負でもかまいません。 | Temperature オブジェクト |
AdjustTargetTemperature応答
AdjustTargetTemperature
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。contextオブジェクトに、関連するすべてのプロパティの値を含めます。
以下は、設定値が1つのサーモスタット用のAdjustTargetTemperature
応答の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "Response",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "HEAT",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 18.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.TemperatureSensor",
"name": "temperature",
"value": {
"value": 20.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 1000
}
]
}
}
AdjustTargetTemperatureディレクティブのエラー処理
AdjustTargetTemperature
ディレクティブを正しく処理できなかった場合は、Alexa.ThermostatController.ErrorResponse
イベントを使用して応答します。温度やサーモスタット特有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
SetThermostatModeディレクティブ
SetThermostatMode
ディレクティブをサポートすると、ユーザーがデバイスのモードを設定できます。ユーザーは、「アレクサ、[ユーザーのサーモスタットデバイス名]を[利用可能なモード]にして」のように言う必要があります。
SetThermostatModeディレクティブの例
次の例は、Alexaがスキルに送信するSetThermostatMode
ディレクティブを示しています。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController",
"name": "SetThermostatMode",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3.1"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"thermostatMode" : {
"value": "COOL"
}
}
}
}
SetThermostatModeディレクティブのペイロード
フィールド | 説明 | 型 |
---|---|---|
thermostatMode |
サーモスタットに設定するモードです。 | ThermostatMode オブジェクト |
SetThermostatMode応答イベント
SetThermostatMode
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。contextオブジェクトに、関連するすべてのプロパティの値を含めます。
以下は、SetThermostatMode
応答の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "Response",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "COOL",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 17.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.TemperatureSensor",
"name": "temperature",
"value": {
"value": 19.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 1000
}
]
}
}
SetThermostatModeディレクティブのエラー処理
SetThermostatMode
ディレクティブを正しく処理できなかった場合は、Alexa.ThermostatController.ErrorResponse
イベントを使用して応答します。温度やサーモスタット特有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
ResumeScheduleディレクティブ
ResumeSchedule
ディレクティブをサポートすると、ユーザーはサーモスタットにプログラムされているスケジュールを上書きした後に再開できます。たとえば、家を空けている間は休暇用の上書き設定を使用し、帰ってきたら通常のプログラムを再開する、という使い方ができます。
ResumeScheduleディレクティブの例
次の例は、サーモスタットのスケジュールを再開するためにAlexaがスキルに送信するResumeSchedule
ディレクティブを示しています。
{
"directive": {
"header": {
"namespace": "Alexa.ThermostatController",
"name": "ResumeSchedule",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3.1"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {}
}
}
ResumeScheduleディレクティブのペイロード
ResumeSchedule
ディレクティブのペイロードは定義されていません。
ResumeSchedule応答
ResumeSchedule
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。contextオブジェクトに、関連するすべてのプロパティの値を含めます。
以下は、ResumeSchedule
応答の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "Response",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "HEAT",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 18.0,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.TemperatureSensor",
"name": "temperature",
"value": {
"value": 17.9,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 1000
}
]
}
}
ResumeScheduleディレクティブのエラー処理
ResumeSchedule
ディレクティブを正しく処理できなかった場合は、Alexa.ThermostatController.ErrorResponse
イベントを使用して応答します。温度やサーモスタット特有のエラーではない場合は、汎用のAlexa.ErrorResponse
イベントを使用して応答することもできます。
状態レポート
Alexaはエンドポイントの状態についての情報をリクエストするために、ReportState
ディレクティブを送信します。AlexaがReportState
ディレクティブを送信したら、それに対する応答としてStateReport
イベントを送信します。応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、状態および変更レポートについてを参照してください。
StateReport応答の例
以下は、StateReport
ディレクティブ応答の例です。
{
"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",
"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.TemperatureSensor",
"name": "temperature",
"value": {
"value": 19.9,
"scale": "CELSIUS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 1000
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
エアコン用のStateReport応答の例
以下は、エアコンのStateReport
応答の例です。
{
"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",
"name": "thermostatMode",
"value": "COOL",
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 20.0,
"scale": "CELSIUS"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
変更レポート
エンドポイントの状態の変化をプロアクティブにレポートするために、ChangeReport
イベントを送信します。プロアクティブにレポートするプロパティは検出応答で特定します。変更レポートの詳細については、状態および変更レポートについてを参照してください。
ChangeReportイベントの例
以下は、ChangeReport
イベントの例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "ChangeReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"change": {
"cause": {
"type": "PHYSICAL_INTERACTION"
},
"properties": [
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "COOL",
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 18.0,
"scale": "CELSIUS"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.TemperatureSensor",
"name": "temperature",
"value": {
"value": 19.1,
"scale": "CELSIUS"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 1000
}
]
}
}
},
"context": {
"properties": [{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 0
}]
}
}
エアコンのChangeReportイベントの例
以下は、エアコンのChangeReport
イベントの例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "ChangeReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"change": {
"cause": {
"type": "RULE_TRIGGER"
},
"properties": [{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "COOL",
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.ThermostatController",
"name": "targetSetpoint",
"value": {
"value": 18.0,
"scale": "CELSIUS"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.TemperatureSensor",
"name": "temperature",
"value": {
"value": 19.1,
"scale": "CELSIUS"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 1000
}
]
}
}
},
"context": {
"properties": [{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2020-02-26T18:20:50Z",
"uncertaintyInMilliseconds": 0
}]
}
}
ユーザー確認の要求
ja-JP
ロケールでのみサポートされています。ユーザーが温度を設定したり、サーモスタットのモード変更を指示した場合に、必要に応じてAlexaが実行する前にアクションを確認するようユーザーに要求できます。ユーザー確認を求めるには、Discover.Response
で確認を要求するディレクティブを指定します。詳細については、 verificationsRequiredオブジェクトとユーザー確認を求めるサーモスタットの例を参照してください。
次に、ユーザ確認が必要な場合の会話の例を示します。
Alexa, set the temperature to sixty-five degrees on the living room air conditioner.
Set living room air conditioner to sixty-five degrees?
Yes.
OK, living room air conditioner is set to sixty-five degrees.
アレクサ、リビングのエアコンを25度にして。
リビングのエアコンで、設定温度を25度にするんですね?
はい。
リビングのエアコンを冷房25度に設定しました。
関連トピック
- Alexa.ThermostatController.Configuration
- Alexa.ThermostatController.HVAC.Components
- Alexa.ThermostatController.Schedule
最終更新日: 2023 年 01 月 27 日