euvicc's sphere cycloalkanique

ダイアリーから移行して再始動。自転車とMETALとその他雑多な物欲記録。

何故か四十手前にして自転車趣味に目覚めてしまったある男の記録...のようなもの。

ライドの記録、買い物記録、超私的レビューみたいな駄文を書き連ねます。

【DIYH】SwitchBot導入のお話

Euviccです。


過日、このようなものが我が家に届きました。



f:id:Euvicc:20201212171102j:plain:w380


SwitchBotといいます。いわゆるホームオートメーション──スマホから家電を制御できる機器です。11月にAmazonがやってたブラックフライデー/サイバーマンデー同時セールに乗っかって、衝動買いしちゃった次第です😅

コレは何? そしてSwitchBotとは?

今回お迎えしたのはこちらになります。





公式サイトはこちら。





SwitchBotはBluetoothスマホと接続できるスイッチで、専用アプリとペアリングしてアプリから操作することで、ボタン状のものを物理的に押すことができます。付属の紐つき両面テープを使えば引っ張り上げる(丶丶丶丶丶丶丶)こともできる。つまり何ができるかというと、ご家庭の普通の家電をスマホでリモートコントロール(物理)できるようになるのですwww



いやぁ〜なんていうか、こういうデジタルとアナログの融合……もうちょっとぶっちゃけていうとチカラワザでなんとかするみたいなの大好きです😜 押したいボタンの側にこのbotを配置する余裕さえあればいい。こういう強引さ、萌えます☺️



……って、我が家は一人暮らしの1DK、そんなもの使う必要あるのか?



f:id:Euvicc:20201215145816j:plain:left:w60逆に考えるんだ

「買えば使い道なんて後から勝手に思いつく」と

考えるんだ




そうですね。ジョースター卿だってこう言っておられたぐらいです。物事やはり逆転の発想なんですよ😇(←ダメな考え)



斯くしてポチった結果が↑の写真です。bot以外に「ハブミニ」と「温湿度計」も一緒に買っちゃいました。ハブミニというものはこのSwitchBot製品群のまさにハブなわけですが、コレがあるとbotの使い勝手がさらに良くなります。専用アプリからだけでなく、Amazon AlexaiOSのショートカット、Siri、あとIFTTTなどからもこのbotをコントロールできるようになるのです──しかも外から。ここが重要。私の狙いは寧ろそこです。音声で、あるいはiPhoneの画面に配置したショートカットのボタンで出先から部屋の家電を操作できるとか胸熱じゃないですか(((o(^∇^)o))) 温湿度計はセット売りだったので一緒に買っちゃっただけなのですが、これも家電操作のために使えるようなので仕入れておいて損はない。



……そんなわけで。SwitchBotによって、築50年級*1の我が家に、ついにIT化の波🌊が訪れたのです。


開封の儀】は省略してとりあえずセットアップ

いつもの【開封の儀】は省略します。単に開ける時写真を撮り損ねたから、なんですけどね😅



まず、App StoreからSwitchBotのアプリを入手します。



SwitchBot

SwitchBot

  • wonderlabs, Incorporated
  • ライフスタイル
  • 無料



アプリを起動したら、右肩の"+"ボタンでデバイスをペアリングします。まずハブミニ、bot、温湿度計の順に登録していって……アプリの画面はこうなりました。



f:id:Euvicc:20201215192109j:plain:w380



温度計は既に現在の室温&湿度が表示されるんですね。これは良い😁 タップすると中に入れて……



f:id:Euvicc:20201215193221j:plain:w380



おおお! 履歴がグラフになって残っている*2!(°∀°) なんか楽しいぞ。



次にbotの方。iPhoneで操作してるとどうしても動くところを撮ることができないのですが、動作すること自体は確認済み。取付前にどんな動きになるか確かめておこう。このbotを取り付けたい場所は廊下。うちのスイッチパネルは昔ながらの



f:id:Euvicc:20201215194839j:plain:w380



コレです。いわゆる片切りスイッチと呼ばれているもの(たぶん)。片方を押せばON、もう片方でOFF。写真の通り3系統ありますが、その中の一番上(玄関の中の照明)を操作できるようにしたい。OFF側を押す=ON側のスイッチを引っ張り上げる、なのでbotのモードを変更します。




