SwitchBot で大ハマりしたはなし

Gadget
Photo by hyt.

SwitchBot で大ハマりしたはなしです.

結論から言うと,

SwithBot を制御するコマンドのオプションがいつのまにか変更になった

のが原因で動かなかったみたいです.詳細は記事本文をご覧ください.

はじめに

SwitchBot は「ボタンを押す」に特化した IoT 製品で,製品公式ページは

遠隔操作用の指ロボット | SwitchBot ボット
遠隔操作用の指ロボット-いつでもどこでも、スイッチをオン・オフ、ワンタッチで家電をスマートできる指ロボットです。

だと思います.Amazon の商品ページだと以下の通り.

Bitly

本製品良いところは,

  • 比較的安価である
  • BluetoothLE でローカルから制御できる

ところで,私の場合も2年ほどまえから空調の制御のため活用して来ました.

Microbot Push をあきらめて SwitchBot に乗り換えたはなし
Microbot Push をあきらめて SwitchBot に乗り換えたはなしです.Amazon の商品ページは以下の通り. ボタンプッシュ系の IoT ガジェットと言えば,Microbot Push と SwitchBot ですが, M...

もう少し具体的に言うと,部屋の温度がある一定以上になったら空調の電気を入れるというだけなんですが,最近,最近,暑くなって来たのになぜだか動いている形跡がありません.これから夏本番なので,これはマズイと本格的にメインテナンスしたのですが,複数の原因が重なり大ハマりしてかなり時間を使ってしまいました.

ハマった原因(その1電池)

大ハマりした理由の一つ目は,

電池切れ!

です.本製品,外に LED 等ないので電池切れかどうかパッと目で判断しにくいです.また使用する電池は CR2 リチウムイオン電池なので,その辺のコンビニなどでは手に入らないのもちょっと面倒なところ.

電池の交換方法ですが,

SwitchBotボットのバッテリー交換方法
本ページでは、ボットの電池交換方法をご案内いたします。   まず、1つのCR2 リチウム電池(3V)を予めご用意ください。 具体的な交換方法は下記をご参照ください。

の通りで,交換すると内部にある(緑色の)小さな LED が小さく光るので,交換した電池が空か否かはこれで判断できます.

ハマった原因(その2)

大ハマりした原因の2つ目は,Switchbot を制御するコマンドのオプションがいつのまにか変更になったことです.

はじめにのところで書いた通り,SwitchBot の良いところは BluetoothLE でローカルから制御できるところなんですが,このための制御用アプリとして,

GitHub - OpenWonderLabs/python-host: The python code running on Raspberry Pi or other Linux based boards to control SwitchBot.
The python code running on Raspberry Pi or other Linux based boards to control SwitchBot. - OpenWonderLabs/python-host

を使っていました.しかしこのアプリ,いつのまにか使い方,少し変更になっており,さらに,上のページの説明が(少なくとも本blog執筆時点では)きちんと修正されていません.具体的には,元ページの説明だと,

$ sudo python switchbot.py
$ sudo python switchbot.py [mac_addr action_cmd]

の順で動作するとするされているのですが,正しくは,

sudo python switchbot.py
sudo python switchbot.py Bot [mac_addr] Bot [action_cmd]

です.つまり,Bot というオプションを追加しないとだめなようです(多分この Bot というのは公式アプリで見たときのこの SwichBot の機器名だと思います).

実際に使用した様子は以下の通りです.

$ sudo python switchbot.py
Usage: "sudo python switchbot.py [mac dev_type cmd]" or "sudo python switchbot.py"
Scanning...
Scan timeout.
(' 0', [u'dd:dd:dd:dd:dd:dd', 'Bot', 'Press'])
Input the device number to control: % ここで 0 を入力すると動作チェックが行える

$ sudo python switchbot.py dd:dd:dd:dd:dd:dd Bot Press
Usage: "sudo python switchbot.py [mac dev_type cmd]" or "sudo python switchbot.py"
Preparing to connect.
Connection successful.
Complete

なお,dd:dd:dd:dd:dd:dd は SwichBot 本体の MAC アドレスで,これは公式アプリからも確認できることにご注意ください.

おわりに

今回はこれで無事元通り動くようになってくれて一安心しました.

なお,ハマったポイント2番ですが,上で取り上げた Python アプリの仕様が変わったからではなく,SwitchBot の制御用のコマンドが変更になったことが原因なんじゃないかなと思います.

それにしても SwitchBot ですが,いつのまにか関連製品がたくさん出ています.公式サイト

SwitchBot(スイッチボット)公式サイト| 手軽にスマートホームを実現
SwitchBot(スイッチボット)は家のあらゆるシーンを簡単にスマート化することを目指しています。ミッションはイノベーションとテクノロジーでより快適な暮らしを実現することです。

をみると,ドアロックやら音質度計やら,びっくりしたのがロボット掃除機まである.さすがに私の場合,ロボット掃除機は買う気にはなりませんが,スマートコンセントくらいなら買ってみて試しても良いかなと感じています.実際にもし買ったらまた記事にしたいと思います.

以上!

GadgetServer
スポンサーリンク
Following hyt!
タイトルとURLをコピーしました