このエントリは「Raspberry Piでスマートロックつくった」の解説5つめになります。
鍵の開閉を記録しておくため、IFTTTを経由してGoogleスプレッドシートに記録してみようと思います。この内容で記事書いている人は大勢いますので簡単に。
IFTTTでMaker Webhooksを有効にする
https://ifttt.com/maker_webhooksにアクセスし、「Connect」をクリックすればMaker Webhooksが有効になります。
有効化したら、右上の「Documentation」をクリックして、Webhooksを利用するためのkeyを確認します。
ちなみにこの画面は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'})
私はこれを使って鍵の開閉やユーザ登録などの記録をとっています。
41行目~47行目は通常の利用ログですね。Apple WatchやiPhone X内のSuica、それに室内のボタンを使って開閉しています。48行目では登録されていないPASMOがタッチされており、その次の行でカードを「ぱすも」という名前で登録許可を出しています。(登録許可については次の記事へ)
現在はスマートロックだけ稼働していますが、今後部屋内にセンサーを置いたり別の機能を持たせたRaspberry Piを稼働させることになれば、色々なログをこのシートに記録していくことになるでしょう。
Next:Raspberry PiでSlackbotを飼う