Google Homeでは、IFTTT連携とショートカットを使うことで任意のフレーズでテレビを操作できるのですが、Amazon EchoではIFTTTを呼び出す際に「○○をトリガー」と言う必要があったり、スマートホームスキルがテレビに対応していなかったりと、まだすんなり使うには制約がありました。
前回の記事ではNode-RED Alexa Home Skill Bridgeを使うことで、現状の制約のなかでも「アレクサ、テレビをつけて」、「アレクサ、テレビを4にして」という自然な呼びかけでテレビを操作できるようにしました。
前回: Amazon Echoで「○○をつけて」と言って家電を操作する - Qiita
今回はさらに、Amazon Alexaアプリの定型アクションを組み合わせることで、「アレクサ、NHK」、「アレクサ、日テレ」と呼び掛けることで、テレビのチャンネルを変えられるようにします。NHKや日テレの部分は任意のフレーズが使えます。
![IMG_4465.PNG](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F15802%2Fc92325f3-8530-73b5-a4f5-9a1f07fe180f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=16e97b61e14702d2e417f6b253be0108)
定型アクションは本来、複数のアクションをまとめて実行するための仕組みです。実行できるアクションは現時点ではスマートホームスキル、ニュースの読み上げ、天気の読み上げに限定されています。カスタムスキルの実行には対応していません。任意のフレーズで実行できる特徴を利用して、チャンネル名とスマートホームスキルのアクションを関連付けます。
![IMG_8C2A15E61C70-1.jpeg](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F15802%2F46b49f94-144e-0a62-110c-599fe76e4a45.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2fa758f99fef5b3a98ae5a7ad4ec5547)
環境
- Amazon Echo
- Node-REDが動く環境 (Macbook ProやRaspberry Pi)
- スマートリモコン (Nature Remo)
手順
Amazon Alexaアプリを使って定型アクションを登録します。
- 左上のハンバーガーメニューから定型アクションを選択
- 右上の+ボタンを選択
- 実行条件にチャンネル名 (NHK, 日テレなど) を指定
- アクションにスマートホーム→テレビを指定
- パーセントにテレビのチャンネルに対応する番号を指定 (4チャンネルなら4%)
- テレビのチャンネルの数だけ2~5を繰り返す
ポイントは手順5です。日本語のスマートホームスキルはテレビに対応していないので、照明の明るさ指定でチャンネル設定を代用しています。
![IMG_4466.PNG](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F15802%2Fd3901383-b904-2602-a3c6-ac76162784ae.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=fc64de19cb23e3b825cbd4f5e5e27424)
スマートホームスキルはNode-RED Alexa Home Skill Bridgeを使っています。Node-RED側にはSetPercentageRequestとともに設定した数値 (上記の例では4) が送られてきます。スマートホームスキルに対応したスマートリモコン (eRemote mini) を使っても同様のことはできるでしょう。
これで、「アレクサ、NHK」、「アレクサ、日テレ」と呼び掛けるとテレビのチャンネルを変えられるようになりました。
まとめ
発展途上のAmazon Echoでも、スマートホームスキルを工夫すれば自然な呼びかけでテレビを操作できました。
スマートスピーカーで家電を操作したい場合、現状ではお手軽さでいくとGoogle Home + IFTTTがベストで、次いでAmazon Echo + スマートホームスキル対応のスマートリモコン (eRemote mini) です。スマートホームスキルでテレビが日本語に未対応というAlexa側の制約もありますが、スマートホームスキルに対応したスマートリモコンが増えてほしいです。
参考