インストール
コンテンツ詳細
代替品
インストール
{
"github.copilot.chat.experimental.mcpServers": {
"hc3-smart-home": {
"command": "node",
"args": ["/path/to/your/extension/out/mcp/hc3-mcp-server.js"],
"env": {
"FIBARO_HOST": "192.168.1.57",
"FIBARO_USERNAME": "admin",
"FIBARO_PASSWORD": "your_password",
"FIBARO_PORT": "80"
}
}
}
}🚀 HC3 MCP Server
このVS Code拡張機能は、Fibaro Home Center 3 (HC3) スマートホームシステムに対するModel Context Protocol (MCP) サーバーの統合を提供します。この拡張機能を使用すると、VS Code内のAIアシスタントが自然言語コマンドを通じてFibaro HC3のデバイス、シーン、システム情報と対話できます。
✨ 主な機能
- 完全なFibaro HC3 REST API統合:主要なHC3エンドポイントにすべてアクセス可能
- VS Code拡張機能統合:VS Code内でMCPサーバーとしてシームレスに登録
- 設定管理:VS Codeの設定または環境変数を通じて簡単に設定可能
- 包括的なAPIカバレッジ:HC3管理のすべての側面をカバーする66以上のツール
- QuickApp開発:QuickApp開発のための完全なファイル操作機能
- プラグイン管理:完全なプラグイン設定、UIインタラクション、ライフサイクル管理
- インテリジェントコンテキスト:システム分析、自動化提案、デバイス関係の把握
- プログラミングドキュメント:組み込みのHC3プログラミングガイドとサンプル
- エラーハンドリング:詳細なエラーメッセージを伴う堅牢なエラーハンドリング
- 型安全性:適切な型を持つ完全なTypeScript実装
📦 インストール
必要条件
- Fibaro Home Center 3:ネットワークアクセス可能な稼働中のHC3システム
- VS Code:バージョン1.103.0以上
- ネットワークアクセス:VS Code環境がHC3システムに到達できる必要があります
- HC3ユーザーアカウント:HC3システムの有効なユーザー名とパスワード
インストール手順
- 拡張機能のインストール:
- VS Code Marketplaceからインストール(近日公開予定)
- または、
.vsixファイルからExtensions: Install from VSIX...コマンドを使用してインストール
設定
方法1:VS Code設定(推奨)
-
コマンドパレットからの設定:
- コマンドパレットを開く(
Cmd+Shift+P/Ctrl+Shift+P) HC3 MCP: Configure Fibaro HC3 Connectionを実行- プロンプトに従ってHC3の詳細を入力
- コマンドパレットを開く(
-
手動設定:
- VS Code設定に移動
- "HC3 MCP"を検索
- 以下を設定:
- ホスト:HC3のIPアドレス(例:
192.168.1.57) - ユーザー名:HC3のユーザー名
- パスワード:HC3のパスワード
- ポート:HC3のポート(デフォルト:80)
- ホスト:HC3のIPアドレス(例:
方法2:環境変数(代替手段)
ホームディレクトリに~/.envファイルを作成し、以下を記述します。
HC3_URL=http://192.168.1.57
HC3_USER=your_username
HC3_PASSWORD=your_password
注意:VS Code設定が構成されていない場合、拡張機能は自動的に環境変数を代替手段として使用します。
設定のテスト
HC3 MCP: Test Fibaro HC3 Connectionコマンドを実行- HC3システムへの接続が成功したことを確認
GitHub Copilotの設定
GitHub CopilotがMCPサーバーを使用するには、手動で設定する必要があります。
-
VS Codeでユーザー設定(JSON) を開く:
Cmd+Shift+P/Ctrl+Shift+Pを押す- "Preferences: Open User Settings (JSON)"と入力
-
MCPサーバー設定を追加する:
{
"github.copilot.chat.experimental.mcpServers": {
"hc3-smart-home": {
"command": "node",
"args": ["/path/to/your/extension/out/mcp/hc3-mcp-server.js"],
"env": {
"FIBARO_HOST": "192.168.1.57",
"FIBARO_USERNAME": "admin",
"FIBARO_PASSWORD": "your_password",
"FIBARO_PORT": "80"
}
}
}
}
-
設定値を置き換える:
- コンパイル済みのMCPサーバーへのパスを更新
- HC3のIPアドレス、ユーザー名、パスワードを設定
- VS Codeを再起動
-
Copilotチャットでテストする:
- 重要:拡張機能を構成した後、新しいチャットセッションを開始
- "List my HC3 devices"
- "@hc3-smart-home get all devices"
注意:MCPサーバーのツールがすぐに利用できない場合は、新しいGitHub Copilotチャットセッションを開始してMCPサーバーを検出させてください。
拡張機能の設定
この拡張機能は以下の設定を提供します。
hc3McpServer.host:Fibaro HC3のIPアドレスまたはホスト名hc3McpServer.username:Fibaro HC3のユーザー名hc3McpServer.password:Fibaro HC3のパスワード(安全に保存されます)hc3McpServer.port:Fibaro HC3のポート番号(デフォルト:80)
💻 使用例
基本的な使用法
設定が完了すると、拡張機能は自動的にAIアシスタントが使用できるMCPサーバーを提供します。自然言語コマンドを使用してHC3システムと対話できます。
基本的なデバイス制御
- "Show me all devices in the living room"(リビングルームのすべてのデバイスを表示)
- "Turn on the kitchen lights"(キッチンの照明をオンにする)
- "Set the bedroom dimmer to 50%"(寝室の調光器を50%に設定)
- "Turn off all lights in the house"(家のすべての照明をオフにする)
高度なデバイス操作
- "Show me all Z-Wave devices"(すべてのZ-Waveデバイスを表示)
- "Get detailed information about device 25"(デバイス25の詳細情報を取得)
- "Set the RGB light to blue color"(RGBライトを青色に設定)
- "Turn on the garden sprinkler for 10 minutes with a 5 - minute delay"(5分遅延で10分間庭の散水器をオンにする)
シーン管理
- "List all scenes in the master bedroom"(マスターベッドルームのすべてのシーンを表示)
- "Run the movie night scene"(映画鑑賞シーンを実行)
- "Stop the current scene"(現在のシーンを停止)
- "Show me all Alexa - enabled scenes"(Alexa対応のすべてのシーンを表示)
エネルギー監視
- "Show energy consumption for device 15"(デバイス15のエネルギー消費量を表示)
- "Get total energy usage for today"(今日の総エネルギー使用量を取得)
- "Which devices are consuming the most power?"(最も多くの電力を消費しているデバイスはどれ?)
システム情報
- "What's the current weather?"(現在の天気はどうですか?)
- "Show HC3 system information"(HC3システム情報を表示)
- "What's the current home status?"(現在の家の状態はどうですか?)
- "Set home mode to Away"(家のモードを外出モードに設定)
スマートホーム自動化
- "Create an automation to turn off all lights when I leave"(外出時にすべての照明をオフにする自動化を作成)
- "Show me all motion sensors and their current state"(すべてのモーションセンサーとその現在の状態を表示)
- "What's the temperature in each room?"(各部屋の温度は何度ですか?)
QuickApp開発
- "Show me the files for QuickApp 926"(QuickApp 926のファイルを表示)
- "Get the content of the main.lua file for device 145"(デバイス145のmain.luaファイルの内容を取得)
- "Create a new helper.lua file for QuickApp 82"(QuickApp 82の新しいhelper.luaファイルを作成)
- "Update the main file for QuickApp 67 with new code"(QuickApp 67のメインファイルを新しいコードで更新)
- "Export QuickApp 45 as an encrypted file for specific gateways"(QuickApp 45を特定のゲートウェイ用の暗号化ファイルとしてエクスポート)
- "Delete the old_function.lua file from QuickApp 29"(QuickApp 29からold_function.luaファイルを削除)
プラグイン管理と設定
- "Show me all installed plugins"(インストールされているすべてのプラグインを表示)
- "Get the configuration interface for device 75"(デバイス75の設定インターフェースを取得)
- "Update the label text for button_1 on device 45"(デバイス45のbutton_1のラベルテキストを更新)
- "Trigger the onReleased event for switch_main on device 33"(デバイス33のswitch_mainのonReleasedイベントをトリガー)
- "Create a child device for multi - channel switch 88"(マルチチャンネルスイッチ88の子デバイスを作成)
- "Add energy interface to device 156"(デバイス156にエネルギーインターフェースを追加)
- "Restart the malfunctioning plugin on device 92"(デバイス92の故障しているプラグインを再起動)
- "Update the temperature property for device 64"(デバイス64の温度プロパティを更新)
- "Show available IP camera types for installation"(インストール可能なIPカメラのタイプを表示)
利用可能なツール
MCPサーバーは、以下のカテゴリに分類された66以上のツールを提供します。
コアシステム管理
get_system_info- 基本的なHC3システム情報を取得get_devices- フィルタリングオプション付きですべてのデバイスをリスト表示get_device- 特定のデバイスの詳細を取得control_device- デバイスのアクションを制御(turnOn、turnOff、setValueなど)get_rooms- すべての部屋とセクションをリスト表示get_scenes- すべてのシーンをリスト表示get_scene- 特定のシーンの詳細を取得start_scene- シーンを実行stop_scene- 実行中のシーンを停止
高度なデバイス管理
get_device_actions- デバイスの利用可能なアクションを取得get_device_events- デバイスのイベント履歴を取得get_global_variables- グローバル変数を管理set_global_variable- グローバル変数の値を設定delete_global_variable- グローバル変数を削除
気候と環境
get_climate_panels- 気候制御パネルの情報get_climate_zones- 気候ゾーンと設定get_climate_schedules- 暖房/冷房スケジュールupdate_climate_schedule- 気候スケジュールを変更get_weather_data- 現在の天気情報
セキュリティとアクセス制御
get_alarm_partitions- 警報システムのパーティションget_alarm_zones- 警報ゾーンの設定get_alarm_devices- セキュリティデバイスのリストarm_alarm_partition- 特定の警報パーティションを警戒状態にするdisarm_alarm_partition- 警報パーティションの警戒を解除get_users- システムユーザーと権限get_user_locations- ユーザーの位置追跡
ネットワークと接続性
get_network_status- ネットワーク接続状態get_wifi_networks- 利用可能なWi-Fiネットワークget_network_devices- 接続されているネットワークデバイス
高度な機能
get_sprinkler_zones- 灌漑システムの管理control_sprinkler_zone- 散水ゾーンの制御get_custom_events- カスタムイベントの定義emit_custom_event- カスタムイベントをトリガーget_system_backups- システムバックアップの管理create_system_backup- 新しいバックアップを作成get_system_diagnostics- システムの健全性診断get_ios_devices- iOSデバイスの管理get_quickapps- Quick Appsの管理get_quickapp_logs- Quick Appのログ分析
システムインテリジェンスとコンテキスト
get_system_context- 包括的なシステム概要get_device_relationships- デバイスの関係と部屋の割り当てget_automation_suggestions- AIによる自動化提案get_device_usage_patterns- デバイスの使用分析とパターンexplain_device_capabilities- 詳細なデバイスの機能説明
HC3プログラミングドキュメント
get_hc3_configuration_guide- 完全なHC3設定ドキュメントget_hc3_quickapp_programming_guide- Quick Appsのプログラミングリファレンスget_hc3_lua_scenes_guide- Luaシーンのプログラミングドキュメントget_hc3_programming_examples- 実用的なコードサンプルとスニペット
QuickAppファイル管理
list_quickapp_files- QuickAppのすべてのソースファイルのリストを取得get_quickapp_file- 特定のQuickAppファイルの詳細情報(内容を含む)を取得create_quickapp_file- QuickAppの新しいソースファイルを作成update_quickapp_file- 既存のQuickAppソースファイルを更新update_multiple_quickapp_files- 複数のQuickAppファイルを一度に更新delete_quickapp_file- QuickAppのソースファイルを削除(メインファイルは削除できません)export_quickapp- QuickAppを.fqaファイル形式(オープンソースまたは暗号化)でエクスポートimport_quickapp- .fqa/.fqaxファイルからQuickAppをインポート(ファイルアップロードが必要)
プラグイン管理と設定
get_plugins- インストールされているおよび利用可能なすべてのプラグインを取得get_installed_plugins- システムにインストールされているプラグインのリストを取得get_plugin_types- カテゴリ付きのすべてのプラグインタイプの情報を取得get_plugin_view- デバイスのプラグインビュー/設定インターフェースを取得update_plugin_view- プラグインビューコンポーネントのプロパティを更新call_ui_event- プラグインインターフェース要素のUIイベントをトリガーcreate_child_device- プラグインの子デバイスを作成(マルチチャンネルデバイス)manage_plugin_interfaces- デバイスからインターフェースを追加または削除restart_plugin- プラグイン/デバイスを再起動update_device_property- デバイスのプロパティ値を直接更新publish_plugin_event- プラグインシステムを通じてさまざまなシステムイベントを公開get_ip_cameras- インストール可能なIPカメラのタイプを取得install_plugin- タイプ別にプラグインをインストールdelete_plugin- タイプ別にプラグインを削除/アンインストール
各ツールには、包括的な入力検証、エラーハンドリング、および詳細な応答データが含まれており、AIアシスタントがFibaro HC3システムを効果的に理解して操作できるようになっています。
開発
ソースからのビルド
# リポジトリをクローン
git clone <repository-url>
cd hc3-mcp-server
# 依存関係をインストール
npm install
# TypeScriptをコンパイル
npm run compile
# 拡張機能をパッケージ化
npm run package
開発環境での実行
- VS Codeでプロジェクトを開く
F5を押して拡張機能開発ホストを実行- 新しいVS Codeウィンドウで拡張機能をテスト
テスト
# テストを実行
npm test
# カバレッジ付きで実行
npm run test:coverage
セキュリティに関する考慮事項
- ローカルネットワーク:この拡張機能はローカルネットワークを介してHC3システムと通信します
- 資格情報:パスワードはVS Codeの安全な資格情報ストアに保存されます
- APIアクセス:拡張機能は標準的なHTTP Basic認証を使用してHC3のREST APIを利用します
- クラウドなし:すべての通信はVS CodeとHC3システムの間で直接行われます
トラブルシューティング
接続問題
- HC3システムを確認する:HC3が電源オンでネットワーク上でアクセス可能であることを確認
- ネットワーク設定を確認する:IPアドレス、ポート、ネットワーク接続性を確認
- 資格情報をテストする:ユーザー名/パスワードが正しく、ユーザーがAPIアクセス権を持っていることを確認
- 接続をテストする:"HC3 MCP: Test Fibaro HC3 Connection"コマンドを使用して設定を確認
設定問題
- VS Code設定を確認する:VS Code設定ですべての必須フィールドが入力されていることを確認
- 環境変数を確認する:~/.envを使用する場合は、ファイルが存在し、正しい形式であることを確認
HC3_URL=http://192.168.1.57 HC3_USER=admin HC3_PASSWORD=your_password - ファイルパーミッションを確認する:~/.envファイルが読み取り可能であることを確認
- 再起動が必要:~/.envファイルを変更した後、VS Codeを再起動
MCPサーバーの問題
- 拡張機能のアクティベーションを確認する:拡張機能が有効でアクティブ化されていることを確認
- 出力パネルを確認する:VS Code開発者コンソールでエラーメッセージを確認
- MCP登録を確認する:MCPサーバーがAIアシスタントの設定に表示されていることを確認
- VS Codeを再起動する:時には再起動することで登録問題が解決することがあります
一般的なエラーメッセージ
- "Fibaro HC3 not configured":設定を構成するか、~/.envファイルを確認
- "Connection refused":ネットワーク接続性とHC3システムの状態を確認
- "Authentication failed":ユーザー名とパスワードを確認
- "HTTP 404":HC3のファームウェアバージョンとAPIの可用性を確認
- "Configuration incomplete":すべての必須設定が提供されていることを確認
既知の問題
- IPv6アドレスはまだサポートされていません
- HTTPS接続には追加の設定が必要です
- 一部の高度なデバイスタイプには特定のアクションコマンドが必要な場合があります
コントリビューション
コントリビューションは大歓迎です!以下の手順に従ってください。
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更を加える
- 適用可能な場合はテストを追加する
- プルリクエストを送信する
リリースノート
0.0.1
- 初期リリース
- 基本的なMCPサーバー統合
- コアHC3デバイスとシーンの管理
- 設定とテストコマンド
📄 ライセンス
MIT License
サポート
問題や質問については、以下の場所をご利用ください。
AIアシスタントでスマートホームを快適にコントロールしましょう! 🏠🤖
代替品








