IFTTT

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 件のコメント:

コメントを投稿