f:id:Euvicc:20201215234132j:plain
f:id:Euvicc:20201215234135j:plain



「押す」モードを「スイッチ」モードに変更します。そうするとONの操作(=押す)とOFFの操作(引っ張る)をそれぞれ別コマンドで実行できるようになります。なおモード変更はスマホbot本体間の直接通信なので、Bluetoothの有効範囲内じゃないと↑の画面には入れません。



ではいよいよ、試してみましょう。


大失敗!スイッチが対応しない😱→こうなったら……

botのアームに、付属しているこれを引っ掛けます。輪っかをアームに入ってる切りこみに通し、スイッチ側にこのテープを貼ることで「引っ張り上げ」を実現するわけです。……これまた力業だなw



f:id:Euvicc:20201216003509j:plain:w260



ですが。サブタイにも書いてますし結論を言っちゃいましょう。失敗しましたorz 押せども引けどもびくともしない😓 スイッチが硬すぎたんです。……おいおい、ウソだろ? まさかこんなしょーもないオチで計画は頓挫か??😨


まだだ、まだ終わらんよ!


ええそうですとも。こんなところで終わってたまるものかよ。スイッチが押せない? なら押せるスイッチに換えればいいじゃない😉



そんなわけで後日、私は近所のホームセンターにBianchi号を走らせました。売り場を探し、見つけたのはこれです。





パイロットスイッチとは、ONの時にLEDが赤く光り「点いてるよ」と教えてくれる機能を持ったスイッチのことです。そしてほたるスイッチはOFFの時に「スイッチはここだよ」と教えてくれるものです。この製品は両方の機能を持っているというわけです。帰宅した私はブレーカー/分電盤で件のスイッチが含まれる系統をshut down!! で……



f:id:Euvicc:20201216084940j:plain:w380



おー!\(^o^)/ バッチリ*3です👌



このスイッチなら問題ないはず。このスイッチの場合ON/OFFの切り替えは両方とも同じ位置(=右側)を押すので、botの設定を以前の「押す」モードに戻します。で、位置を決めて両面テープの裏紙を剥がし、ピトッ──



f:id:Euvicc:20201216085710j:plain:w380



これで完成。せっかくだから動いてるところを撮りたい。なんとかならないだろうか? ……あ、できた。





いや〜素晴らしいですね!(((o(^∇^)o))) 玄関の内側の照明って、今や台所で作業しているときに点けたり消したりするの面倒臭かったし、出かける時足下が暗いからと点灯し靴を履いてから消しに戻るのもちょっとアレだったし(玄関のたたき(丶丶丶)からスイッチまでは少し離れてるので土足で上がらなければならなくて💦)、加えて夜帰ってきたときに真っ暗だと足下が不安だけど点けっ放しで外出するのはムダだし💧 これらの問題が一挙に解決です!!\(^o^)/ 最高じゃないか💮


他のアプリ連携を試してみる

