SwitchBot ボットをPythonで操作(雑メモ)

SwitchBotボットを優秀な部下からいただいた

実は以前優秀な(嘘)部下(大嘘)からSwitchBotボットという製品を頂いた。
SwitchBotは中国メーカーで自宅のIoT化を進める製品がボットの他数多くある。

カーテンを自動で開くとかコンセントの物理オンオフ自動化とか珈琲メーカーとか色々。

 

まぁここで言いたいのは、ふと気になって調べてみたらこれをPythonで操作できるということが分かった。

ということで実践!

SwitchBot操作ライブラリ

必要な環境情報は、ソースも含めてGitHubに載ってるので参照くださいませ!

ちなみに私はRaspberry Piでやってみました。

OpenWonderLabs/python-host

上手くいかなかった理由

私の環境下でマニュアルの通りに実行したが上手くいかず、以下のエラーが発生した。

色々サイトを見回って四苦八苦して、3日以上かけて分かったことをメモメモ。

gattlib.BTIOException: connect; No route to host (113)

結論から言うと、Bluetoothの親機がどうやら2つついていた、のかな。以下のコマンドで何かわからないけど2つ出てくる。デフォルトでは”hci0″が使われていたためエラーになった。

sudo hcitool dev

なので実行時に”hci1″を明示的に指定することで問題なく実行することができた。

sudo ./switchbot_py3.py -d 'SwitchBotのID' -i 'hci1'

ちなみに成功すると以下のメッセージが出力される。

Connected!
Command execution successful

参考文献

他にも色々サイト見たんだけど、コマンドを知り発展して調べたサイトを掲載する。

takeiho.com

wiki.onakasuita.org

コメントを残す