Alexa.ThermostatController.HVAC.Componentsインターフェース1.0
Alexaが接続されたサーモスタットデバイスや暖房、換気、空調(HVAC)システムで、おおよそのエネルギー使用量を推測できるようにするには、AlexaスキルにAlexa.ThermostatController.HVAC.Components
インターフェースを実装します。HVAC.Components
インターフェースを使用すると、ユーザーはAlexaエネルギーダッシュボードでエネルギー使用量を管理しやすくなります。詳細については、Smart Home Energy Overviewを参照してください。
通常、HVAC.Components
インターフェースは、Alexa.ThermostatControllerインターフェースおよびAlexa.TemperatureSensorインターフェースと併せて使用します。
HVACシステムは、暖房システム、冷却システム、換気ファンとして作成できます。これらの各コンポーネントは、低、中、高などの複数の段階をサポートできます。接続されたHVACシステムのおおよその電力使用量を推測するには、AlexaにHVACシステムが各段階に設定されていた時間を通知する必要があります。
HVAC.Components
インターフェースがサポートするロケールについては、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。
発話
Alexa.ThermostatController.HVAC.Components
インターフェースには発話は定義されません。代わりに、スキルがAlexaにエネルギー使用量をレポートします。
コンポーネントの運転段階
以下は、HVACコンポーネントが設定される可能性のある運転段階の一覧です。コンポーネントがサポートする段階数を検出応答で指定します。
コンポーネントが3段階をサポートする場合 | コンポーネントが2段階をサポートする場合 | コンポーネントが1段階をサポートする場合 |
---|---|---|
- OFF — オフ- STAGE_1 — 低- STAGE_2 — 中- STAGE_3 — 高 |
- OFF — オフ- STAGE_1 — 低- STAGE_2 — 高 |
- OFF — オフ- STAGE_1 — オン |
プロパティ
以下の表は、Alexa.ThermostatController.HVAC.Components
インターフェースが定義するプロパティを示しています。検出応答で、サポートするプロパティを指定します。すべてのプロパティはオプションです。サーモスタットデバイスまたはHVACシステムのコンポーネントに対応するプロパティのみを含めてください。
プロパティ | 説明 | 型 |
---|---|---|
primaryHeaterOperation |
プライマリ暖房コンポーネントの現在の運転段階です。通常、メインの暖房メカニズムはヒートポンプです。 | 文字列 |
auxiliaryHeaterOperation |
補助暖房がオンかオフかを示します。有効な値はON とOFF です。通常、補助暖房のメカニズムは電気抵抗加熱です。 |
文字列 |
coolerOperation |
冷却コンポーネントの現在の運転段階です。 | 文字列 |
fanOperation |
換気コンポーネントの現在の運転段階です。 | 文字列 |
検出
Alexa.ThermostatController.HVAC.Components
をサポートするエンドポイントは、Alexa.Discoveryの標準検出メカニズムを使用して表します。
Alexaからスキルに状態レポートリクエストが送信されたら、レポートするプロパティのretrievable
をtrueに設定します。変更レポートでAlexaにプロアクティブにレポートする場合はプロパティのproactivelyReported
をtrueに設定します。
表示カテゴリーにはTHERMOSTAT
を使用します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。
HVAC.Components
には、標準の検出応答フィールドのほかに、次のフィールドを含むconfigurationオブジェクトを含めます。フィールドはすべて任意です。サーモスタットデバイスまたはHVACシステムのコンポーネントに対応するフィールドのみを含めてください。
フィールド | 説明 | 型 |
---|---|---|
numberOfPrimaryHeaterOperations |
プライマリ暖房コンポーネントがサポートする運転段階の数です。primaryHeaterOperation プロパティをサポートする場合は、必ずこのフィールドを含めてください。有効な値は、1、2、3のいずれかです。 |
整数 |
numberOfCoolerOperations |
冷却コンポーネントがサポートする運転段階の数です。coolerOperation プロパティをサポートする場合は、必ずこのフィールドを含めてください。有効な値は、1、2、3のいずれかです。 |
整数 |
numberOfFanOperations |
換気ファンコンポーネントがサポートする運転段階の数です。fanOperation プロパティをサポートする場合は、必ずこのフィールドを含めてください。有効な値は、1、2、3のいずれかです。換気ファンが3段階よりも多くの速度をサポートする場合は、速度を3つの範囲に分け、それぞれの速度範囲を運転段階にマッピングします。 |
整数 |
検出応答の例
以下は、サーモスタットを制御し、Alexa.ThermostatController.HVAC.Components
インターフェース、Alexa.ThermostatControllerインターフェース、Alexa.TemperatureSensorインターフェースをサポートするAlexaスキルのDiscover.Response
メッセージの例です。この例では、エンドポイントは設定値が2つのサーモスタットで、モードは2つ、スケジューリングはサポートしていません。
この例のHVACシステムは、primaryHeaterOperation
、auxiliaryHeaterOperation
、fanOperation
をサポートしていますが、coolerOperation
はサポートしていません。
エアコンのDiscover.Response
例については、エアコン用の検出応答の例を参照してください。
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover.Response",
"payloadVersion": "3",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい"
},
"payload": {
"endpoints": [
{
"endpointId": "エンドポイントの一意のID",
"manufacturerName": "エンドポイントのメーカー名",
"description": "サーモスタットメーカー製のスマートサーモスタット",
"friendlyName": "廊下のサーモスタット",
"displayCategories": ["THERMOSTAT", "TEMPERATURE_SENSOR"],
"cookie": {},
"capabilities": [
{
"type": "AlexaInterface",
"interface": "Alexa.ThermostatController.HVAC.Components",
"version": "1.0",
"properties": {
"supported": [
{
"name": "primaryHeaterOperation"
},
{
"name": "auxiliaryHeaterOperation"
},
{
"name": "fanOperation"
},
],
"retrievable": true,
"proactivelyReported": true
},
"configuration": {
"numberOfPrimaryHeaterOperations": 3,
"numberOfFanOperations": 2
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ThermostatController",
"version": "3.1",
"properties": {
"supported": [
{
"name": "lowerSetpoint"
},
{
"name": "upperSetpoint"
},
{
"name": "thermostatMode"
}
],
"proactivelyReported": true,
"retrievable": true
},
"configuration": {
"supportedModes": [ "HEAT", "AUTO" ],
"supportsScheduling": false
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.TemperatureSensor",
"version": "3",
"properties": {
"supported": [
{
"name": "temperature"
}
],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.EndpointHealth",
"version": "3",
"properties": {
"supported": [
{
"name": "connectivity"
}
],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}
]
}
}
}
状態レポート
Alexaはエンドポイントの状態についての情報をリクエストするために、ReportState
ディレクティブを送信します。AlexaがReportState
ディレクティブを送信したら、それに対する応答としてStateReport
イベントを送信します。応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、状態および変更レポートについてを参照してください。
StateReport応答の例
この例のHVACシステムは、primaryHeaterOperation
、auxiliaryHeaterOperation
、fanOperation
をサポートしていますが、coolerOperation
はサポートしていません。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "StateReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "primaryHeaterOperation",
"value": "STAGE_2",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "auxiliaryHeaterOperation",
"value": "OFF",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "fanOperation",
"value": "STAGE_1",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
},
{
"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
}
]
}
}
変更レポート
エンドポイントの状態の変化をプロアクティブにレポートするために、ChangeReport
イベントを送信します。プロアクティブにレポートするプロパティは検出応答で特定します。変更レポートの詳細については、状態および変更レポートについてを参照してください。
payload
には変更されたプロパティの値が含まれ、context
にはその他の関連プロパティの値が含まれます。
通常モードのChangeReportイベントの例
以下は、プライマリ暖房の段階が上がった後のChangeReport
の例です。この例のHVACシステムは、primaryHeaterOperation
、auxiliaryHeaterOperation
、fanOperation
をサポートしていますが、coolerOperation
はサポートしていません。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "ChangeReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"change": {
"cause": {
"type": "PERIODIC_POLL"
},
"properties": [
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "PrimaryHeaterOperation",
"value": "STAGE_2",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
},
"context": {
"properties": [
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "auxiliaryHeaterOperation",
"value": "OFF",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "fanOperation",
"value": "STAGE_1",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "AUTO",
"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": 19.1,
"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
}
]
}
}
非常モードのChangeReportイベントの例
以下は、補助暖房がオンになり、換気ファンの段階が上がった後のChangeReport
の例です。この例のHVACシステムは、primaryHeaterOperation
、auxiliaryHeaterOperation
、fanOperation
をサポートしていますが、coolerOperation
はサポートしていません。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "ChangeReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"change": {
"cause": {
"type": "PERIODIC_POLL"
},
"properties": [
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "auxiliaryHeaterOperation",
"value": "ON",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "fanOperation",
"value": "STAGE_2",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
},
"context": {
"properties": [
{
"namespace": "Alexa.ThermostatController.HVAC.Components",
"name": "PrimaryHeaterOperation",
"value": "OFF",
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.ThermostatController",
"name": "thermostatMode",
"value": "AUTO",
"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": 19.1,
"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
}
]
}
}
関連トピック
- ENERGY STAR® Program Requirements For Connected Thermostat Products(英語)
- OpenADR 2.0 Demand Response Program(英語)
- Alexa.AutomationManagement
- Alexa.DeviceUsage.Estimation
- Alexa.DeviceUsage.Meter
最終更新日: 2024 年 07 月 11 日