Alexa.WakeOnLANControllerインターフェース
Wake-on-LAN(WoL)またはWake on Wireless LAN(WoWLAN)による電源オンをサポートしているスマートホームデバイスエンドポイントでAlexa.WakeOnLANController
インターフェースを使用します。このインターフェースは、PowerControllerインターフェースを使用して電源をオンにできるエンドポイントに便利です。低電力モードにすることで、クラウドがインターネットを使用してエンドポイントに到達しないようにできるためです。これを使用することで、サポートしているAlexaデバイスは、ローカルネットワークでエンドポイントに直接Wake-on-LANメッセージを送信します。
WakeOnLANController
インターフェースでサポートされているロケールについては、機能インターフェースの一覧を参照してください。
発話
Alexa.WakeOnLANController
インターフェースを使用する場合、音声対話モデルは既にビルドされています。以下に、ユーザーの発話の例を示します。
Alexa, turn on the TV.
アレクサ、テレビをつけて。
ユーザーがこのような発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。
概要
このインターフェースは、Alexa.PowerControllerインターフェースと共に実装します。通常のプロセスは以下のとおりです。
- 検出中に、エンドポイントの
WakeOnLANController
インターフェースとPowerController
インターフェースを定義する応答を行いまず。WakeOnLANController
のconfigurationオブジェクトには、エンドポイントのMACアドレスを指定します。 - ユーザーがAlexaに
WakeOnLANController
を実装したエンドポイントをオンにするようリクエストします。例:
ユーザー: アレクサ、テレビをつけて
- Alexaは、
TurnOn
ディレクティブ(PowerControllerインターフェースで定義)をスキルに送信します。 - スキルは、メッセージがイベントゲートウェイに送信され、応答が遅れることを表すDeferredResponseイベントを送信します。
-
スキルはWakeUpイベントをAlexaイベントゲートウェイに送信します。このイベントは
TurnOn
ディレクティブの後、Response
イベントの送信までの間、いつでも送信されます。イベントのイベントゲートウェイへの送信の詳細については、以下を参照してください。 - AlexaはWakeUpイベントを処理し、サポートしているデバイスのいずれかにWake-on-LAN(WoL)メッセージをエンドポイントの検出応答で提供されたMACアドレスに配信するよう指示します。
- スキルがAlexaイベントゲートウェイから(
WakeUp
イベントの応答として)成功またはエラー応答を受け取ると、Response
イベントをAlexaイベントゲートウェイに送信します。応答の詳細については、PowerController
ドキュメントの応答を参照してください。 - スキルはエンドポイントを監視し、電源状態が変化すると、Alexaイベントゲートウェイにchange reportイベントを送信します。
DeferredResponse
イベント(ステップ4)とResponse
イベント(ステップ7)には、どちらも元のTurnOn
リクエスト(ステップ3)の相関トークンを含める必要があります。
サポートしているAlexaデバイス
Wake-on-LAN機能をサポートしているAlexaデバイスは以下のとおりです。Wake-on-LANでエンドポイントの電源を正常に入れられるようにするには、Wake-on-LANをサポートしているエンドポイントと同じローカルネットワークに接続しているデバイスのいずれかを、ユーザーが持っている必要があります。
- Amazon Tap(日本未対応)
- Echo(全世代)
- Echo Dot(全世代)
- Echo Input
- Echo Plus(全世代)
- Echo Show(全世代)
- Echo Spot
検出
WakeOnLANController
を実装するエンドポイントを指定する検出応答を送信する場合、次の例のようにエンドポイントのMACアドレスを指定する必要があります。
例
次の例の検出応答では、WakeOnLANController
インターフェースを実装するエンドポイントのMACアドレスの指定方法を示しています。
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover.Response",
"payloadVersion": "3",
"messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4"
},
"payload": {
"endpoints": [
{
"endpointId": "appliance-tv-001",
"friendlyName": "リビングのテレビ",
"description": "サンプルメーカーのスマートテレビ",
"manufacturerName": "サンプルメーカー",
"displayCategories": [
"TV"
],
"cookie": {
"extraDetail1": "optionalDetailForSkillAdapterToReferenceThisDevice",
"extraDetail2": "複数のエントリーがある場合があります",
"extraDetail3": "ただし、参照のためだけに使用してください",
"extraDetail4": "現在のデバイス状態を維持するのに適切な場所ではありません"
},
"capabilities": [
{
"type": "AlexaInterface",
"interface": "Alexa.WakeOnLANController",
"version": "3",
"properties": {},
"configuration": {
"MACAddresses": [
"00-14-22-01-23-45"
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.PowerController",
"version": "3",
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true
}
}
]
}
]
}
}
}
ディレクティブ
TurnOnディレクティブ
ユーザーがデバイスをオンにできるように、TurnOn
ディレクティブをサポートします。TurnOn
ディレクティブは、Alexa.PowerController
インターフェースで定義されています。詳細については、TurnOnディレクティブを参照してください。
プロパティとイベント
プロパティ
現在、このインターフェースに定義されているレポート可能なプロパティはありません。
WakeUp
スキルは、低電力モードでWake-on-LAN機能をサポートするエンドポイントのTurnOnディレクティブを受信すると、WakeUp
イベントをAlexaイベントゲートウェイに送信します。詳細については、イベントゲートウェイにイベントを送信するを参照してください。Alexaはこのイベントを処理し、サポートしているデバイスのいずれかにWake-on-LAN(WoL)メッセージをエンドポイントの検出応答で提供されたMACアドレスに配信するよう指示します。
WakeUpイベントの例
{
"context": {
"properties": [
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "OFF",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
}
]
},
"event": {
"header": {
"namespace": "Alexa.WakeOnLANController",
"name": "WakeUp",
"payloadVersion": "3",
"messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4",
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-Amazon"
},
"endpointId": "appliance-001"
},
"payload": {}
}
}
ErrorResponse
何らかの理由によりユーザーのリクエストを完了できない場合、エラー応答を返す必要があります。詳細については、Alexa.ErrorResponseを参照してください。