コモノポリタン

コモノ、デジモノが好きなKomonopolitan住民 (はてなダイアリーからの引っ越しです)

【Home AssistantでDIY Smart Home】Googleスピーカー - IFTTT連携見直し

【Home Assistant(Hass.io)】
「なお、近いうちにこのIFTTT統合の変更が予定されています」あぁぁ…

「Home Assistant(Hass.io)でホームオートメーション 再起動!」シリーズです。

 妻が「(Googleスピーカーで)寝室の電気を消すとGoogleがなんかもごもご言ってるけど」とやんわりとしたクレームを言ってきました。私は最近Googleに願いして電気を点けたり消したりはしてませんでしたが、試しにダイニングの電気を点けるようGoogleにお願いすると、電気が点いた後に「なお、近いうちにこのIFTTT統合の変更が予定されています。詳しくは、Googleアシスタントのヘルプセンターをご覧ください。」などと…

 調べてみると8月31日(!)までにIFTTT連携を見直さないと駄目らしい。急げ!

 IFTTT側にアナウンスありました。ただし英語…
https://ifttt.com/explore/google-assistant-changes いままで結構やりたい放題だったGoogle-IFTTT連携の見直しがある様子。でも急だなぁ。

1. なにが起こっているのか…

 まずはIFTTTの公式見解が下記です。英語ですが。 ifttt.com

まずはGoogleが仕組みを変えたので2022/8/31を過ぎたら、

  1. Googleアシスタントを使っているアプレットアーカイブされる
  2. サービス接続の情報は削除される

とのこと。
で、何が変わるかというと

  1. 呼びかけが「OK Google, …」から「OK Google, Activate …」に変わる
    (百歩譲ってそれは良いとして「で、日本語では?」の説明は今のところなし…)
  2. Googleアシスタントの認証がIFTTT側からできていたのが、携帯のGoogle Homeアプリ経由のみに変わる
  3. Googleアシスタント呼び出しのレスポンスとして自由に喋らせることは(IFTTTから設定は)できなくなる
  4. 数字や文言を埋め込んでGoogleアシスタントを呼び出すことはできなくなる
    (ああ…体重だの、体温だの記録していたIFTTTアプレットは全滅…ぐっすん)

の辺りらしい。いままでも何百万人の活用しているので「変えないでくれってGoogleに言おう」ってIFTTTは呼びかけておりますが、まあIFTTTだけ特別扱いできなくなってきているのでしょうねぇ。

2. さあ再設定

 それでは、下記記事で作った「主寝室の電気を点ける」を参考に、新しいGoogleアシスタント連携の再設定をしてみましょう。今回はダイニングの電気を点けてみましょう。
maky-ba.hatenablog.com

 新しいGoogle - IFTTT連携のやり方は、Googleにも説明ありました。ただし英語ですが…。
support.google.com

2.1. 準備

 「再」設定ですので、上記の記事に書いた下記準備は終わっている前提です。

  1. IFTTTの準備(携帯アプリの新ストール、ログインアカウントの作成)
  2. Home Assistant側の準備(外部からの接続準備など)

2.2. IFTTTアプレットの定義

 IFTTTサイトに行ってログインし、「Create」をクリックして新しいIFTTTアプレットを定義しましょう。トリガー(If This)として、googleと検索窓に入力して「Google Assistant V2」を選択します。

 ううむ「Activate scene」しか選べない…。シーン名を「ダイニングの電気をオンにして」とする。

 次にアクション(Then That)として、webと検索窓に入力して「Webhooks」を選択します。

 「Make a web request」でアクションを記述する。

 埋める内容は下記。URLはHome Assistantで取得したWebhookのURLを記述。

 確認して、IFTTTアプレット一丁あがり!!

2.3. Google Home設定 - IFTTTのリンク

 まずはGoogleとIFTTTをリンクさせる必要があります。Google Homeアプリをスマホで立ち上げて「設定」をクリックします。「家の設定」画面で一番下の「Googleと連携させる」をクリック。出てきた膨大なサービス*1の中から「IFTTT」を選びます。検索窓を使うのが吉。

 これでGoogleとIFTTTサービスが連携するようになりました。

