たびたびご連絡致します。「ウチの緊急連絡」の件ですが、先日はAlexaアプリで有効化でき、スピーカで話しかけると、最初の返事が来たので、これは設定成功と思い、内容はゆっくり検討と思っていたのですが、その後その先へ全く進めない状態です。スピーカから、一度は呼びかけ方を言ってくれるのですが、その後はいろいろ試してみても「Skillからの応答に問題があります」という回答で、その先には進めないのですが、どの辺に問題があるのでしょうか?何度試してみても、一度返事があった後、「・・・・」だけの返事になります。ちなみに、コードは読めませんが、宜しければ解決方法をお教えください。スキル有効化の設定まではやっとうまくいったので、何とか、うまく動作させたいと思うのですが。宜しくお願い致します。
「Skillからの応答に問題があります」という応答が返って来ているのであれば、Lambdaは呼び出されています。が、何らかの原因でLambda(Java Script)が正常な応答を返していないという状態かと思われます。
そのため、ここからはLambda(Java Script)のデバッグ作業になります。Lambdaの中には要所要所にログ出力が埋め込まれています。具体的には console.log(); の部分です。このログ出力は、Lambdaのテストイベントを使って単体テストした際にはAWS Lambdaの画面上で見ることができますが、それ以外の場合はAWSのCloudWatch→ログで見ることができます。このログ出力を追いかけて、Lambda関数に対して、どのような入力があり、それに対してどのような処理をしようとして、何かのエラーが発生していたり、想定外の動作、異常な動きをしていないかを探ることになります。
ホームページで公開しているソースでは、ログ出力がコメントアウトされていたり、充分な情報を出力していなかったりしますので、何度か試行しつつ、ログ出力をコメントインしたりログ出力を追加しなければならないと思います。(面倒な作業ではありますが・・・)
先ずはAlexa開発者コンソールのテスト機能を使い、正常な反応が得られないフレーズを入力して、Lambdaの入力となるJSONを作らせ、それをLambdaのテストイベントにコピペしてLambdaの単体テストをしてみることをお勧めします。この単体テストで現象が再現(エラーやnullを返している)できればデバッグ作業は楽になります。テスト結果にログが出力されて、その中にエラーを返している箇所があれば、そこからエラー原因を探ってみてください。(メール送信でエラーなら、SMTPサーバのURLやアカウント情報に誤りは無いか?とか、電話(Twilio)でエラーなら、SIDやトークンに誤りはないか?など)
相当に壁は高そうですが、休みの際に何とか挑戦してみようと思います。有難うございました。又宜しくお願い致します。
初心者のためのNodeとか寄り道しましたが、何とか緊急の電話とメールはうまくいくようになりました。LambdaのTestは、失敗が表示されますが、目的の作業はできました。アメリカにMy buddyとかいうSkillがあって、日本でも公開されないかと待っていたのですが一向に出てこなかったので、挑戦してみました。最低限の希望は達成で来たので、今のところは満足です。有難うございました。
充分なサポートができず申し訳なかったですが、何とかなったようで良かったです。
まだAmazon Echo(Alexa)の日本でのサビースは立ち上がったばかりで、数年先を行っている米国のサービスやスキルの充実ぶりには及ぶべくもありません。そのため、自分達でスキルを充実させていかなければ、折角のスマートスピーカーも単なる玩具で終わってしまいます。とは言うものの、スキルの開発には情報と、プログラムを作ってやろうというモチベーションと、少しばかりプログラミング能力が必要ですね。
自分もまだ勉強中ですが、少しづつでも身に付いた知識を公開して行こうと思っていますので、よろしかったら覗きに来てみてください。