IFTTTのサービス変更と基本的な考え方
薬を飲んだ後、「OKグーグル、朝のお薬飲んだよ」とGoogle Homeに話しかければGoogleカレンダーに設定されている予定(イベント)が服薬済に変わり、色も赤から青に変わる。これがsemi2018でIFTTTを利用して開発した仕組みである。
今回も基本的にはこれを継承しようと思ったが、IFTTTのサービス体系が変わり、無料アカウントだとアプレットを3つまでしか作れない!
semi2018では「朝」「昼」「夜」「就寝前」の4つの服薬タイミングがあるので、4つのアプレットを作ってこれに対応していた。曰く「朝のお薬飲んだよ」、「昼のお薬飲んだよ」、「夜のお薬飲んだよ」、「寝る前のお薬飲んだよ」。
このフレーズを集約して「$ のお薬飲んだよ」と、タイミングを意味するキーワード「朝、昼、夜、寝る前」をパラメタにしようと考えたが、なんとIFTTTは「$」で始まる文字列は許してくれない。
そこで語順を変えて「お薬 $ 飲んだよ」というフレーズをトリガーにすることにした。これでアプレットは一つ作れば済み、パラメタ({"timing":"朝"}など)をGASで開発したWebAPI A2に渡せばよい。
IFTTTの設定
semi2018と同様にIFTTTはGoogle AssistantとWebhooksを媒介するよう設定する。
IFTTTにログイン
IFTTTを開いてGoogleアカウント(semi2020kumw)でログインし、[Create]をクリックしてアプレットを作成する。
図1.アプレットを作成 |
If This
「If This」をクリックする。
図2.If This |
Googleアシスタント
検索窓に「Google」と入力して「Google Assistant」を探してクリックする。
図3.Google Assistantを選択 |
トリガー
Choose a triggerで「Say a phrase with a text ingredient」を選択する。これはトリガーとなるフレーズにテキストのパラメタを埋め込むオプションである。
図4.トリガーの選択画面 |
フレーズを入力
「What do you want to say ?」にGoogle Homeに話しかける言葉を入力する。ここでは「お薬 $ 飲んだよ」と入力する。$の前後には半角空白を入れる。
図5.フレーズ入力 |
IFTTTは変形フレーズを3種類まで入力できる。そこで、言い間違いそうなトリガーフレーズとして「お薬 $ 飲んだ」「薬 $ 飲んだ」を入力し、Google Homeからの応答として「かしこまりました。お薬カレンダーに記録しておきますね。」と入力する。
これによって「お薬 朝 飲んだよ」「お薬 朝 飲んだ」「薬 朝 飲んだ」がすべて同等に扱われ、パラメタとして「朝」というキーワードが補足される。
しかし、IFTTTでパラメタの入力チェックはかけられないので(多分)「お薬 いっぱい 飲んだよ」というフレーズも受け付けられ、パラメタに「いっぱい」がセットされ、WebhooksでWebAPIへ送られる。「いっぱい」という服用タイミングはないのでこれはエラーではねつけなくてはならない。
図6.代替フレーズと応答文 |
入力フレーズと応答文の設定が完了したら言語を「日本語」に設定して「Create trigger」をクリックしてトリガーを完成させる。
図7.トリガーの作成 |
Then That
図8.Then That |
「Then That」をクリックして、Webhooksを設定すべくクリックする。
図9.Webhooksを選択 |
Web requestの作成
「Choose an action」画面で「Make a web request」をクリックする。
図10.Web requestを作成 |
Complete action fields
「Complete action fields」画面にGASで作ったWebAPI A2のURLを設定する。
図11.WebAPI A2 のURL |
HTTPのメソッドには「POST」、Content Typeには「application/json」、BodyにはJSON形式でキーが"timing"で値がパラメタ(プレイスホルダ{{TextField}}にて指定できる)になるデータを設定してアクションを作成する。
図12.Create action |
これでIFTTTの設定は終わったので「Continue」をクリックし「Finish」をクリックする。
図13.Continue |
図14.Finish |
テスト
IFTTTの設定が終わったらテストしてみる。Googleカレンダーに服薬イベントを登録してからGoogle Homeに「OKグーグル、薬 昼 飲んだよ」と話しかける。
下図のように服薬イベントが赤から青に変われば成功。
図15.服薬カレンダー |
0 件のコメント:
コメントを投稿