スマートホームスキルを理解する

スマートホームスキルを理解する

Alexaスマートホームスキルを作成すると、ユーザーはスキルを使って音声でクラウドコネクテッドデバイスを制御できます。スマートホームインターフェースは、プリビルド音声対話モデルを使用します。このモデルには、デバイスを制御するためにユーザーが言う発話のセットがあらかじめ定義されています。ユーザーがAlexaに話しかけると、Alexaは発話を解釈し、スキルにメッセージを送信してリクエストを伝えます。スキルは、デバイスの状態を変更したり(照明を暗くするなど)、デバイス状態の情報を送信したり(照明のオン/オフ状態をユーザーに伝えるなど)することにより、メッセージに対応します。

スキルなしでAlexaにスマートホームデバイスを接続したい場合は、スマートデバイスの接続オプションを参照してください。Alexa搭載デバイスをAlexaに接続する場合は、AVS Device SDK Smart Home Endpointsを参照してください。ハードウェアモジュールを製品に統合してAlexaに接続する場合は、Alexa Connect Kitを参照してください。

Alexa Skills Kitを使用して作成できる、その他の種類のAlexaスキルの概要については、スキルの種類の一覧を参照してください。

Alexaのスマートホームスキルの開発者

スマートホームスキルは誰でも開発できます。スマートホームAPIは、ユーザーがスキルとの対話に使用できる発話のセットがあらかじめ定義されている、プリビルド音声対話モデルを使用します。Alexaによって、ユーザーの発話の解釈方法と、スキルに送信するディレクティブが決定されます。

スマートホームスキルの開発は2つのカテゴリーに分けられます。

  • デバイスの製造元の開発者が、自社のクラウドコネクテッドデバイスをユーザーが音声で制御できるようにするスキルを開発する。
  • 独立した開発者がクラウドコネクテッドデバイス向けのAlexaスキルを、個人で使用するため、または一般に公開するために個人的に開発する。

デバイスをAlexaに接続するには、独自のスマートホームスキルを作成することも、経験豊富なソリューションプロバイダーに依頼することもできます。ソリューションプロバイダーのリストについては、Works with Alexa IoTソリューションプロバイダーを参照してください。

スマートホームAPIはどのような種類のデバイスをサポートしていますか?

スマートホームAPIを使用すると、ほぼすべてのタイプのデバイスをAlexaに接続できます。ユーザーとデバイスの対話方法を決め、スキルにその対話を実現する機能インターフェースを実装します。たとえば、デバイスが照明の場合、ユーザーが照明をオン/オフできるようにするには、スキルにAlexa.PowerControllerインターフェースを実装します。

ほとんどのデバイスでは、複数の機能と音声対話できるように複数のインターフェースを実装します。すべてのスマートホームインターフェースについては、Alexaインターフェースの一覧を参照してください。

一部のAlexaインターフェースは特定のデバイスタイプをサポートしますが、他のインターフェースはさまざまな種類のデバイスをサポートします。たとえば、Alexa.ThermostatControllerインターフェースはサーモスタットにのみ実装できますが、Alexa.PowerLevelControllerなどのインターフェースは多くの種類のデバイスに実装できます。

可能な限り、デバイスに特化されたインターフェースを選択してください。そうすることで、より的確な機能をAlexaでサポートできます。たとえば、デバイスの明るさの概念はAlexa.PercentageControllerAlexa.RangeControllerでもモデル化できますが、Alexa.BrightnessControllerインターフェースを実装すれば、「アレクサ、照明を暗くして」というフレーズが標準でサポートされます。

一般的なデバイス向けにどのインターフェースを実装すればよいかの推奨事項については、スマートホームスキル用のデバイステンプレートを参照してください。

スマートホームAPIのしくみ

スマートホームAPIでは、デバイスと、デバイスがサポートするプロパティ、イベント、ディレクティブを記述するための機能インターフェースを提供します。Alexaからデバイスの検出プロセス中にDiscoverディレクティブを受け取った後で、Discover.Responseイベントを送信することで、デバイスをAlexaに記述します。Alexaは、自動的に特定の機能を有効にするために、このデバイスと機能に関する記述を使用します。たとえば、次のような機能です。

  • ネイティブの音声ユーザーインターフェース(VUI)(多くの共通コマンドで使用)。
  • コンテキストの特定。ユーザーが明示しない場合でも、正しいデバイスに対してコマンドを発行できるよう、Alexaがデバイスグループなどのコンテキスト的な手掛かりを使えるようにします。
  • 定型アクションからのデバイスの制御。
  • Alexaアプリを使用したデバイスの表示と制御。