これで公式アプリからは動かせるようになりました♪ しかしこれだけではまだ完璧とはいえません。このままだとBluetooth通信範囲内でしか動かせないので使い勝手としては今ひとつ。ただ、この製品群は他のアプリからも連携できるのがウリです。ていうかそのためにハブミニも一緒に買ったわけですから、当然設定しないわけにはいかないでしょ(`・ω・´)キリッ


事前準備

先にSwitchBot側の設定をしておく必要があります。公式アプリから外部サービス連携したい機器を選んで⚙をタップし設定へ。設定画面の「クラウドサービス」に進みます。今回はbotだけでなく温湿度計もやっちゃいます。




f:id:Euvicc:20201216102356j:plain
f:id:Euvicc:20201216102353j:plain



クラウドサービスの設定で、赤マルで囲んだところをONに(初期状態ではOFFになっています)。この画面はどの機器でも同じです。



f:id:Euvicc:20201216102519j:plain:w380



GoogleアシスタントAmazon Alexa、そしてIFTTTはここでボタンをタップするとアプリを開く確認ダイアログが出ます。Siriショートカットは直接設定が開きますがそこは後述。シーンについてはちょっと置いておきます(まだ触ってないため)。



まずIFTTTからやってみましょう。


IFTTT

IFTTT

IFTTT

  • IFTTT
  • 仕事効率化
  • 無料


別々のWebサービス間を連携して「もしこうなったらこれをしろ」という自動化を実現できるWebサービスです。Webサービスだけでなく、アプリ間の連携も可能。つまり、SwitchBotの公式アプリと連携させれば「何かをトリガーにしてSwitchBotを動かす」ことができるわけです。超イカす。



さっきのクラウドサービス設定でIFTTTをタップすると、ダイアログが出現します。



f:id:Euvicc:20201216110814j:plain:w380



「接続」をタップすればアプリが開きます。もちろん、ダイアログに書いてある通り事前にアプリをインストールしてアカウント登録/ログインの必要があります。IFTTTアプリが開くと、予めSwitchBot向けに登録されているレシピが一覧表示されますので、あとはやってみたい連携を選んで"connect"するだけ。ほぼこれでおしまい。カンタンです。アプリのトップから"explore"で探しても良いです。




f:id:Euvicc:20201216112417j:plain
f:id:Euvicc:20201216112414j:plain



私が設定したのはこの2つ。




f:id:Euvicc:20201216112456j:plain
f:id:Euvicc:20201216112453j:plain



まずお試しとして、単純にボタン(のウィジェット)をタップするとbotがボタンを押してくれるレシピを有効にしました。それともうひとつは、Weather Underground*4から取得した日没時刻に合わせてbotを動かすレシピです。これこそif this then thatでしょ🤗 今の季節ですと16:30付近にウィ〜ンって作動音がしてbotがスイッチを押し、玄関の灯が点く! 夜、帰ってきたとき玄関は既に明るくなっているわけです。便利だなァ……でも、ここ最近は毎日夕刻に明るくする必要ないんですよね、どうせ在宅勤務で家に居ますんで😅



ちなみに、公式アプリからの操作と比べると若干遅いです。IFTTTのアプリからWebを経由してSwitchBotのクラウド(Amazon AWSらしい)を通り我が家のSwitchBotハブミニにコマンドが届いて……という経路なので、多少のディレイは仕方ないですよね。まあこれがある意味怪我の功名?で、↑にアップしたbot動作時の動画はIFTTTでコマンドを送ってからカメラの動画撮影に切り替えて録画スタート──間に合った(°∀°) みたいな感じだったり。比較して約1〜2秒ぐらいの遅延ということになるけど、照明のスイッチなんてそこまでの即応性は不要なので問題ありません😉


Siriショートカット

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料



このアプリ、買収される前の"Workflow"時代の方が明らかに使い勝手が良かったんだけどな😑 まあ言うても詮無きことは諦めて。ショートカットになってついた新機能は「Siriショートカット」です。作成したショートカットをSiriに任意の言葉で登録できて、以降そのコマンドワードをSiriに言えばアプリ(≒iOS)側で処理をやってくれる、といったものです。ただ、自分の生活スタイルだとあまり使いどころに乏しくって😥 今までたいして活用できてなかった次第です。しかし、声でSwitchBotを制御できるのはちょっと魅力。既に先ほどIFTTTを登録しちゃってますが、こちらもやってみることにしましょう。



もう一度クラウドサービスのメニューを開き、一番下の"Siri Shortcuts"をタップします。すると画面をワンクッションおいてこの画面へ。



f:id:Euvicc:20201216143329j:plain:w380



あとは自分の言いやすいコマンドを入力して「登録」するだけ。これで完了です。

私「Hey, Siri!! 部屋の電気!!!」
:
:
(若干の間)
:
:
Siri「完了しました♪」
(bot起動音)ウィ〜ン、カチッ!💡


成功です♪



アプリの中にもショートカットとして登録されますので、アプリを開いてこのショートカットを直接タップすればIFTTTのボタンみたいに使えます。さらにここで、iOS14.xなら「ウィジェット」が使えるので、ホーム画面にショートカットのウィジェットを配置し先ほど作ったのが見える(=タップできる)ように並び順を整理。




f:id:Euvicc:20201216144251j:plain
f:id:Euvicc:20201216144254j:plain



これで、いちいちアプリを開かずともbotを動かせるようになりました。また、台所に立ってて手を使えないとかそう言った場合でも「Hey, Siri!! 〜〜」と叫ぶだけで電灯を点け消しできます!



いや〜素晴らしいぞホームオートメーション! 日々の生活のちょっとした煩わしさをテクノロジーで解決。とても快適です♪ なお今回の一連のネタをドヤ顔でサイクリング仲間のMASA兄ぃに披露したら

ハイテクの無駄遣いwww


と嗤われました😤 バッキャロー、こういうのこそが良い(丶丶丶丶丶丶丶丶丶丶)んじゃないか(^ω^#)ビキビキ


他の機器を繋いでみる

SwitchBotアプリで右肩の"+"を押すと接続できる機器が並ぶわけですが、こんな風になっています。




f:id:Euvicc:20201216190149j:plain
f:id:Euvicc:20201216190151j:plain



SwitchBotの他製品だけでなく、赤外線リモコンで制御する他の家電製品も接続&制御できるのです。当然繋ぐべきはやはりエアコンでしょう! だって温湿度計も一緒に買ってるんですもの。ここはやはり連動させてみたいですよね?(((o(^∇^)o)))



ということで、やってみます。さっきの画面でエアコンのアイコンをタップすると、接続するハブを選ぶ画面を経てリモコンの学習画面を開きます。




f:id:Euvicc:20201216201948j:plain
f:id:Euvicc:20201216201944j:plain



ここで大抵の機種は「スマートラーニング」を選択すればよい……ようです。しかしウチのエアコンのリモコンはどうもうまく認識してもらえない(´・ω・`) そもそもボタン配置自体が違うんですよね。




