SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

LINEでお風呂を沸かす仕組みを導入して冬を迎えてみた


こんにちは、寒い季節になってきましたね。どうも、お風呂大好きな櫻井(@KotaSakurawi)です。

突然ですが、ワタシ、お風呂、好きです。

※この記事は「くふうカンパニー Advent Calendar 2019」の21日目の記事です。


家に帰ってまずやりたいことは何ですか?

ご飯ですか?寝ることですか?

僕は違います。

お風呂です。

僕はまずお風呂に入りたい。

帰宅して12秒くらいでアツアツな🔥お風呂に入りたい。

でも、お風呂に入るためには現状はこうです。

1. 帰宅
2. お風呂を入れるために給湯器の自動ボタンを押す
3. お風呂が入るのを待つ(寒い)
4. その間にTwitterとかYoutubeみちゃう
5. しばらく経つ
6. お風呂に入る

理想はこうです。

1. 帰宅
2. 温かいお風呂に入る

どうしたものか、と。今できうる範囲で何か、家に帰ったときにお風呂にすぐ入れるようにはならないものかと考えてみました。

そこで、まずはLINEを使って解決させてみることにしました。

あるものを使って解決している is GOOD。

f:id:Saku-Saku:20191207171345j:plain:w300

解決策1 「同居人 is KIND」

家に住んでいる同居人にLINEを送って、お風呂を沸かしてもらいましょう。

自分の帰宅前にLINEを一本いれるだけで解決。なんて素晴らしいんだ。

問題は解決されたかのように見えました。

しかし、さらなる課題がでてきます。

f:id:Saku-Saku:20191207171900j:plain:w300

「えっ・・・?」

そうです、同居人の気分やテンションによって、お風呂が入ったり入らなかったりするものでした。

これは大きな課題です。解決しなければならない、そう感じました。

じゃあ機嫌がよいときであればよいのか?そうではありませんでした。

f:id:Saku-Saku:20191207172010j:plain:w300

気分やテンションだけではなく、ロケーションにも影響がありました。

こうなってしまっていては、本当にお風呂にすぐ入りたいときに入れません。

この不確実性と向き合い続けるのは、辛い。そんなことはあってはありません。

どうしたものか。

確実にお風呂にいれるにはどうすればいいか。

考えた結果、給湯器のボタンさえ押すことできればお湯はたまることに気がつきました。

なんとかして押せないものか。

物理ボタン。。。物理ボタン。。。

f:id:Saku-Saku:20191207172450j:plain:w300

これだ。

解決策2 SwitchBot

f:id:Saku-Saku:20191207172942p:plain:w300

↑公式サイトの利用例より

これを、実現する。

でもswitchbotなんですが思ったよりもお値段はしてます。 どうしよう、買おうかな。うーん。

迷っていた矢先、朝おきてLINEをみると友達からメッセージがとどいていました。

f:id:Saku-Saku:20191207173442j:plain:w300

送られてから15分以内に即購入していました。

おそるべしサイバーマンデーセール。全国のお湯張りしたい勢に対して訴求してくるとは、やりますね。

そして。。。

f:id:Saku-Saku:20191207173709j:plain:w300

f:id:Saku-Saku:20191207173734j:plain:w300

f:id:Saku-Saku:20191207174021j:plain:w300

f:id:Saku-Saku:20191207174017j:plain:w300

f:id:Saku-Saku:20191207174011j:plain:w300

f:id:Saku-Saku:20191207174006j:plain:w300

GET...!!!

すぐ導入できてしまう!

なんと、SwitchBotですが、設置してiPhoneアプリで動作ができてしまうとのこと。

なんて便利なんだ、便利すぎる。

スマホでタップすれば、ウィン!と動いてくれます。いいね。

でもなんだかLINEで送りたい気がする。LINEがいい!

LINE で送って反応するようにしたい

ふふ、LINE messaging APIと組み合わせてやれば実現できるぜ!

待ってろ〜〜

とりあえずパッケージから出してみますかね♪

f:id:Saku-Saku:20191207174823j:plain:w300

んえっ!? 別のやつ買わないとだめなの!?

ここにきて、なんとSwitchBotだけでは外出先からの起動ができないらしい。

SwitchBot単体でできるのはbluetoothをつないでスマホからタップして起動するというだけでした。

なんてこった。。。

追加購入が必要とは聞いてなかったけど、仕方ないし買うか。

f:id:Saku-Saku:20191221135450j:plain:w300

クリスマス後のお届けという死刑宣告

クリスマスに間に合わない...!?

「あーサイバーマンデーセールとかの影響で在庫なくなってるのか...」

「アドカレ12/21では...?」

ぐぬぬ。。。

そんなときの味方!メルカリ♪

f:id:Saku-Saku:20191221135737j:plain

さて、ここで道具は揃いました。

解決策3 SwitchBot + SwitchBot hub mini

長い道のりでしたが、道具は揃いました。

LINEでお風呂をいれるぞ!

さて今回は連携が非常に簡単にできるようにするために、IFTTTとLINE messaging APIを利用します。

IFTTT: Every thing works better together

LINE Developers

基本的な繋ぎ方と構成はこうです。

f:id:Saku-Saku:20191221141850j:plain

IFTTTのアカウントやSwithBotのアカウントは作成する必要がありますので、作成しましょう。

SwitchBot works better with IFTTT

まずはIFTTTの方で SwitchBotを検索して、コネクトします。このときにSwitchBotの方のアカウントが必要になるはず。

では設定していきます。画像を参考にして if, thenを設定してみましょう。

SwtichBotの対象となるBotが登録できていないとできないのでそこだけ注意です。

f:id:Saku-Saku:20191221142421p:plain:w500

f:id:Saku-Saku:20191221143003j:plain:w500

f:id:Saku-Saku:20191221143007j:plain:w500

f:id:Saku-Saku:20191221143011j:plain:w500

f:id:Saku-Saku:20191221143014j:plain:w500

f:id:Saku-Saku:20191221143019j:plain:w500

最後に、webhookのrequest先の確認をします。

f:id:Saku-Saku:20191221143643j:plain:w500

documentを押して詳細を確認しましょう。

ここにかかれているURLにget, postすると反応してくれるようですね。

f:id:Saku-Saku:20191221143649j:plain:w500

LINE messaging API を設定

アカウント設定の部分は省略します。

f:id:Saku-Saku:20191221144014j:plain

設定で注意するのは、下記のwebhookの部分に先ほどdocumentで見たURLを入力することです。

f:id:Saku-Saku:20191221144018j:plain

これで、何かしらのメッセージを送るとpostされるようになります。

メッセージによって変えるのは今回はナシです!

返事のメッセージをカスタマイズして、、、出来上がりです!

f:id:Saku-Saku:20191221151532j:plain:w300

完成

これで完成しました!

LINEの作成したアカウントに対してメッセージを送れば、IFTTTが検知して、SwithBotを起動してくれます。

ついに、僕が望んでいた外出先からお風呂を入れる仕組みが完成しました。

動作例の動画を以下に載せておきます。

みなさんも幸せなお風呂ライフを!

SwithBotはこちら