スマートホームスキル用のデバイステンプレート

スマートホームスキル用のデバイステンプレート

スマートホームAPIを使用すると、どのようなタイプのデバイスでも仮想的にAlexaに接続できます。デバイスのエンドポイントと機能は、Alexa検出についてで説明されている標準検出メカニズムを使用して指定します。検出応答で、各デバイスがサポートするスマートホームインターフェースを識別します。

まず、デバイステンプレートを確認してデバイスタイプに合ったものを見つけます。各テンプレートでは、デバイスのタイプに適したスマートホームインターフェースの実装を推奨します。デバイスのニーズに合わせてインターフェースの追加・削除を行い、これらのインターフェースを変更できます。すべてのテンプレートは必須の最上位のAlexaインターフェースを備えており、Alexa.EndpointHealthインターフェースを実装してデバイスの状態をAlexaにレポートすることを推奨します。また、各テンプレートでは表示カテゴリーを推奨します。表示カテゴリーによって、Alexaアプリに表示されるアイコンや配置が決まります。

スマートホームスキルの詳細については、スマートホームスキルAPIについてを参照してください。

ブラインド

プリビルドの音声対話モデルに加え、セマンティクスを使用することで追加の発話に対応できます。このブラインドの例では、モードコントローラーのセマンティクスを使用しているため、「開けて」「閉めて」「上げて」「下げて」と言ってブランドを制御できます。詳細については、semanticsオブジェクトを参照してください。

この例では、以下のような発話を使ってブラインドを操作できます。

Alexa, open the blinds.
Alexa, close the blinds.
Alexa, raise the blinds.
Alexa, lower the blinds.

アレクサ、ブラインドを開けて
アレクサ、ブラインドを閉じて
アレクサ、ブラインドを上げて
アレクサ、ブラインドを下げて

Alexaスキルでは、表示カテゴリーとしてINTERIOR_BLINDを使用することをお勧めします。

ブラインドが指定範囲で上げ下げできる場合、以下のインターフェースを実装することをお勧めします。検出応答の例については、ブラインドにセマンティクスを使用した例を参照してください。

インターフェース 目的
RangeController ユーザーがブラインドの高さを制御できるように、Blind.Lift範囲コントローラーを作成します。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

ブラインドが全開と全閉のみに対応する場合、以下のインターフェースを実装することをお勧めします。検出応答の例については、ブラインドにセマンティクスを使用した例を参照してください。

インターフェース 目的
ModeController Position.UpPosition.Downのモードを持つBlinds.Positionモードコントローラーを作成します。これにより、ユーザーはブラインドを開閉できます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

カメラ

ユーザーは、以下のような発話を使ってカメラを操作できます。

Alexa, talk to my front door camera.
Alexa, show the last activity at my front door.

アレクサ、玄関のカメラを見せて

Alexaスキルでは、表示カテゴリーとしてCAMERAを使用し、以下のインターフェースを実装することをお勧めします。これらのインターフェースのサポートを含む検出応答の例については、パン、チルト、ズームをサポートするカメラの例を参照してください。

インターフェース 目的
RTCSessionController ユーザーはカメラとリモート通信できます。
MediaMetadata ユーザーはカメラの録画を表示・管理できます。
RangeController "Camera.Pan" 物理的に左右のパンが可能なカメラの場合、Camera.Panという範囲コントローラーを作成してユーザーがカメラビューをパンできるようにします。
RangeController "Camera.Tilt" 物理的に上下のチルトが可能なカメラの場合、Camera.Tiltという範囲コントローラーを作成してユーザーがカメラビューをチルトできるようにします。
RangeController "Camera.Zoom" 物理的にズームインとアウトが可能なカメラの場合、Camera.Zoomという範囲コントローラーを作成してユーザーがカメラビューをズームできるようにします。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

色が変化する電球

ユーザーは、以下のような発話を使って色が変化する電球を操作できます。

Alexa, turn on the Living Room Light.
Alexa, set the Living Room Light to blue.
Alexa, set the Living Room Light to fifty percent.
Alexa, make the Living Room Light warm white.

アレクサ、リビングの照明をつけて
アレクサ、リビングの照明を青色にして
アレクサ、リビングの照明を50パーセントにして
アレクサ、リビングの照明を暖かい色にして

Alexaスキルでは、表示カテゴリーとしてLIGHTを使用し、以下のインターフェースを実装することをお勧めします。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
ColorController ユーザーが照明の色を制御できます。
BrightnessController ユーザーが照明の明るさを制御できます。
ColorTemperatureController ユーザーが照明の色温度を制御できます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

調光式電球

ユーザーは、以下のような発話を使って調光式電球を操作できます。

Alexa, turn on the Kitchen Light.
Alexa, set the Kitchen Light to eighty percent.

アレクサ、キッチンの電気をつけて
アレクサ、キッチンの電気を80パーセントにして

Alexaスキルでは、表示カテゴリーとしてLIGHTを使用し、以下のインターフェースを実装することをお勧めします。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
BrightnessController ユーザーが照明の明るさを制御できます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

