LoginSignup
7
8

More than 3 years have passed since last update.

Alexaでtogglのタイマーを開始する

Last updated at Posted at 2019-09-16

モチベーション

togglでタイマーを開始させるときに入力がめんどくさいことがある.
Alexaを使ってタイマーを開始/終了できるようにする.

概要

  • 「アレクサ,トグルで{プロジェクト}の{タイトル}を開始して」でtogglのタイマーを開始する.
  • 「アレクサ,トグルで時間を止めて」でtogglのタイマーを停止する.
  • 「アレクサ,トグルで{日付}を振り返って」でその日のプロジェクトごとの時間w

やること

Amazon Developer でスキルの作成

参考→Alexaスキル 開発チュートリアル

注意点

  • 公開しないときは使用中の Echoと同じアカウントを使用 する.
    公開しなくても,スキルを使用することが可能になる.
    開発中のスキルが勝手にAmazon Echoにスキルが反映される

作業

  1. スキルを作成する.(モデル: カスタム, ホスティング方法: Alexa-Hosted)
  2. 「スキル呼び出し名(Skill Invocation Name)」をトグルにする
  3. タイマー開始のインテントを作成する
    • インテント名: startTimerIntent
    • サンプル発話: 「{project} の {title} を開始して」
    • スロットの追加: project, titleのスロットを追加する.スロットタイプは「AMAZON.Genre」 ※困ったこと1
  4. タイマー終了のインテントを作成する
    • インテント名: stopTimerIntent
    • サンプル発話: 「時間を止めて」 ※困ったこと2
  5. エンドポイントに「AWS LambdaのARN」を貼り付け

AWS Lambda でlambda関数の作成

参考→Build an Alexa City Guide Skill in ASK Python SDK

作業

  1. ロールの作成 参考→Python による Lambda 関数のビルド
  2. Lambda関数を作成する.
    • 一から作成を選択
    • python 3.6を選択
    • 既存のロールを選択.作成したロールを選択
    • 関数を作成
  3. トリガーを追加(Alexa Skills Kit)
    スキルIDを貼り付けて追加(Alexa Developerのスキル一覧からスキルIDを取得)
  4. lambda_function.py を実装して,zipにしてアップロード
    参考→st34-satoshi/alexa-toggl

参考

困ったこと

1. 自由な言葉に対応するスロットタイプがない

文字列にタイプを指定する必要があるが,いいタイプがなくて困る.
自由な言葉に対するおうむ返しはできない?
literalがなくなってしまった → ユーザーの自由発話に対応する Alexa Skill を作る
Migrate Slot Types that Used AMAZON.LITERAL

AMAZON.SearchQueryはなぜかうまく使えなかった.

2. 「タイマーを止めて」は使わない方がいい

タイマー という言葉を使うと,アレクサにある他の機能を呼び出してしまうことがあるみたい

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8