f:id:Euvicc:20201216202522j:plain
f:id:Euvicc:20201216202525j:plain



我が家の(エアコンの)リモコン、冷房/除湿/暖房でボタンが分かれているんです。おそらくこれのせいだと思うのですが、画面のボタンをタップしてもうまく動いてくれません😩 仕方がないのでスマートなんちゃらは諦めて「マニュアルモード」を選択、リモコンのメーカー(ウチのはPanasonic)と型番を直接指定して登録──型番がないじゃん!😨ガーン



こうなったら最後の手段です。「カスタマイズ」で直接ボタンの挙動を覚えさせます。マニュアルモード画面の一番下、赤に白抜き文字の「カスタマイズ」を選びます。そうすると写真右のようになりました。




f:id:Euvicc:20201216203513j:plain
f:id:Euvicc:20201216203535j:plain



説明を読む限りだと、運転モードと温度設定が固定になるようです。なので、ここで登録したエアコンは特定の運転モードでON/OFFできるだけになっちゃうみたい💧 それって全然使えないんじゃねーか?🤔 あ、そうか。ちょっと煩雑だけど、同じエアコンだけど冷房とか暖房とかで別々に登録しておけばいけるんじゃん? よしとりあえず暖房モードでリモコン登録してみよう。



……動作確認OK! 登録成功!\(^o^)/



f:id:Euvicc:20201216204159j:plain:w380



新しくエアコンのアイコンが出現しました。今後冷房モードで別に登録するので、名前を「エアコン(暖房)」とかってつけておきます。風向/風速も固定になっちゃうのがちょっと面倒だなあ😔 できれば早くウチのエアコンの機種もちゃんとプリセットしてほしいもので。メーカーに要望を出したい場合はどうしたらいいんでしょうね?



とにもかくにもエアコンが登録できたことだし、これでようやくスタートラインに立てた気がします。お楽しみはこれからだ!🤩


この先やってみたいこと

正直まだ使えてない機能はたくさんありそうなので、今後の計画?予定?願望?的なことについて述べようと思います。


シーンを使いこなしたい

SwitchBotアプリには「シーン」という機能があります。ちょうどこの日記を書いている最中の12月16日、アプリがアップデートされVer.4になってから、トップ画面の下でシーン一覧を呼び出せるようになりました。



f:id:Euvicc:20201216211137j:plain:w380



シーンとはどんなものか? サクッと言い切ってしまうとSwitchBot機器に限定したIFTTT的機能です。画面をお見せした方が手っ取り早いですね。




f:id:Euvicc:20201216211519j:plain
f:id:Euvicc:20201216211513j:plain
f:id:Euvicc:20201216211516j:plain



この通り、手動やスケジュール駆動だけでなくSwitchBot機器の動作/状態をシーンのアクション条件(トリガー)にできるわけです。次の画面では条件を満たした際に動く機器を設定します。



なるほど。じゃあ温湿度計使って

