reCamera Pro と Home Assistant 連携:サウンドトリガー付き写真アラート

はじめに
この Wiki では、reCamera Pro を Home Assistant (HA) と連携させ、特定の音が検出されたときにカスタムメッセージと現在のカメラスナップショットを Home Assistant ダッシュボードに自動送信する方法を説明します。双方向通信には MQTT プロトコルを使用し、reCamera Pro が指定した音(例:"help")をしきい値を超える信頼度で検出すると、自動的にアラートメッセージとライブ画像を HA に送信します。

ハードウェアの準備
- Home Assistant を実行しているホスト(Docker、HA OS、venv デプロイをサポート)
- reCamera Pro デバイス
| reCamera Pro |
|---|
![]() |
HA への reCamera アドオンのインストール
Home Assistant に reCamera アドオンを追加し、reCamera Pro からのメッセージと画像を HA 上に表示できるようにします。インストール方法は 2 通りあり、推奨の自動インストールスクリプトと手動インストールがあります。
方法 1:自動インストールスクリプト(推奨)
install.py スクリプト をダウンロードして実行し、HA の設定ディレクトリを入力すると、インストール全体が自動的に完了します。
# Download install.py (includes all files, no additional downloads needed)
python3 install.py
# Or specify the configuration directory directly (non-interactive)
python3 install.py /home/zsz/HA/config
このスクリプトは自動的に以下を行います:
- 統合コードを
custom_components/recamera_chat/にコピー - フロントエンドファイルを
www/recamera_chat/にコピー configuration.yamlにrecamera_chatとpanel_customの設定を追記(元のファイルを自動バックアップ)- すべてのファイルが正しく配置されているか検証
このスクリプトは Linux / Windows / macOS に対応しており、Docker、HA OS、venv を含むすべてのデプロイ方法で動作します。
インストール後は、Step 4: Restart Home Assistant に進んでください。
方法 2:手動インストール
Step 1: デプロイパッケージをダウンロード
recamera_chat.zip デプロイパッケージをダウンロードして解凍します。解凍後のディレクトリ構造は次のとおりです:
recamera_chat/
└── custom_components/
└── recamera_chat/
└── __init__.py
└── const.py
└── manifest.json
└── services.yaml
└── www/
└── recamera_chat/
└── panel.js
└── panel.html
└── configuration_snippet.yaml
Step 2: ファイルを HA 設定ディレクトリにコピー
custom_components フォルダと www フォルダを Home Assistant の設定ディレクトリにコピーします。
HA 設定ディレクトリの場所はインストール方法によって異なります:
- HA OS: Samba または SSH 経由で
/configにアクセス - Docker: マウントした設定ディレクトリ(例:
/home/zsz/HA/config) - venv: HA をインストールしたディレクトリ
www/ と custom_components/ は同じ階層のディレクトリであり、どちらも設定ルートディレクトリ直下に配置する必要があります。www/ を custom_components/ の中に入れないでください。そうしないとサイドバーに表示されません。
Docker デプロイ例:
# Assuming the HA configuration directory is /home/zsz/HA/config
cd /home/zsz/HA/config
# Copy the integration files
cp -r recamera_chat/custom_components/recamera_chat custom_components/
# Copy the frontend files
cp -r recamera_chat/www/recamera_chat www/
コピー後のディレクトリ構造は次のとおりです:
/config/
└── custom_components/
└── recamera_chat/
└── __init__.py
└── const.py
└── manifest.json
└── services.yaml
└── www/
└── recamera_chat/
└── panel.js
└── panel.html
└── images/ # Images are automatically saved here
└── configuration.yaml
Step 3: configuration.yaml を編集
HA の configuration.yaml に次の設定を追加します:
# ===== reCamera Chat (MQTT Bidirectional Chat) =====
recamera_chat:
broker: 127.0.0.1 # MQTT broker address (127.0.0.1 if HA and broker are on the same host)
port: 1883 # MQTT broker port
# username: youruser # Uncomment and fill in if authentication is required
# password: yourpass
topic_in: recamera/chat/to_ha # reCamera publishes to this topic -> HA receives
topic_out: recamera/chat/to_camera # HA panel sends -> reCamera subscribes to this topic
message_field: "" # Leave empty = auto-extract message/text/payload/msg/content
max_history: 200 # Maximum number of message history entries
panel_custom:
- name: recamera-chat
sidebar_title: reCamera
sidebar_icon: mdi:camera
url_path: recamera-chat
module_url: /local/recamera_chat/panel.js?v=13
require_admin: false
module_url 内のバージョン番号(例:?v=13)は、panel.js ファイル内のバージョン番号と一致している必要があります。一致していない場合、ブラウザが古いキャッシュを読み込んでしまい、パネルが表示されないことがあります。
Step 4: Home Assistant を再起動
設定を反映させるために HA を再起動します:
- Web インターフェース: Settings -> System -> 右上の電源アイコン -> Restart
- コマンドライン(Docker):
docker restart homeassistant
Step 5: デプロイを確認
- 再起動完了後、HA のサイドバーに reCamera タブ(カメラアイコン付き)が表示されるはずです。
- クリックするとチャットインターフェースが表示され、右上に Connected ステータスが表示されます。
- 入力ボックスにテキストを入力し、Enter キーを押すか Send ボタンをクリックします。
recamera/chat/to_cameraを購読している reCamera 側がメッセージを受信するはずです。
再起動後にサイドバーに reCamera タブが表示されない場合は、次の順序でトラブルシューティングを行ってください:
- 設定ルート直下の
www/ディレクトリ内にwww/recamera_chat/panel.jsが存在するか確認する(custom_components/www/の下ではないこと) configuration.yamlにpanel_custom設定ブロックが含まれているか確認するpanel.js内の?v=13のバージョン番号が、configuration.yamlのmodule_url内のバージョン番号と一致しているか確認する- Ctrl+F5 を押してブラウザを強制再読み込みし、キャッシュをクリアする
reCamera Pro の設定
この例ではカメラで写真を撮影する必要があるため、まず reCamera Pro のメインプロセスを停止してカメラリソースを解放する必要があります。次のコマンドを実行します:
pkill -x rkipc
メインプロセスを停止したら、Python プログラムをダウンロードします:reCamera Program
プログラム設定パラメータの変更
プログラムをダウンロードしたら、正しく動作させるために次のパラメータを変更する必要があります:
# ===================== MQTT Configuration =====================
MQTT_HOST = "192.168.6.215" # MQTT Broker Address
MQTT_PORT = 1883 # MQTT Broker Port
TARGET_SOUND = "help" # Name of the sound to detect
CONFIDENCE_THRESHOLD = 94.0 # Trigger threshold, unit: percentage
MQTT_MESSAGE = "Someone is calling for help!!" # Message to send when triggered
- MQTT_HOST: MQTT Broker のアドレス。HA ホストの IP アドレスを入力します
- MQTT_PORT: MQTT Broker のポート。
1883を入力します - TARGET_SOUND: 検出する音の名前。
"help"を入力します - CONFIDENCE_THRESHOLD: トリガーしきい値(単位:パーセンテージ)。
94.0を入力します。この値を超える信頼度の場合にのみメッセージと画像が送信されます。 - MQTT_MESSAGE: トリガー時に送信するメッセージ。HA パネルに表示したい内容を自由に入力できます。
コードを reCamera Pro にアップロードして実行
- 次のコマンドを使用して、変更したコードを reCamera Pro にアップロードします:
scp voice_capture.py root@<device_IP>:/userdata
- 次のコマンドを実行してコードを起動します:
python3 ./voice_capture.py
期待される結果
- サウンド検出プログラムを起動すると、reCamera Pro は周囲の音を継続的に監視します。
- 指定した音(例:"help")がしきい値を超える信頼度で検出されると、自動的に現在のシーンを撮影します。
- カスタムアラートメッセージと画像を MQTT 経由で Home Assistant に送信します。
- HA サイドバー内の reCamera パネルに、受信したメッセージと画像が表示されます。
トラブルシューティング
| 問題 | 考えられる原因 | 解決策 |
|---|---|---|
| HA サイドバーに reCamera タブがない | ファイルパスが誤っている、または設定が反映されていない | www/recamera_chat/panel.js のパスと configuration.yaml の設定を確認する |
| パネルが "Disconnected" と表示される | MQTT 接続に失敗している | MQTT Broker のアドレスとポートが正しいか確認する |
| サウンド検出が反応しない | マイクが接続されていない、または権限不足 | USB マイクが接続されていることを確認し、reCamera Pro 上のオーディオデバイスを確認する |
| 画像が表示されない | カメラリソースが占有されている | カメラを解放するために pkill -x rkipc を実行済みか確認する |
リソース
- reCamera Pro 製品ページ
- Home Assistant 公式ドキュメント
- reCamera Chat デプロイメントパッケージ
- reCamera 音声検出プログラム
- 自動インストールスクリプト
技術サポート & 製品ディスカッション
弊社製品をお選びいただきありがとうございます。私たちは、製品をできるだけスムーズにご利用いただけるよう、さまざまなレベルのサポートを提供しています。複数のコミュニケーションチャネルを用意し、異なるご希望やニーズにお応えします。
