リベルさんの戯言室

ゲームの攻略とか映画のネタバレとか。そのほかヌルヌル書いてます。リンクフリーです。※当ブログはPC版表示に最適化されています。

SwitchBotPlugはラズパイから制御できなかった



https://www.switchbot.jp/plug

まぁ確認が不足していた自分が悪いんですが…

…いやだってSwitchbotも、温湿度計も、最新のカーテンですら対応してるんですよ!?対応していると思うじゃないですかorz

なんて愚痴から始まります 本編は続きを読むからどうぞ。


Switchbotはラズパイで操作するようにAPIが公開されている

Switchbotはラズパイで操作できるAPIを、運営自ら公開してくれています。

github.com

上記にもありますが、前提としては以下となります

  • RaspberryPi3またはBluetoothドングルを接続したRaspberryPi2
  • SwitchBot
  • OSはRaspbianビルド2017-01-11 Jessie with Pixelに対してテスト済
  • Python2.7

まぁPython2.7が動けばOSは何でも良さそうな気もします。

セットアップ手順

セットアップ手順は以下コマンドを順々に入れていくだけです

まずは以下前提となるものを入れるコマンドです。上から順に入れていきましょう

sudo apt-get update
sudo apt-get install python-pexpect
sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev 
sudo apt-get install libudev-dev libical-dev libreadline-dev
sudo pip install bluepy


上記が終わったら、次に実際にSwitchbotを操作できるプログラムをもらいます

  • ※piの直下にpython-hostってヨクワカランフォルダができてしまうので、いやならあらかじめフォルダ作ってその中でやりましょう
git clone https://github.com/OpenWonderLabs/python-host.git
 cd python-host

使い方

以下コマンドで、APIで制御できるSwitchbot君一式を探し出します

sudo python switchbot.py

すると、制御できるSwitchbot君一覧が出てくる(らしい)ので、その一覧に表示されている番号を使えば、動作できます

例えば温湿度計を制御したければswitchbot_meter.py、カーテンを使用したければswitchbot_py3.pyを、それぞれ同じように使えばok

ここで問題が起きる

記事のタイトルにも書きましたが、Blootoothで制御できる以下しか対応してないっぽい

  • Switchbot
  • 温湿度計
  • カーテン

2~3時間変えて調べたけどPLUGは未対応っぽいです…ぐぬぬ

まぁなぜなら、上記3種類はブルートゥース接続するのに比べ。PlugはWifi接続です。
このAPIは前提でbluepyを入れていることから分かるように、ブルートゥースで制御してます。

…この理屈、実際にやるまで気が付かないよ!!orz

結論

Plugで使いたい人はSwitchbotアプリから、運営に要望投げてください!
いろんな人が依頼を投げると多分対応してくれます! ご協力お願いします!