QR コードと IFTTT と Google スプレッドシートで在庫管理・買い物リスト管理①大まかな流れと IFTTT の設定(大枠)

スマートホーム

2024年7月ころ、Alexa と Todoist の連携が使用不可になってしまいました。
これは本当に悲しかったです。
Todoist で ToDo リスト管理をしていましたし、Alexa の『買い物リスト』と Todoist の買い物リストを連携させて、Alexa に「○○買い物リストに追加」と言えば、Todoist の買い物リストにそれが追加されていました。

Todoist でやることチェック
うちの娘は幼稚園の年長で、体操が金曜日にあるようです。年中までは月曜日にまとめて上履きとかスモックとか体操着とかを持たせていたんですが、年長になってからは「前日に帰りの会で『明日は体操があります』と伝えますので、当日に体操着を持たせてくださ...

これが意外と便利でよく使っていたんです。
もちろん、Alexa 自体にも『買い物リスト』はあったんですが、ウィジェット化できないし、動作は遅いし…ということで、あまり使っていなかったんですね。
Alexa から Todoist に書き込みすることで、ウィジェットは Todoist の方を使えばいいし、動作はそれなりに軽いし、音声で追加できるし…という感じだったんですが。
連携されなくなってしまってショックでした。

しばらくは手作業で Todoist に追加したりしていたんですが、手が離せないときに買い物リストへの追加が発生すると「後で追加しよう」となってしまって。
で、忘れる、と。
これで何回かシャンプー的なものを買い忘れて、プチ混乱していました。
どうにかしなければ…と考えていたときに思いついたのが『Webhook』でした。

【MacroDroid】息子に予定の通知をおすそわけする方法③Webhook で通知を出す
前回、MacroDroid で LINE を送れるようになったという話を書きました。LINE は送れるようになって本当に嬉しかったんですが、別に返信がほしいわけではないので、LINE じゃなくてもいいかな…と思い始めました。もちろん、LIN...

以前『Webhook』について唐突に理解できたので、これを使えば『買い物リスト』への追加と、ついでに『在庫管理』もできるんじゃないか…と思いつきました。

流れとしては、以下の感じです。

  1. 家の中で繰り返し使う商品について、1つにつき1つ QR コードを発行する
    QR コードはタグに貼って、その商品に付けておく
  2. QR コードを読み取ると、以下の3つが同時に発動
    • ① (念の為)スマホに通知を出す
    • ② 商品の名前と現在の日時が Google スプレッドシートに記録される
    • ③ 商品の名前が Todoist の買い物リストに追加される

まぁ、それだけなんですけど…。
(わざわざ番号付きの箇条書きにする必要なかったかな…)
「手入力と変わらないじゃん」と思われるかと思いますが、『QR コードの付いたタグがある』ことで入力忘れがそれなりに減るんですよね。
記憶だけに残すのと、ブツがあるのだとちょっと違うといいますか。
それと、QR コードを読み取るのがちょっと POS っぽくて楽しいので忘れない、という効果もありました。
(多分、私限定ですけど)
これで、去年の8月くらいから運用していて、それなりに安定運用ができるようになりました。
それぞれの商品の回転期間を見たりするのも楽しいです。

前提として、IFTTT には PRO に課金している状態です。
あと、Todoist と Google アカウントを IFTTTに連携させます。
管理する商品は(結果的に)100を超えますが(今も増殖中)、IFTTT のアプレットは1個で大丈夫でした。
…これ、最初、在庫管理を Google フォームの機能でやろうかなと思っていたんですが、そうしなくて良かった…。

Google フォームとスプレッドシートで健康管理をする
Google スプレッドシート、本当に便利ですよね。ただ だし。本当にありがたい。私はフリーランスで仕事をしているので、仕事の管理とかも Google スプレッドシートを使ってやっています。案件が完了したら、そのまま請求書にデータを反映させ...

どんだけ長い Google フォームにしなきゃいけないことか。
項目を選ぶのも一苦労ですね。
ジャンルごとにページを分けるとしても、それはそれで面倒ですし。

IFTTT で新しいアプレットを作成します。

  • If This
    • Webhooks → Receive a web request
       『Event Name』は適当に『Zaiko』とかにしました(相変わらずネーミングセンスなし)
       
  • Then That
    • ① Notifications → Send a notification from the IFTTT app
      • Message: 使用期間と Todoist に『{{MakerWebhooks.event.Value1}}』を追加しました。
        • {{MakerWebhooks.event.Value1}} の部分はWebhookで送る商品名です
        • カーソルを当てていないときは『 Value1 』みたいな感じに見えます
           
    • ② Google Sheets → Add row to spreadsheet
      • Google Sheets account: 自分のアカウント(連携させます)
      • Spreadsheet name: 適当な名前(私は『使用期間』としました)
      • Formatted row:
        =DATEVALUE(SUBSTITUTE(GOOGLETRANSLATE(LEFT(“{{OccurredAt}}”,FIND(” at “,”{{OccurredAt}}”)),”en”,”ja”),” “,””))+TIMEVALUE(RIGHT(“{{OccurredAt}}”,LEN(“{{OccurredAt}}”)-FIND(” at “,”{{OccurredAt}}”)-3)) ||| {{Value1}} ||| =SUBSTITUTE(INDIRECT(“RC[-1]”,FALSE),”�”, “”) |||=IF(COUNTIF(INDIRECT(“R1C[-1]:R[-1]C[-1]”,FALSE),INDIRECT(“RC[-1]”,FALSE)),INDIRECT(“RC[-3]”,FALSE)-MAXIFS(INDIRECT(“R1C[-3]:R[-1]C[-3]”,FALSE),INDIRECT(“R1C[-1]:R[-1]C[-1]”,FALSE),INDIRECT(“RC[-1]”,FALSE)),””)|||
        • ここについては、次以降の回でもうちょっと詳しく書きます
      • Drive folder path: {{MakerWebhooks.event.EventName}}
        • カーソルを当てていないときは『 EventName 』みたいな感じに見えます
        • 完成すると、Google ドライブに『Zaiko』フォルダができて、その中に『使用期間』というスプレッドシートができます
           
    • ③ Todoist → Create task
      • Todoist account: 自分のアカウント(連携させます)
      • Project and section: すでに Todoist に作ってある買い物リストを選択
      • Task content: {{MakerWebhooks.event.Value1}}☆
        • ここも、カーソルを当てていないときは『 Value1 ☆』みたいな感じに見えます
        • 末尾に『☆』を付けたのは、なんとなく IFTTT で追加したリストであることがわかるように、です(別途手作業で追加するときもあるので)
      • その他『Priority』とかはテキトー

これが、IFTTT の大まかな設定です。
細かいところは次以降の回で。

コメント

タイトルとURLをコピーしました