前回の続きです。
IFTTT で Google スプレッドシートに書き込みしたタイムスタンプと、Google フォームで書き込みしたタイムスタンプを、同じスプレッドシートにまとめたところまで書きました。


Google フォーム側は、普通にフォームにアクセスしてラジオボタンで回答を選択して送信すればデータがたまります。
IFTTT 側は、この間設定した Webhook の URL にアクセスすれば、同じようにデータがたまります。
今まで MacroDroid で記録していたときは、NFC へのタッチをキーにして Google フォームの URL を開き、押したい回答をタップして下にスライドして『送信』ボタンを押す、という UI 操作をマクロ化していました。

で、↑ このしくみが使えなくなることが多くて、IFTTT と融合させたわけです。
なので、トリガーとなる NFC はできればそのまま使いたいなー、と思いました。
MacroDroid の既存のマクロでは、すでに『トリガー』が NFC になっているので、『アクション』の部分だけ書き換えました。
- トリガー: NFC タグ ← いままでから変更なし
- アクション: HTTP リクエスト(GET)
で、『HTTP リクエスト(GET)』の設定です。
- 『設定』タブ
- リクエストメソッド: GET
- URLを入力: (IFTTT の Webhook の URLを入力) ※
- 『クエリーパラメーター』タブ
- 下部の『+』から『パラメータを追加』
- パラメーター名: value1
- 値: (『運動開始』『通』など入力したい項目名)
- 下部の『+』から『パラメータを追加』
※部分の『Webhook の URL』ですが、次の『クエリーパラメーター』の項目の方でパラメーターを指定しています。
なので、ここは純粋に『Webhook の URL』だけで OK です。
https://maker.ifttt.com/trigger/{event}/with/key/{私のキー}
というものだけです。
本来であれば、ブラウザのアドレス欄に
https://maker.ifttt.com/trigger/Taicho/with/key/{私のキー}?value1=運動開始
と書いていたんですが、それは次の『クエリーパラメーター』タブの方で担ってくれます。
別に『URLを入力』に『?value1=運動開始』まで書いてもいいんですけど、このアクションをコピーして他のものに使うとき、こっちで設定したほうが変更しやすいと思いました。
これで、特定の NFC にタッチしたときにこのアクションが走って、Google スプレッドシートにタイムスタンプが押されるようになりました。
前回 IFTTT でアプレットを作ったときに、Google スプレッドシートに書き込むと同時に通知を出すようにしているので、このアクションが実行されると5秒後くらいに IFTTT の通知がピコーンと出ます。
それがあるので、MacroDroid 側では特に通知は出しません。
通知だらけになってしまうので。
この『HTTP リクエスト(GET)』を使うと、ブラウザも何も開かないで Webhook の URL にアクセスするので、ブラウザが開いたりしないのも特徴です。
以前作った『QR コードと IFTTT と Google スプレッドシートで在庫管理・買い物リスト管理』のときは、100種類以上の日用品の在庫管理をする必要があった(?)ので、NFC タグではなく QR コードを使いました。

なので、このときはブラウザがいちいち開くようになっていました。
NFC はそこまで高価ではないですけど、テプラで QR コードを作るよりはやっぱり高くなってしまうので、在庫管理のときには使いにくいですね。
場合によって使い分けするのがいいんだと思いました。
これで、今回の融合は終了です。
データをためるファイルと表示させるファイルを別にしているので、データが伝わってくるまでに若干タイムラグがあるような気がしますけど、別に個人使用ですからそんなに気にしていないです。
ついでに、同じ仕組みで『子どもたちのお通じ管理』の方も作り直しました。

これで、こっちもいつも自動で記録されるようになりました。
ちなみに、以前はこの SwitchBot リモートボタンをリビングに設置していたんですが、最近は息子の友だちもめったに遊びに来なくなりましたので(笑)、トイレに設置し直しました。
やっぱり、その方が押し忘れがなくて良さそうです。
…相変わらず、SwitchBot さん推奨の使い方ではないですけどねー。
コメント