かくかくしかじか部屋を綺麗にする意識が高まり、Roomba e5 を買いました。
で、かくかくしかじかそういう話を社内 LT でして、この時健康やお金の話も一緒にしていて、定量的に評価して目標値を決めるっていう SRE 的なアプローチを、部屋の綺麗さでやれたらいいよねって話題があって
まぁ結局 Clean map 機能は e5 では使えなかったのでどのみち面積はわからないんですが、床には物を置かないという前提で、スケジュール実行していれば、毎日実行はしてくれるので、その結果をとりあえず可視化してみようと思い、pixe.la を試してみました。
IFTTT の then で https://t.co/Lsvk4MruBU https://t.co/b4qzgOvJsg の API call することできるんやか。ルンバ掃除終わったら飛ばしたい。
— Takeshi Kondo (@chaspy_) March 22, 2021
普通に webhook 発行できるな。勝ったな。https://t.co/IC6bF7kkVx しかし https://t.co/Lsvk4MruBU 存在はもちろん知ってたけどはじめて使う、よくできてるな本当。
— Takeshi Kondo (@chaspy_) March 22, 2021
はい、できます!いくつかのIFTTT活用事例も以下に掲載していますので、ぜひご参考くださいませっ🥰https://t.co/wdXisFQ5EZ
— a-know | Daisuke Inoue (@a_know) March 22, 2021
ご存知の方も多いと思います。GitHub の草を API 経由ではやしてくれるサービスです。
たくさん事例があって楽しいですね。
Roomba が掃除完了したら IFTTT 経由で草を生やす
さて本題。とても簡単かつこちらの記事で紹介されているものとほぼ同じです。
アカウント作成
README にある通りですが
curl -X POST https://pixe.la/v1/users -d '{"token":"secret", "username":"chaspy", "agreeTermsOfService":"yes", "notMinor":"yes"}' {"message":"Success. Let's visit https://pixe.la/@chaspy , it is your profile page!","isSuccess":true}
Graph 作成
curl -X POST https://pixe.la/v1/users/chaspy/graphs -H 'X-USER-TOKEN:secret' -d '{"id":"roomba","name":"roomba","unit":"commit","type":"int","color":"shibafu"}' {"message":"Success.","isSuccess":true}
Webhook 作成
curl -X POST https://pixe.la/v1/users/chaspy/webhooks -H 'X-USER-TOKEN:secret' -d '{"graphID":"roomba","type":"increment"}' {"message":"Success.","isSuccess":true,"webhookHash":"1234567890123456789012345678901234567890"}
草を生やす
上で返ってきた webhookHash を使います。
curl -X POST https://pixe.la/v1/users/chaspy/webhooks/1234567890123456789012345678901234567890 {"message":"Success.","isSuccess":true}
これまでで草を生やす準備は完了。
IFTTT で iRobot 連携する
iRobot アカウントでログインします。
IFTTT で掃除が完了したら Webhook を発行する
実際に作ったのはこれなんですが、
If は iRobot で JobComplete Then で上記の webhook の設定をします。
これで、実際に roomba をリモートで動かしてみて、完了したら IFTTT が実行されました。
ちゃんと草も生えた!
今後
- 生やした草を表示する Static site をホストする
- Withings の体重計とも連動できそうなので、体重増減を草生やす
- Withings の体重増減のグラフもパブリックにしたいので調べる
- ジムに行ったら、運動したら草生やす
などなど、Pixe.la 使い倒していこうと思います!最高のサービスを a-know さんありがとうございました!