どうも、CHASUKEです。
タイトル付けが難しいところですが、「Integromatを使って、Google Homeで指定回数分の赤外線を送信したい」との要望をいただきましたので、作ってみました。
例えば、こんな感じです。
「OK.Google. テレビのボリュームを3上げて」
同じ赤外線信号の連続実行であれば、「3」固定でなく、「1」でも「100」でも汎用的に操作できます。ただ、「100」指定したらとんでも無いことになります..w
Integromatシナリオの作り方は、以前にアップした下記の記事を少しイジればできてしまうので、詳しいところは参考にしていただければと思います。
https://chasuke.com/wp/integromat2/
それでは、やっていきましょう!!
指定回数分の連続実行シナリオの作り方
連携イメージはこんな感じ♪
▼Integromatのシナリオ完成形がこちら
Integromat側のWebhooksを作成
IFTTTからの呼び出し元になるWebhooksモジュールを作成します。
今回は、新たに「IFTTT_Number」という名前でWebhookを作成しました。表示されたURLをコピーして次の手順に行きます。この画面はこのまま放置しておきます。
※詳しくは、こちらの「Webhooksモジュールを作成」を参考にしてください。
IFTTTで呼出用レシピを作成
今回のポイントはここです。
指定回数を渡すためのIFTTTレシピを作っていきます。
▼まずはトリガー「Google Assistant」の設定
数字を仕込むため「Say a phrase with a number」を選択します。
▼見ればわかると思いますが、起動フレーズの数字部分に「#」を入力します。また、前後に半角スペースが必要です!!
少し違和感があるのが、テレビと言わずに「BRAVIA」と言ってる部分。
テレビと言うと、Google Homeに登録しているChromecastの音量が変更されます。逆にテレビと言わなければ、Google Homeの音量が変更されます。
最終的に製品名から「BRAVIA」としています。
次に、なぜ「ブラビア」でなく「BRAVIA」なのか。Google Assistantがそうやって認識するからです。
この辺りは、Google Homeに実際に話しかけてみて、「マイ アクティビティ」で何と聞こえているかをチェックすると組み立てやすいです。
▼続いて、アクション「Webhooks」の設定
▼URLは先ほどのIntegromat側の呼出元となるものを指定します。
Body部分に、トリガー側のGoogle Assistantで指定した「#」に当たる指定回数をセットします。
▼Bodyの設定は以下のように、「Add Ingredient」にある「NumberField」を選びます。
レシピが完成したら、Google HomeからIFTTTレシピを起動させてみましょう。
▼事前に用意しておいた、Integromat側のWebhooksモジュールに「Success」と表示されていれば成功です。
連続実行用のRepeaterモジュールを設定
同じモジュールを実行したいときに使える便利なモジュールが「Repeater」です。
▼こんな感じで、連続実行したいHTTPモジュールの前にセットします。
▼リピート回数は、IFTTTから連携されてくる「number」を利用してセットします。
Repeats項目にカーソルを当てると、星マークから「number」を指定できます。この中身に、Google Homeに伝えた回数が入っています。
これで、完了です。
HTTPモジュールでAPI実行
最後にNature APIを利用して、音量UPの赤外線信号を送信します。
URL | https://api.nature.global/1/appliances/[赤外線信ID]/send |
---|---|
Method | POST |
Body type | Application/x-www-form-urlencoded |
▼HTTPヘッダーに認証情報も忘れずにセットしましょう。
HTTPモジュールの詳しい設定方法は、こちらの「HTTPモジュールを設定する」を参考にしてみてください。
これで、シナリオは完成です。
▼シナリオを「Active」として起動してみてください。
「OK. Google. BRAVIAの音量を3上げて」
これで音量が3アップするはずです♪
最後に
同じモジュールの実行であれば、「Repeater」モジュールが使えてめちゃ楽です。同じ要領で「音量ダウン」も揃えておこっと。
ポイントは、IFTTT側のWebhooks設定値。「マイ アクティビティ」を地道に確認しながら呼出フレーズを決めるところですね。
また、誤って「音量を100上げて」と言っちゃったなど、明らかに間違った値が来たときに作動しないようにフィルターを入れときましょうw
それではまた。