このAPIでは、音声リクエストのサポートに加え、デバイスの状態が変更された時の更新情報を提供することもできます。プロアクティブな更新により、ユーザーがAlexaにデバイスについてたずねたり、Alexaアプリでデバイスの最新の状態を確認したりできるようになります。たとえば、ユーザーはAlexaアプリを使用して、自宅の温度や照明の状態を確認できます。

このようなユーザーシナリオをサポートするために、スマートホームAPIには次の機能が備わっています。

  • 機能インターフェース – これらのインターフェースはデバイスの機能を説明します。デバイス、またはエンドポイントは、その特長を最もよく表す機能インターフェースを組み合わせて実装できます。たとえば、照明でオン/オフの切り替えと、明るさ調整の機能がある場合、2つのインターフェースを実装できます。 Alexa.PowerControllerAlexa.BrightnessControllerの2つです。さらに調節可能な白色照明もサポートする照明では、Alexa.ColorTemperatureControllerを実装することもできます。
  • 同期および非同期メッセージング - Alexaがディレクティブを送信すると、スマートホームスキルは同期的または非同期的に応答します。ご使用のデバイスとクラウドのアーキテクチャに最も適合するように、同期または非同期の応答、さらにはその2つの組み合わせのどれでも自由に選択できます。
  • デバイスステータス変更通知 – ユーザーがプロアクティブなステータス変更をイベントメッセージでAlexaに提供できます。その後Alexaは、この情報をAlexaアプリに提供し、ユーザーが必要に応じてアクションを実行できるようにします。たとえば、ドアのロックが解除された場合、この変更レポートをAlexaに送信し、ユーザーのAlexaアプリで変更を表示できます。
  • 状態の照会 - 機能インターフェースは、Alexaから照会できるプロパティを定義します。これにより、ユーザーはAlexaに話しかけるかAlexaアプリを使用して、デバイスの現在の状態を確認できるようになります。

次の図は、スマートホームスキルが提供する機能の概要を示しています。

Alexaスマートホームスキルの概要

たとえば、次のようなことが可能です。

  1. ユーザーは、スマートホームスキルを有効にし、デバイス制御クラウドで自分のアカウントにスキルをリンクして、アカウントに関連付けられたデバイスを検出するようにAlexaに指示します。
  2. その後、ユーザーは「アレクサ、キッチンの照明を50%にして」のようにリクエストしたり、Alexaアプリでデバイスの設定を変更したりします。Alexaはユーザーの発話またはアプリからの情報を使用して、エンドポイントと実行する操作を特定するメッセージを構成します。Alexaはディレクティブと呼ばれるメッセージをスキルに送信し、キッチンの照明を制御します。ディレクティブには、以下の要素が含まれます。
    • 機能メッセージ(BrightnessController.SetBrightnessなど)。これには、新しい設定値が含まれます。
    • エンドポイント識別子。この例では、ユーザーが「キッチンの照明」と名付けたエンドポイントのIDです。
    • ユーザーを認証する情報。
  3. アマゾンウェブサービス(AWS)が提供しているサービス、AWS Lambdaでホストされるスキルコードがディレクティブを受け取って解析し、認証情報を検証します。スキルがデバイスまたはデバイス制御クラウドと通信します。その際、キッチンの照明の輝度を設定するようユーザーが定義しておいた通信チャネルを使用します。
  4. スキルは、操作が正常に実行されたかどうかを示すイベントと呼ばれるメッセージで、Alexaに応答します。応答はLambda関数からイベントを同期的に送信するか、デバイス制御クラウドから非同期的に送信するかを選択できます。Alexaはこの応答を元に、ユーザーへの適切な応答を提供します。たとえば、リクエストされたディレクティブが正常に処理されたことを示す場合、Alexaは「はい」と言います。
  5. その後、ユーザーは手動でキッチンの照明を消します。この操作により、スキルは照明がオフになっていることを示す変更レポートイベントをAlexaに送信します。

Works with Alexa認定のガイドライン

Works with Alexa(WWA)認定は、製品にAlexaとの互換性があることを認定し、より使いやすいスマートホームエクスペリエンスを確実にユーザーに提供できるよう支援するプログラムです。認定を受けた製品は、Amazonスマートホームストアと製品パッケージにWorks with Alexa認定バッジを貼付できます。詳細については、Works with Alexa認定の概要を参照してください。

スキル作成のための次のステップ

開発を始めるには、スマートホームスキルの作成手順を参照してください。