タスクトレイ常駐型のPC用SwitchBotコントローラの紹介

PCからSwitchBotデバイスを操作できるコントローラーを作成したので紹介します。

概要

タスクトレイ常駐型のSwitchBot用コントローラです。

各デバイスの電源をON/OFFできるだけではなく、温度計やプラグミニ等一部対応デバイスの詳細情報も確認することができます。

https://raw.githubusercontent.com/skuralll/switchbot-tray/master/.github/asset/ss1.png

使用法

下記GitHubリポジトリ右メニューのReleasesよりインストーラをダウンロードすることができます。インストール後このアプリケーションを起動し、通知バーに表示されるアイコンをクリックしてください。その後出現するウィンドウの右上のアイコンをクリックし、表示されたメニュー内の"Edit Token"をクリックするとトークン設定用ダイアログが開きます。そこにSwitchBotのTokenとSecretを入力し、"Register"をクリックしてください。適切に入力されていればSwitchBotのデバイス一覧が表示されます。

SwitchBotのToken,Secretの取得法は下記記事が参考になると思います。

qiita.com

GitHubリポジトリ

github.comプルリク、Issueを歓迎します。

技術

今回はRustのGUIフレームワークであるTauriを使用し、フロントエンドはReact(Typescript)で作成しました。当初はElectronを使用しようと思っていたのですが諸事情により見送りました。結果として成果物のサイズの削減や処理の高速化などを行うことができ良かったと思います。

背景

PCでの作業中にSwitchBotデバイスを操作したい場合、毎度スマホを取り出してSwitchBotアプリを開くか、スマートスピーカーに音声コマンドを送るかどうかせねばならず不便でした。それならばPC上で操作と状態の確認ができるようにしようと思い、今回制作するに至りました。

飽き性なため今まで実用的なものを最後まで作り上げるという経験をあまりしたことがなく、とりあえず完成させることができて満足です。

今後

とりあえず基本的な操作と情報の取得はできるようになりましたが、以下のことを今後実装できたらいいなと思っています。

  • エアコンや照明などの細かい操作(温度や光量などの調節)
  • シーン一覧の取得/操作