if( [室内の気温]<= [xx℃] ) call [エアコン(暖房), ON]


みたいな設定ができるっていうことね(↑文法は適当ですw)?🧐 面白そう。さっき書いた条件ぐらいならすぐできそうではあるけど、また次回試してみようかな。今回はちょっと置いておいて、先に進みます(次回へのネタ振り?w)。


実はラズパイから繋げることもできる

それだけではなく、実はこのSwitchBot、Raspberry PIからも繋ぐことができます。ラズパイを制御するためのスクリプトPythonで、SwitchBotの開発元がgithubで公開しています。なお、SwitchBotのAPIドキュメントも同様にそこで公開中です。ステキ😄





既にSwitchBotをラズパイから操作しようとした猛者たちは結構いて「SwitchBot ラズパイ」でググると結構な記事がヒットします。つまり自前のラズパイがハブミニの代わりになるわけですね。これは面白い。そういえばちょうどウチにも1台いましたっけね。だいぶ昔(たぶん3年は前)に買ったんだけど初歩の初歩であるLEDチカチカを試した後は収納ボックスの中で眠ってる不憫な子ですw 久々にこの子に火を入れてあげてもよいなあ?🤔



ところで、今回の一連の経緯をいつものサイクリング仲間であるT氏にも話した──botが動くところを撮れたのが嬉しくてあちこちに動画を送りつけてましたw──ところ、彼はその日のうちにポチって翌日入手、そして次の日には↑のラズパイによる制御を速攻で実装していました。手が早い!!www 手順を共有してくれたので、ここは是非試さねば、というところです。



じっさい、現時点での我が家のオートメーション化はまだまだ改善の余地があります。玄関の電灯ですがbotを起動すれば(少なくとも今設定しているモードでは)状態に関係なく「押し」てしまうため、点灯しているのを忘れてて点灯のつもりで起動すると逆に灯を消してしまいます💦 それはイマイチ賢くない(丶丶丶丶)😥 となると、動かす前にON/OFFを判別する機能を組み込まなきゃならない。ON/OFFの判別をどうやって行うか? ここで活きてくるのがパネルのLEDですよ😉 ONなら赤、OFFなら緑のLEDが点いてるわけだからそれを読み取ればよいのです。高い金出してパイロットほたるスイッチにした甲斐がある*5ってもんじゃないですか。



こうなるとラズパイが必要ですね。カメラモジュールを接続して画像を読み取り、色からON/OFFを判別して「点灯中に点灯のコマンドを受け取ってもbotを動かさない。消灯ならその逆」というロジックを組んであげないといけない。カメラ操作と画像の判別なんてPythonなら実現例がネットにいくらでも転がってるし、ズブの素人であるワタクシでも何とかなりそう*6だぞ?🤗 まあ、まずはラズパイの掘り起こしとOSの入れ直しからかな💦


結び

といった具合で久々に「お買い物+工作」であるDIYHネタをお届けしました。まさか電灯のスイッチパネルを自力で交換するハメになるとは思ってませんでしたが、こういうちょこちょことしたDIYは楽しいです(もともと小ネタ改造大好きマンですし)。



さすがに来年以降の話だろうとは思いますが、SwitchBotの他のユニットにも興味があります。この季節ならやはり加湿器かな。





あとは居間のカーテンを時間で開け閉めできたりするとさらに楽しい(ぐうたらできる)





今日はこれぐらいにしておきます。今年ももう僅かですね。次回の記事で今年のまとめ的なものを書いたら今年は終わりかな? 今度の週末はMASA兄ぃとうなぎライドPart.2を予定しているので、できたらそのことも書きたいけど……まあ、なるようになるでしょう。




ではまた!👋

*1:正確には昭和48年築らしいので私の1コ上

*2:このスクリーンショットはセットアップ直後のものではありませんので悪しからず💦

*3:電気工事士の免許? いやだなあちゃんと工事頼んだに決まってるじゃないですかー(棒

*4:海外の天気予報サービスです。Local Weather Forecast, News and Conditions | Weather Underground

*5:別にパイロットがないほたるスイッチでもよかったしそっちの方が安かったのにっていうツッコミはなしで💧

*6:てか、T氏が連携してくれた手順には既にラズパイカメラ経由での画像認識/判別まで含まれているのでぶっちゃけこの通りやっちゃえばいい、というお話