「アレクサ、部屋の温度を教えて」を実現のための第5歩になります。
開発環境にアカウントを作る必要があるのですが、ここでハマりました。ログインでハマってログインできないのではなく、できたスキルをテストする段階でスキルが出てこなくて、ハマっていたことに気づくというハマり方です。
原因はamazon.comで買い物をしたことがあり、ここにアカウントを持っていたからです。
表題のAlexa skillとは、「アレクサ、部屋の温度を教えて」「部屋の温度は20度です。」などといったアレクサとの会話のロジックスキルのことです。
会話を成り立たせるには、ESP8266から温度データを読み出す(I)Lambda関数と、そのLambda関数を呼び出すための (II)Alexa Skillが必要です。
開発環境(Amazonサイト)
alexa developer consoleでAlexa Skillを開発し、Lambda関数はAWS Lambdaで開発します。それぞれの開発サイトに正しいアカウントでログインできなければ、「開発中のスキルが、アレクサアプリで表示されない。」状態になります。
Amazonの新規ユーザであれば正しくアカウントを作成できますが、日本とアメリカの両方にアカウントを持っているようなユーザでは必ずハマります。
alexa developer console
AWS lambda
開発中のスキルが、アレクサアプリで表示されない。
知らず知らずのうちにamazom.comでスキル開発を進めてしまい、日本語版のEchoデバイス(amazom.co.jp版)でテストをしようにも、Amazon alexa サイトにスキルが出てきません。私はこれにハマりました。
原因
- スキル開発を行う開発コンソールは、Amazon.comに登録されたアカウント(メールアドレスと同意)を優先してアカウントが作られる。特に意識しないでスキル開発(alexa developer console)のアカウントを作ると、Amazon.comに登録されたアカウントで作られる。
- Amazon.comに登録されたアカウントで作るスキルは、US向け。日本語表示になっていても、US版のEchoデバイスでしか使えない。したがって、日本版のアレクサアプリには出てこない。
対策
- Amazon.co.jp(買い物サイト)のアカウントで登録したメールアドレスは、Amazon.comで使ったことのないアドレスを使う。
- アレクサアプリは、このアドレス(買い物サイトAmazon.co.jpのアカウント)と紐づいている
- スキル開発のアカウントは、Amazon.co.jpでのアドレス(アカウント)と同じものを使う。
- そのときの登録アドレスを使って修正できれば、それがいいが、受付られない場合がある。(自分は今回、受付られなかった)
- スキル開発のアカウントをログアウトして、Amazon.co.jpでログインする。当然、最初は新規登録になる。あらためて各種情報の入力を求められる。
- 新規アカウント登録はスキルの作り直しを意味する。
- アカウントの削除や初期化はできない由
AWS Lambdaは大丈夫です
AWS Lambdaのサイトは、アドレスの制約はないみたいです。結論
- Amazon の開発者ポータルから新規でDeveloperアカウントを作るべからず。
- 日本のスキル開発を始める前に、スキル開発で使用しようとしているアカウントで、amazon.com にログインできるかどうかをチェックすべし。もしログインできてしまったらすぐに開発者ポータルでEメールアドレスを変更し、改めて元のEメールアドレスでDeveloperアカウントを作成すべし。
- どうしてもダメなら早々に諦めて、新規で amazon.co.jp のアカウントを作るところからやり直すべし。