Raspberry PiでIFTTTのMaker WebhooksにPOSTする

More than 1 year has passed since last update.

このエントリは「Raspberry Piでスマートロックつくった」の解説5つめになります。

鍵の開閉を記録しておくため、IFTTTを経由してGoogleスプレッドシートに記録してみようと思います。この内容で記事書いている人は大勢いますので簡単に。


IFTTTでMaker Webhooksを有効にする

https://ifttt.com/maker_webhooksにアクセスし、「Connect」をクリックすればMaker Webhooksが有効になります。

e4e5fa2eeeee1a1a39cbec73f96fc7ba.png

有効化したら、右上の「Documentation」をクリックして、Webhooksを利用するためのkeyを確認します。

654e62b8ae46370cbd4870ce7ceade0a.png

ちなみにこの画面はWebhooksのデバッグコンソールも兼ねていて、イベント名とPOSTパラメータ名を自由にいじってテストすることができます。


IFTTTのアプレットを作成する

さて、Maker Webhooksの準備が整いましたので次はGoogleスプレッドシートに記録するアプレットを作成します。「My Applets」→「New Applet」の順にクリックするかhttps://ifttt.com/createにアクセスして組み合わせを作ります。


  • this:Webhooksを選択し、適当なイベント名(LogToGoogleなど)を設定

  • that:GoogleSheetsを選択し、「Add row to spreadsheet」を選択。生成されるシート名などは適宜お好みで登録。

以上でIFTTTの準備は完了です。念のため先程の「Documentation」のページに行って、今作ったイベントにPOSTしてみてちゃんと動作するか試してみるのもよいです。


Raspberry PiからPOSTする

あとはRaspberry PiからPythonでWebhooksのAPIにPOSTすれば完了です。

import requests

# IFTTT URL for Logging to Google Sheets
IFTTT_URL_GoogleSheets = 'https://maker.ifttt.com/trigger/<設定したWebhooksのイベント名(LogToGoogleなど)>/with/key/'
# IFTTT Key
IFTTT_KEY = '<確認したWebhooksのkey>'

# Log
requests.post(IFTTT_URL_GoogleSheets + IFTTT_KEY, json = {'value1':'パラメータ1', 'value2':'ぱらめーた2', 'value3':'parameter3'})

私はこれを使って鍵の開閉やユーザ登録などの記録をとっています。

9bc98a0b938431421da10ae7648f9725.png

41行目~47行目は通常の利用ログですね。Apple WatchやiPhone X内のSuica、それに室内のボタンを使って開閉しています。48行目では登録されていないPASMOがタッチされており、その次の行でカードを「ぱすも」という名前で登録許可を出しています。(登録許可については次の記事へ

現在はスマートロックだけ稼働していますが、今後部屋内にセンサーを置いたり別の機能を持たせたRaspberry Piを稼働させることになれば、色々なログをこのシートに記録していくことになるでしょう。

Next:Raspberry PiでSlackbotを飼う