2.4. ルーティンの設定

 次にGoogle Homeアプリでルーティンを設定します。ホーム画面で「ルーティン」をクリック。右下の「+」ボタンから「新しいルーティン」画面を開きます。

 ルーティン設定の第一歩は「開始条件を追加」です。IFTTTの「IF This」パートに相当します。「Googleアシスタントに話しかけたとき」を選び、「OK Googleと言ったとき」に命令文を記載します。ここでは「ダイニングルームの電気をつけて」としました。右下の「開始条件を保存」で保存するのを忘れずに…

 次に「アクションを追加」します。IFTTTの「Then That」パートに相当します。ここでIFTTTで作ったシーンを指定するのですが、それは「スマートホームバイスの調整」にあります。分かり難いですね。そこには照明やエアコンの操作と並んで「シーンの操作」があります。まだシーンは一つしか作っていないので、それを選びます。選んだら右上のチェックマークで保存を忘れずに。次の画面では右下の「完了」を*2


 IFTTTの方でレスポンスとして「電気を点けます」的なおしゃべりをさせられなくなりました。じゃ、こっちではどうか?と調べてみると、ふむ出来ますね。
 まずアクションをさらに追加。「連絡、お知らせ」から入って、喋らせるメッセージを設定します。保存は右上のチェックマークで。

 最後に右下の「保存」でルーティンの保存を忘れずに。

3. さあ呼び出してみよう

 Googleスピーカーに「ねぇぐーぐる、ダイニングルームの電気をつけて」と言うと、ダイニングのシーリングライトが点灯し、ほぼ同じタイミングで「ダイニングの電気をつけます」と言ってくれました。おお?「OK Google, Activate」は??
 まあ、これで電灯系については復旧の目途がたちました。
 が、結局のところ、

  1. 呼びかけはGoogle Home ルーティンを使えば引き続き「ねぇ、ぐーぐる、…」で良い。
    (=Activateの発音を気にする必要なし!)
  2. Googleアシスタントの認証は、面倒というほどではない
  3. 定型文をレスポンスとして喋らせることもできる
  4. できないのは「単語とか数字を認識させて動くこと」だけか…
    いやまあ、影響大きいですが。私のコロナ対応体温記録*3とか、体重記録*4とか動きません。

という感じですね。

全体の連携の起動状況をざっと下記に記してみます。

#
Google
Assistant
連携

Google
Assistant
連携V2
1 Google Home
「ダイニングの電気をつけて」
と言われたら
「ダイニングの電気をつけてにょ」
を呼び出す

こうしないとGoogle Home接続のデバイス
呼び出しに行ってしまう
2 Google Home
GoogleはIFTTTからの連携登録に従って、
その「ダイニングの電気をつけてにょ」
をIFTTTアプレット呼び出しと認識し連携
Google Home
「ダイニングの電気をつけて」
と言われたらルーティンを起動して
アクション(1):IFTTT連携のシーン
「ダイニングの電気をオンにして」
を呼び出す。
3 【IFTTT? Google?】
IFTTT Google Assistant連携で設定した
「ダイニングの電気をつけます」と
Googleスピーカーに喋らせる

たぶんGoogle側で処理では?
そっちの方が簡単、でも特別扱い…
4 【IFTTT】
IFTTTアプレットのIf This部を解釈して
Then ThatのHome AssistantのWebhook(API)
を呼び出す
【IFTTT】
IFTTTアプレットのIf This部を解釈して
Then ThatのHome AssistantのWebhook(API)
を呼び出す
5 【Home Assistant】
ダイニングの電気をつける
【Home Assistant】
ダイニングの電気をつける
6 Google Home
ルーティンのアクション(2):通知で
「ダイニングの電気をつけます」
とスピーカーから喋らせる

新しい連携は明示的ですっきりしていますね。
(ただ、ううむ、なんだか「新」のGoogleが妙にIFTTTっぽい気がする)

4. おわりに

 しかし、これはあれですね、IFTTTがぐずぐず言うのも仕方なしですね。だってあと「アクション」の中にWebhookを呼べるものがあったら、IFTTTいりませんもの(ちょっと言い過ぎかも)。
【追記】いや、やっぱ言い過ぎ。IFTTTのいいところは、If Thisパートの豊富さですもの。Google Homeルーティンは、Google様が起点でないと駄目っぽい。Then Thatパートは豊富になってきましたが…。

 記事もギリギリ8月末に間に合った(間に合ったと言えるのか…)。

maky-ba.hatenablog.com

*1:これまでは「なぜか」設定しなくても自動的にリンクしている感じで処理されていましたが、上の画像に出てくるように連携するサービスが増えてきたので「IFTTTだけ特別扱いは終了!」となったということですね。残念。

*2:このあたりのUIはまだこなれてませんね。UI標準が無い、もしくは真面目に適用しすぎで一体感無しといった感じでしょうか。

*3:最近使ってないな…。

*4:Bluetooth体重計を買ったので使っていませんね