目次
はじめに
最近赤外線リモコンでON・OFFのできる照明を導入しました。これはこれで便利なのですが、例えば人を検知したら自動でON・OFFするなどもっと便利に使えないものかと色々調べた結果、SwitchBot Hub Plusというスマートホーム用のIRリモコンの存在を知りました。
今回はこれを使って自宅をスマートホームへ一歩近づけたいと思います。
SwitchBot Hub Plusとは
Switch Bot Hub Plusはスマート学習リモコンです。これを中継してテレビやエアコン、ランプなど赤外線でON・OFFしている家電の操作をスマホから行うことができます。
SwitchBot スイッチボット スマートホーム 学習リモコン グーグルホーム Alexa -IFTTT イフト Siriに対応 SwitchBot Hub Plus (Hub Plus)
売り上げランキング: 1,140
対応している家電は5000以上の機種に及ぶので、古いものでなければ簡単に登録できると思いますが、手動設定もできるようなのでほとんどの古い家電もカバーできるようです。
スマホで操作できると書きましたが、IFTTTに対応しているのでそちら経由で操作することもできます。これは後述します。
注意点 SwitchBot/Switch Linkとの違い
ここで注意していただきたいのでは、SwitchBot Hub Plusに似たような名前のSwitchBotとSwitch Linkという製品がありますが、それぞれ異なるものであるということです。
SwtchBotは以下の画像のような突起の個所から物理的なボタンを無理やりスマートホーム対応させるためのデバイスです。これはこれで大変便利なのですが、別物ですので購入の際はご注意ください。もちろんそれぞれ連携可能なので両方買うのもありです。
売り上げランキング: 158
また、SwitchBotでGitHubを調べるとラズベリーパイ上でPythonからON・OFFを操作するスクリプトが出てきますが、これはSwitchBot用であって、SwitchBot Hub Plusのものでは無いようです。最初これを見てHub Plusを動かせないかと試行錯誤してしまいました…
次に、Switch LinkはSwitchBotをスマホから操作できるようにする中継ハブのようなもので赤外線を送信するような機能はありません。見た目がHub Plusと同じなので間違えないようにしてください。
Switch Link|家の外からワイヤレスでご家庭に機器のオンオフ操作可能なリモートロボット「スイッチリンク」
売り上げランキング: 17,649
IFTTTとは
TwitterやFaceBook、Evernote、OneDrive、Gmailなどの複数のWebサービスを連携させることのできるWebサービスです。例えば、Twitterに投稿した内容をEvernoteに自動保存するようなことができるようになります。
動きとしては「トリガー」に対して「アクション」を走らせる形になります。
この「トリガー」や「アクション」はIFTTT側で用意されているもののみ使えます。ノンプログラミングで、Web画面上でポチポチ選ぶだけです。
上の例でいくと「Twitterで投稿したとき」というのがトリガーで「Evernoteに保存する」というのがアクションになります。
実際やられている方もいらっしゃるのでそちらも参考にしてみてください。
一見、これとスマートホームと一体何の関係があるのかわかりにくいかもしれませんが、いくつかのスマートホームデバイスはこのIFTTTに対応しています。IFTTTでいうところのアクションに対応しているわけです。
また、IFTTTのトリガーにはWebHooksというのがあります。これは特定のPOST/GETリクエストを投げればトリガーが発動できるものです。これを組み合わせればラズベリーパイなどのネットにつなげられる多くのIotデバイスから自宅の家電を自動操作できるようになります。もちろん、普通のパソコンからでも使えます。
イメージとしてはざっくり次のようになります。
下側のラズベリーパイ/パソコンは自宅になくても動きますが、自宅での自動制御を考えてこのような図としました。
実施内容
とりあえず今回はパソコンからGETリクエストを投げて家電を操作するところまでやりました。対象は部屋のライトのON・OFFにしました。
SwitchBot Hub Plusのセットアップ
購入するとついてくる説明書を読めば簡単にセットアップできます。公式ドキュメントもあるのでそちらも参考にしてください。
ここでリモコンの学習も済ませておいてください。説明書通りに進められると思います。
IFTTTの登録
IFTTTのトップページから登録をします。
IFTTTのApplets作成
登録出来たら「New Applet」から新しいアプレットを作成します。このアプレットというのがトリガーとアクションのセットを意味しています。
この「this」のところを押すとトリガー選びが始まります。たくさんありすぎるので「webhooks」で検索すると楽です。これを選んだら名前を付けてください。今回は部屋のライトのON・OFFをしたいので「lighton」と付けました。(後で「lightoff」も作成しました)
次にアクションを指定します。「that」のところです。
同じように「switchbot」で調べると出てくるのでそれを選びます。
いくつか選択肢が出てきますが、「Turn on appliance with Hub Plus IR remote」か「Turn off appliance with Hub Plus IR remote」を選びます。前者がONスイッチで後者がOFFスイッチです。今回は両方作ったので片方ずつ1から作りました。
これを選択するとON・OFF可能なデバイスが出てくるので対象のものを選んでください。今回はライトを選びました。この項目が出ない場合はSwithBot Hub Plusの学習リモコンの設定ができていないと思うので、それらの登録を進めてください。
これで完成です。あとはどのようなリクエストを投げればよいかということですが、WebHooksのページの右上のDocumentに書いてあります。
開くとここのURLにアクセスしてねと出てくるのでこのURLを控えておきます。「{event}」にはWebHooksに名付けた名前を入れます。今回で言えば「lighton」がそれに該当します。
これで作業は終了です。
動作確認
上記で控えたURLをブラウザのアドレスバーに打ち込んでエンター!
…すると、部屋の明かりがつきました…!消灯の動作も確認!一件落着。
まとめ・最後に
SwitchBot Hub Plusを使って部屋のスマートホーム化を進めました。今回はその第1弾として部屋の電気のON・OFFをWeb経由で実現しました。
IFTTTの枠組みを利用すれば色々なデバイスに対応できるうえ、デバイスの差し替えも容易になります。今回のWebHooksをトリガーにするやり方に沿えばIFTTT未対応の色々なセンサーでもラズパイなどと組み合わせて実現可能になるので色々と夢が広がると思いました。
また、話はそれますが、SwitchBot Hub Plus以外にもIFTTTに対応しているスマートリモコンはあるので気になっている方は色々比較した上で購入してください。