調光式スイッチ

ユーザーは、以下のような発話を使って調光式スイッチを操作できます。

Alexa, turn on the Bedroom Light.
Alexa, set the Bedroom Light to twenty percent.

アレクサ、寝室の電気をつけて
アレクサ、寝室の電気を20パーセントにして

Alexaスキルでは、表示カテゴリーとしてSWITCHを使用し、以下のインターフェースを実装することをお勧めします。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
BrightnessController ユーザーが照明の明るさを制御できます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

エンターテイメントデバイス

ユーザーは、以下のような発話を使用してテレビ、ストリーミングデバイス、ゲーム機といったエンターテイメントデバイスを操作できます。

Alexa, turn on the Living Room TV.
Alexa, change the input to HDMI 3 on the Living Room TV.
Alexa, change channel to twelve on the Living Room TV.
Alexa, set the volume of the Living Room TV to twenty-five.
Alexa, pause the Living Room TV.

Alexaスキルでは、TVSTREAMING_DEVICEGAME_CONSOLESPEAKERなどの適切な表示カテゴリーを使用します。次のインターフェースを実装することを推奨します。これらのインターフェースのサポートを含む検出応答の例については、エンターテイメントデバイスの例を参照してください。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
InputController ユーザーがデバイスの入力を変更できます
ChannelController ユーザーがデバイスのチャンネルを変更できます。
Speaker ユーザーがデバイスの音量を設定、調整、ミュートまたはミュート解除できます。
PlaybackController ユーザーがデバイスを再生、停止、一時停止できます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

ガレージドアオープナー

プリビルドの音声対話モデルに加え、セマンティクスを使用することで追加の発話に対応できます。このガレージドアの例では、モードコントローラーのセマンティクスを使用しているため、「開けて」「閉めて」と言ってガレージドアを制御できます。詳細については、セマンティクスを使用して発話を追加するを参照してください。

この例では、以下のような発話を使ってガレージドアオープナーを操作できます。

Alexa, open the garage door.
Alexa, close the garage door.

ガレージドアオープナーには、次のインターフェースを実装することを推奨します。Alexaスキルでは、ModeControllerインターフェースとGARAGE_DOOR表示カテゴリーの両方を使う必要があります。検出応答の例については、ガレージドアオープナーにセマンティクスを使用した例を参照してください。

インターフェース 目的
ModeController Position.UpPosition.Downのモードを持つGarageDoor.Positionモードコントローラーを作成します。これにより、ユーザーはガレージドアを開閉できます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

ギターアンプ

以下は、スマートギターアンプをAlexaに接続する方法です。この例では架空のデバイスを使っていますが、あらゆるデバイスをAlexaに接続する方法の例として参考にしてください。他のデバイスと同様、この例ではできる限り具体的なPowerControllerSpeakerEqualizerControllerなどのインターフェースを選択しています。その後、ToggleControllerRangeControllerModeControllerのインターフェースの柔軟性を利用して、すべての機能をカバーできるようにしています。

この例では、以下のような発話を使ってギターアンプを操作できます。

Alexa, turn on the Awsome Amp.
Alexa, set the volume of the Awsome Amp to six.
Alexa, set the bass on the Awsome Amp to three.
Alexa, turn on overdrive on the Awsome Amp.
Alexa, set the gain on the Awsome amp to four.
Alexa, set the Awsome Amp to Metal.
Alexa, boost the gain.
Alexa, make me sound like Pearl Jam.
Alexa, what do all these dials do?

Alexaスキルでは、表示カテゴリーとしてSPEAKERを使用し、以下のインターフェースを実装することをお勧めします。これらのインターフェースのサポートを含む検出応答の例については、ギターアンプの例を参照してください。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
Speaker ユーザーがデバイスの音量を設定、調整、ミュートまたはミュート解除できます。
EqualizerController ユーザーが、デバイスの低音域、中音域、高音域を設定・調整できます。
ToggleController ユーザーがアンプのオーバードライブ機能をオン/オフできるようOverdriveトグルコントローラーを作成します。
RangeController ユーザーがアンプのゲイン(ドライブ)を制御できるようGain範囲コントローラーを作成します。
ModeController ユーザーが定義済みまたは保存済みの設定を選択できるようPresetモードコントローラーを作成します。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

ロック

ユーザーは、以下のような発話を使ってロックを操作できます。

Alexa, lock the Front Door.

Alexaスキルでは、表示カテゴリーとしてSMARTLOCKDOORのいずれかを使用し、以下のインターフェースを実装することをお勧めします。

インターフェース 目的
LockController ユーザーがデバイスをロック/ロック解除できます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

プラグ

ユーザーは、以下のような発話を使ってプラグを操作できます。

Alexa, turn on the End Table Lamp.

Alexaスキルでは、表示カテゴリーとしてSMARTPLUGを使用し、以下のインターフェースを実装することをお勧めします。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

スイッチ

ユーザーは、以下のような発話を使ってスイッチを操作できます。

Alexa, turn on the Bathroom Fan.

