skill.Alexa.PowerLevelControllerインターフェースAlexaスキルにAlexa.PowerLevelControllerインターフェースを実装することで、ユーザーがスマートホームデバイスの出力レベルを切り替えることができます。スマートホームスキルの詳細については、スマートホームスキルを理解するを参照してください。このインターフェースは、調光スイッチなどの出力レベル制御をサポートするデバイスに使用します。パーセントで表せる一般的なプロパティの場合は、これではなくAlexa.PercentageControllerを実装します。PowerLevelControllerインターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。発話Alexa.PowerLevelControllerインターフェースを使用する場合、音声対話モデルはすでにビルドされています。以下に、ユーザーの発話の例を示します。switch.アレクサ、ファンの風量を40パーセントにして。アレクサ、電気のスイッチでレベルを12にあげて。ユーザーがこのような発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。プロパティpowerLevelプロパティAlexa.PowerLevelControllerインターフェースは、powerLevelプロパティをプライマリプロパティとして使用します。このプロパティはデバイスの出力レベルを表し、0から100(両端の値を含む)の整数のパーセンテージで表現します。powerLevelプロパティを使用して変化を表す場合、有効値は-100~100(両端の値を含む)です。検出Alexa.PowerLevelControllerをサポートするエンドポイントは、Alexa.Discoveryの標準検出メカニズムを使用して表します。Alexaからスキルに状態レポートリクエストが送信されるときにレポートするすべてのインターフェースとプロパティのretrievableをtrueに設定します。変更レポートでAlexaにプロアクティブにレポートするインターフェースとプロパティのproactivelyReportedをtrueに設定します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。以下は、Alexa.PowerLevelControllerインターフェースとAlexa.ColorControllerインターフェースをサポートする照明のDiscover.Responseメッセージの例です。コードをコピークリップボードにコピーされました。}}ディレクティブSetPowerLevelディレクティブユーザーがデバイスの出力レベルを設定できるように、SetPowerLevelディレクティブをサポートします。以下は、ユーザーの発話の例です。fan.アレクサ、ファンの風量を40パーセントにして。デバイスに設定する出力レベルです。次の例は、Alexaがスキルに送信するSetPowerLevelディレクティブを示しています。}}SetPowerLevel応答イベントSetPowerLevelディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。contextオブジェクトに、変更されたすべてのプロパティの値を含めます。応答は同期または非同期のどちらでも可能です。非同期で応答する場合、相関トークンと、認可トークン付きのスコープを含めます。SetPowerLevel応答イベントの例コードをコピークリップボードにコピーされました。}}SetPowerLevelディレクティブのエラー処理SetPowerLevelディレクティブを正しく処理できなかった場合は、Alexa.ErrorResponseイベントを使用して応答します。AdjustPowerLevelディレクティブユーザーがデバイスの出力レベルを調整できるように、AdjustPowerLevelディレクティブをサポートします。以下は、ユーザーの発話の例です。switch.アレクサ、電気のスイッチでレベルを12にあげて。出力レベルの変更量です。以下の例は、Alexaがスキルに送信するAdjustPowerLevelディレクティブを示しています。}}AdjustPowerLevel応答イベントAdjustPowerLevelディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。contextオブジェクトに、変更されたすべてのプロパティの値を含めます。応答は同期または非同期のどちらでも可能です。非同期で応答する場合、相関トークンと、認可トークン付きのスコープを含めます。AdjustPowerLevel応答イベントの例コードをコピークリップボードにコピーされました。}}AdjustPowerLevelディレクティブのエラー処理AdjustPowerLevelディレクティブを正しく処理できなかった場合は、Alexa.ErrorResponseイベントを使用して応答します。状態レポートAlexaはエンドポイントの状態についての情報をリクエストするために、ReportStateディレクティブを送信します。AlexaがReportStateディレクティブを送信したら、それに対する応答としてStateReportイベントを送信します。この応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、状態および変更レポートについてを参照してください。StateReport応答イベントの例コードをコピークリップボードにコピーされました。}}変更レポートエンドポイントの状態の変化をプロアクティブにレポートするために、ChangeReportイベントを送信します。プロアクティブにレポートするプロパティは検出応答で特定します。変更レポートの詳細については、状態および変更レポートについてを参照してください。ChangeReportイベントの例コードをコピークリップボードにコピーされました。