白地図に墨汁を垂らすブログ

某木村氏にクソミソに言われてそうなSIerで、某木村氏にクソミソに言われてそうなユーザ企業のお守りをしているぐうたらSEが、気の赴くままに書くブログ。無責任な愚痴多め。

google home(with swich bot)でお風呂を入れる

はじめに

前回の記事の続き。

 

 リモコン操作家電をgoogle homeから操作出来るようにしたので、

今度は物理ボタンしかない家電(お風呂の湯張りスイッチ)を操作出来るようにする。

 

whitemap.hatenablog.com

 

 

用意したもの

物理ボタンの操作用にswitc botを購入

gigazine.net

 

構築作業

構成は前回までの構成を引き継ぎ、※から右を設定していきます

google home → slack → hubot →※ python → switch bot

  1. switch botMACアドレスの確認
    スマートフォンアプリでswitch botに接続すれば画面で確認ができます

  2. switch botを操作するpythonコードの準備
    ・下の記事を参考に、サンプルコード(switchbot.py)を取得
    ・記事の通りにmainモジュールの引数を上記1で確認したMACアドレスに設定

    xx-prime.hatenablog.com



  3. 上記2のコードをhubotに登録する
    ・(hubotの配置先/scripts/)に任意の名前の.coffeeファイルを作成
    ・適当な文字列(slack上に投げる文字列)で上記2のコードを実行するように設定する(今回は『switchbot push』で起動させる)

    module.exports = (robot) ->
      robot.respond /switchbot push/, (msg) ->
      msg.send 'switchbot push'
      @exec = require('child_process').exec
      command = "python /home/pi/homebot/scripts/push.py"
      @exec command, (error, stdout, stderr) ->
        msg.send error if error?
        msg.send stdout if stdout?
        msg.send stderr if stderr?



  4. あとはhubotを再起動し、IFTTTから特定のワードでslackに『switchbot push』を投げるように設定すれば終わり

 

 

これで外出先からお風呂が入れられるようになりました。

この時期には重宝します。

栓を閉めておくのを忘れずに。。

 

同じ要領で複数のswitch botも操作出来る(※)ので、switch botさえあれば、

ボタン操作のすべての家電が操作できます。

※2のコードに引数を渡して、MACアドレスを切り替える