Alexaスキルでは、表示カテゴリーとしてSWITCHを使用し、以下のインターフェースを実装することをお勧めします。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

タワー型扇風機

この例では、以下のような発話を使ってタワー型扇風機を操作できます。

Alexa, turn on the Living Room Fan.
Alexa, turn on Oscillate on the Living Room Fan.
Alexa, set the Living Room Fan Speed to five.
Alexa, turn up the Speed on the Living Room Fan.
Alexa, set the air Speed on the Living Room Fan to Maximum.

Alexaスキルでは、表示カテゴリーとしてFANを使用し、以下のインターフェースを実装することをお勧めします。扇風機が首振りモードや風速をサポートする場合の検出応答の例については、範囲コントローラーとトグルコントローラーを両方使った例を参照してください。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
ToggleController「Oscillate」 ユーザーが扇風機の首振り機能をオン/オフできるようOscillateトグルコントローラーを作成します。
RangeController「Fan Speed」 ユーザーが扇風機の風速を制御できるようFan Speed範囲コントローラーを作成します。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

壁面サーモスタット

ユーザーは、以下のような発話を使って壁面サーモスタットを操作できます。

Alexa, set thermostat to 20.
Alexa, make it warmer in here.

Alexaスキルでは、表示カテゴリーとしてTHERMOSTATを使用し、以下のインターフェースを実装することをお勧めします。

インターフェース 目的
ThermostatController ユーザーが温度を制御するデバイスを操作できます。
TemperatureSensor デバイスが温度を感知してレポートします。
ThermostatController.Schedule ユーザーは、週間スケジュールを設定できます。
ThermostatController.Configuration サーモスタットデバイスは、Alexaアプリでのインストールとセットアップをサポートしています。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

給湯器

給湯器を次のようにモデル化できます。この例ではToggleControllerを使用してAlexa hunches(日本未対応)をサポートします。Alexa hunchesの詳細については、What Are Alexa Hunches?およびEnable Alexa to Proactively Act on Hunches Without Customers Needing to Askを参照してください。

この例では、DeviceUsage.Meter を使用して、ユーザーがAlexaエネルギーダッシュボードでエネルギー使用量を管理できるようにしています。詳細については、Smart Home Energy Overviewを参照してください。

Alexaスキルでは、表示カテゴリーとしてWATER_HEATERを使用することをお勧めします。デバイスの動作に対応する、次の表のインターフェースを実装します。これらのインターフェースのサポートを含む検出応答の例については、給湯器の例を参照してください。

インターフェース 目的
ThermostatController ユーザーは、給湯器内の水の目標温度を1つ以上設定できます。
TemperatureSensor 装置は、給湯器内の水の温度を感知し、レポートします。
ToggleController "EnergySaverMode" 給湯器の省エネモードを制御するために、EnergySaverModeという名前のトグルコントローラーを作成します。
DeviceUsage.Meter ユーザーは、給湯器のエネルギー使用量の推定を表示できます。
PowerController ユーザーが給湯器をオン/オフできます。
EndpointHealth 給湯器の接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

Wi-Fiルーター

Wi-Fiルーターを次のように設定できます。特定のデバイスのニーズに合わせてAlexa.Networking API(日本未対応)を使うこともできます。詳細については、ネットワークとWi-Fiのスキルについてを参照してください。

ユーザーは、以下のような発話を使ってWi-Fiルーターを操作できます。

Alexa, turn on Guest Wi-Fi on the Wireless Router.
Alexa, turn on Guest Wi-Fi.
Alexa, set the Traffic Priority on the Guest Wi-Fi to Video Games.
Alexa, set the Guest Wi-Fi to Movies.

Alexaスキルでは、表示カテゴリーとしてOTHERを使用し、以下のインターフェースを実装することをお勧めします。これらのインターフェースのサポートを含む検出応答の例については、Wi-Fiルーターの例を参照してください。

インターフェース 目的
ToggleController ユーザーがルーターをオン/オフできるようGuest Networkトグルコントローラーを作成します。
ModeController ユーザーがルーターで最も高い優先順位に割り当てるトラフィックの種類を選択できるようTraffic Priorityモードコントローラーを作成します。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。

窓用エアコン(AC)ユニット

ユーザーは、以下のような発話を使ってエアコンを操作できます。

Alexa, set the AC to twenty-five degrees for four hours.
Alexa, make it cooler in here.

Alexaスキルでは、表示カテゴリーとしてTHERMOSTATを使用し、以下のインターフェースを実装することをお勧めします。エアコンに風速設定がある場合、RangeControllerインターフェースも実装できます。検出応答の例については、エアコン用の検出応答の例を参照してください。

インターフェース 目的
PowerController ユーザーがデバイスをオン/オフできます。
ThermostatController ユーザーが温度を制御するデバイスを操作できます。
TemperatureSensor デバイスが温度を感知してレポートします。
EndpointHealth デバイスの接続ステータスをAlexaにレポートします。
Alexa すべてのAlexaスキルの基本インターフェースです。