このリポジトリには、Windows 11 上で SwitchBot デバイス(テレビや照明など)を GUI から制御するための Python スクリプトが含まれています。Tkinter を用いたダークテーマのデスクトップアプリで、SwitchBot のクラウド API を呼び出してコマンドを実行します。 このリポジトリには、Windows 11 上で SwitchBot デバイス(テレビや照明など)を GUI からオン/オフ制御するための Python スクリプトが含まれています。Tkinter を用いたシンプルなデスクトップアプリで、SwitchBot のクラウド API を呼び出してコマンドを実行します。
- SwitchBot クラウド API への署名付きリクエストの送信
- 複数デバイス(テレビ、照明など)のオン/オフボタンを GUI 上に表示
- 実行結果やエラーメッセージを GUI 内に表示
- 設定ファイルでデバイスやコマンドを柔軟に管理
- Windows 11
- Python 3.10 以上(Python 公式サイト からインストール)
- SwitchBot Hub および制御したいデバイス(赤外線リモコン登録済みのテレビ・照明など)
- SwitchBot アプリで取得した
Open Token
とSecret
-
本リポジトリをクローン、または ZIP をダウンロードして任意のフォルダーに展開します。
git clone https://github.com/your-account/gpt-python.git cd gpt-python
-
Python 仮想環境を作成(任意)し、依存パッケージをインストールします。
py -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt
-
config.example.json
をconfig.json
にコピーし、token
、secret
、devices
内のdeviceId
を SwitchBot アプリの情報に合わせて編集します。copy config.example.json config.json
deviceId
: SwitchBot アプリの「クラウドサービス」>「API リスト」から取得command
:turnOn
/turnOff
など、デバイスに応じたコマンドを設定commandType
: 通常はcommand
(赤外線リモコンの場合もcommand
)parameter
: 多くのデバイスはdefault
を指定
-
アプリを起動します。
python switchbot_gui.py
-
GUI 上にダークテーマのコントロールパネルが表示されます。照明デバイスでは明るさ/色温度のスライダー、テレビではチャンネル・音量・入力切替の各操作が可能です。実行結果は画面下部のステータスバーに表示されます。
- SwitchBot Hub に登録済みの赤外線リモコンの場合でも
commandType
はcommand
のまま利用できます。 setBrightness
やsetVolume
のように値を伴うコマンドは、parameter_template
に{value}
を入れることでスライダーの値が反映されます。setInput
のparameter
には SwitchBot アプリで定義した入力名(例:hdmi1
)を設定してください。
- 署名エラーが表示される:
token
とsecret
が正しいか、時刻ズレがないかを確認してください。 - 403 Forbidden: SwitchBot アプリで対象デバイスがクラウドサービスに連携されているか確認してください。
- GUI が応答しない: ネットワーク状況によって API 応答が遅延する場合があります。数秒待っても改善しない場合はアプリを再起動してください。
MIT License