SwitchBotの温度計デバイスをモニタリングし、リモコン操作もできるStreamlitアプリやで〜!✨
最初に Replitでプロトタイプを作成、その後、Cursorで編集 Claude Sonnet 4で作成
このプロジェクトは、Replitでプロトタイプを作成し、その後Cursorで本格的な開発を行いました。Claude Sonnet 4を使用して、SwitchBot APIとの連携や美しいUIの実装を行っています。
- 🌡️ リアルタイム温度表示(摂氏・華氏)
- 💧 湿度表示
- 🔋 バッテリー残量表示(色分け)
- 🔄 自動更新機能(5-60秒間隔)
- 📱 美しいカード形式のWebインターフェース
- 📺 テレビ制御 - 電源、音量、チャンネル操作(IRリモコン経由)
- ❄️ エアコン制御 - 電源ON/OFF、温度設定、モード変更(IRリモコン経由)
- 💡 照明制御 - 電源ON/OFF(物理デバイス・IRリモコン両対応)
- 🔧 その他のデバイス - 電源ON/OFF制御
- 🌡️ 温度計デバイス監視 - リアルタイム温度・湿度・バッテリー表示
- 📱 デバイス分類 - 自動的にデバイスをカテゴリ別に分類
- 🔄 リアルタイム更新 - 手動・自動更新機能
- 📊 デバイス集計 - サイドバーでデバイス数の確認
- 🔧 Hub Mini表示 - 操作対象外デバイスの情報表示
- 🎭 シーン実行機能 - シーン一覧取得・実行(API実装済み、UI未実装)
- 📋 デバイスタイプ別コマンド一覧 - 対応コマンドの表示(API実装済み、UI未実装)
- 📡 IRリモコン状態取得 - リモコンデバイスの詳細状態表示(API実装済み、UI未実装)
- ⚡ 物理デバイス詳細制御 - テレビ・エアコンの物理デバイス制御(API実装済み、UI未実装)
# 仮想環境を使用
source .venv/bin/activate
# 依存関係をインストール
pip install requests streamlit python-dotenv- SwitchBotアプリを開く 📱
- 設定 → アプリバージョン → 開発者オプションに進む
- Open TokenとSecret Keyを取得
.envファイルを編集して、実際の認証情報を設定してください:
# .env
SWITCHBOT_TOKEN=あなたの実際のトークン
SWITCHBOT_SECRET=あなたの実際のシークレットstreamlit run SwitchbotMoniter.py --server.port 8502URL: http://localhost:8502
SwitchSense/
├── SwitchbotMoniter.py # 🏠 統合ダッシュボード(メイン)
├── switchbot_api.py # 🔌 SwitchBot APIクライアント
├── test_ir_control.py # 🎮 IRリモコン操作テスト
├── .env # ⚙️ 環境変数設定
├── .gitignore # 🚫 Git除外設定
├── .gitmessage # コミットテンプレート
├── pyproject.toml # ⚙️ プロジェクト設定
├── uv.lock # 🔒 依存関係ロック
├── replit.md # 📖 技術仕様書(英語)
├── replit_ja.md # 📖 技術仕様書(日本語)
└── README.md # 📖 このファイル
- SwitchBot Meter
- SwitchBot Meter Plus
- SwitchBot Outdoor Meter
- その他のMeter系デバイス
- 仮想IRリモコン: テレビ、エアコン、照明(Hub Mini経由)
- 物理デバイス: SwitchBot Bot、SwitchBot Curtain、SwitchBot Light(ON/OFF制御のみ)
- Hub Mini - 操作対象外、情報表示のみ
- 物理テレビ・エアコン: API実装済み、UI未実装
-
認証情報が見つからない
.envファイルが正しく設定されているか確認- SwitchBotアプリでAPI認証情報を取得済みか確認
-
デバイスが見つからない
- SwitchBotデバイスがオンラインか確認
- 温度計デバイス(Meter、Meter Plus、Outdoor Meter)が登録されているか確認
- リモコン操作の場合、Hub Miniが設定されているか確認
-
APIエラー
- インターネット接続を確認
- API認証情報が正しいか確認
- API制限に達していないか確認
-
リモコン操作ができない
- Hub Miniがオンラインか確認
- 仮想IRリモコンが正しく設定されているか確認
- デバイスが制御可能な状態か確認
-
温度計が表示されない
- デバイスタイプが
Meter系か確認 - デバイスがオンラインか確認
- API認証情報が正しいか確認
- デバイスタイプが
-
Hub Miniが表示されない
- Hub Miniがオンラインか確認
- デバイスタイプが
Hub Miniか確認 - API認証情報が正しいか確認
python test_ir_control.py以下の機能はAPIレベルで実装済みですが、UIでの実装が未完了です:
- シーン実行機能: シーン一覧表示とワンクリック実行
- デバイス詳細情報: 各デバイスの対応コマンド一覧表示
- IRリモコン状態監視: リモコンデバイスの詳細状態表示
- 物理デバイス詳細制御: テレビ・エアコンの物理デバイス制御
このプロジェクトはMITライセンスの下で公開されています。
使用した生成AIモデル: Claude Sonnet 4