reCamera と Home Assistant の連携入門
はじめに
Home Assistant はオープンソースのスマートホームプラットフォームであり、ユーザーは自分の IoT デバイスを簡単にシステムへ接続して一元管理できます。しかし、Home Assistant の主な特徴は、さまざまなセンサーデバイスの状態を表示できることだけではなく、クロスプラットフォームのデバイス同士を自動で連携させられる点にあります。このような自動連携があってこそ、スマートホームプラットフォームは十分な活力を持つと言えます。
ハードウェアの準備
reCamera を 1 台(2002 シリーズ、HQ POE バージョン、またはパン・チルトバージョンのいずれでも構いません。ただし、POE バージョンには WiFi 機能がなく、同一セグメント内で POE 機能付きスイッチに接続する必要があります)
reComputer を 1 台(どのバージョンでも構いません。ここでは例として reComputer AI R2130-12 を使用します)
PC を 1 台
| reCamera 2002 シリーズ | reCamera ジンバル | reCamera HQ POE | reComputer AI R2000 シリーズ |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Home Assistant のインストール(reComputer AI R2130-12 を例とする)
システムの準備
すでに Home Assistant がインストールされている場合は、この後の設定のために「設定ファイルのパスを確認する」の手順までスキップしてください。
- システムを更新する
sudo apt update && sudo apt upgrade -y
- 必要な依存関係をインストールする
sudo apt install -y ca-certificates curl gnupg lsb-release
Docker をインストールする
- 公式スクリプトでインストール
curl -fsSL https://get.docker.com | sh
- 現在のユーザーに Docker の使用を許可する
sudo usermod -aG docker $USER
- システムを再起動して権限を有効にする
sudo reboot
- インストールを確認する
docker run hello-world

"Hello from Docker!" という文字が表示されれば、インストールは成功しています。
Home Assistant をインストールする(コンテナモード)
- マウントディレクトリを作成する 設定ファイルを永続化するために実施します:
mkdir -p ~/homeassistant/config
- コンテナを起動する
以下のコマンドを実行して Home Assistant を起動します
(このステップには時間がかかる場合があります。速度はネットワーク環境に依存します)
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=Asia/Shanghai \
-v ~/homeassistant/config:/config \
-v /etc/localtime:/etc/localtime:ro \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
パラメータの説明:
--network=host: Home Assistant がホストネットワークへ直接アクセスできるようにします(デバイスの自動検出に必須)-v ~/homeassistant/config:/config: 設定ファイルを保存します--restart=unless-stopped: 自動的に再起動します--privileged: ハードウェアアクセスを有効にします(USB Zigbee/Z-Wave など)

Home Assistant にアクセスする
- IP を確認する
hostname -I
- ブラウザでアクセスする
Docker を起動した後、1〜2 分ほど待ってから、ブラウザで次のようにアクセスします:
http://<your IP>:8123
例:
http://192.168.1.88:8123
初回起動時には初期設定画面が表示されます。ここからアカウントの作成やスマートホームの設定を開始できます。
設定ファイルのパスを確認する
Home Assistant のすべての設定は次の場所に保存されています:
/homeassistant/config/
次のコマンドで確認できます:
cd /homeassistant/config
ls
次のようなファイルが表示されます:
automations.yaml configuration.yaml scripts.yaml ...
自動化を設定して reCamera のデータを受信する
- nano エディタをインストールする
sudo apt install nano -y
automations.yamlを編集する:
sudo nano /homeassistant/config/automations.yaml
内容を次のものに置き換えます:
- alias: "ReCamera Detection"
description: "Receive the detection results from ReCamera"
trigger:
- platform: webhook
webhook_id: recamera_detection
action:
- service: input_text.set_value
target:
entity_id: input_text.recamera_people_raw
data:
value: "{{ trigger.json.payload }}"
mode: single
保存して終了します:
- Ctrl + O → Enter(保存)
- Ctrl + X(終了)
- configuration.yaml を編集する:
sudo nano /homeassistant/config/configuration.yaml
内容を次のものに置き換えます:
# ==========================
# Basic Configuration of Home Assistant
# ==========================
# Load default integration (do not delete)
default_config:
# Load the front-end theme
frontend:
themes: !include_dir_merge_named themes
# Load the independent configuration file
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
# ==========================
# ReCamera Physical Configuration Section
# ==========================
# Define an "input_text" entity to store the latest detection results from ReCamera.
input_text:
recamera_people_raw:
name: Original detection result of ReCamera
max: 255
icon: mdi:account-group # Optional: Display as "Group" icon
# Define a template sensor to display the detection results of ReCamera
sensor:
- platform: template
sensors:
recamera_people_count:
friendly_name: "ReCamera Personnel Counting Function"
value_template: "{{ states('input_text.recamera_people_raw') }}"
icon_template: mdi:camera-outline
保存して終了します:
- Ctrl + O → Enter(保存)
- Ctrl + X(終了)
- 保存して終了したら、Home Assistant を再起動します
docker restart homeassistant
reCamera の設定(2002w バージョンを例とする)
reCamera をコンピュータに接続した後、192.168.42.1 にアクセスする
インターフェースを開けない状態が続く場合は、Factory Reset セクションを参照してデバイスをリセットしてください。リセット後に再度 192.168.42.1 にアクセスします。リセット後はパスワード変更を求められます。

ログイン後、右下をクリックして「Workspace」に入る

Workspace に入ったら、ノードを設定します。


新しく 4 つのノードが追加されています:"debug1"、"debug2"、"function1"、"HTTP request" です。
debug1 と debug2 は出力情報を確認するためのもので、任意で使用します。function1 はデータ処理用、HTTP request ノードは Home Assistant へデータを送信するために使用します。

次に、元のノード "Model Info Handle" を修正し、特定の検出対象の数だけを出力するようにします。

このノードをダブルクリックして開き、コードを次の内容に置き換えます:
let currentModel = "Current People";
const object = 'person';
const labels = msg.payload?.data?.labels ?? [];
if (!Array.isArray(labels)) {
return { payload: '' };
}
const num = labels.filter(label => String(label).toLowerCase() === object).length;
currentModel += ` number: ${num}`;
return { payload: currentModel };
変更が完了したら、右上の "Finish" ボタンをクリックします。

このコードは検出された人物の数のみを出力します。変更を加えたい場合は、検出オブジェクトを修正してください。
どの種類のオブジェクトを検出できるかは、モデルノードを確認することで把握できます。

次に、function1 ノードを設定し、元のコードを次のコードに置き換えます:
return {
payload: {
payload: msg.payload
}
};

次に、HTTP request ノードを設定します。ここでは、3 つの項目を変更する必要があります:
| Option | Setting Value |
|---|---|
| Request Method | POST |
| URL Address | http://<your IP>:8123/api/webhook/recamera_detection |
| Response | JSON Object |

設定が完了したら、右上の "Deploy" ボタンをクリックします。デプロイが成功すると、プロンプトが表示されます。

ここで、もう 1 つ行う必要がある手順があります。それは reCamera を WiFi に接続することです。reComputer 用に設定したネットワークと同じネットワークに接続する必要があります(POE バージョンには WiFi 機能がなく、同一セグメントのネットワークに接続するために POE 機能付きスイッチを使用する必要がある点に注意してください)。
左上の "Network" ボタンをクリックしてネットワークを設定します。

忘れないでください!必ず Recamera をネットワークに接続してください!!!そうしないと通信できません。
Home Assistant の概要インターフェースを表示する

まだ何の効果も確認できない場合は、まずリンクが正しく接続されていないかを確認してください。つまり、Webhook が正しく機能しているかどうかを確認します:
任意のデバイス(ReCamera またはコンピュータ)のターミナルで実行します:
curl -X POST http://192.168.100.109:8123/api/webhook/recamera_detection \
-H "Content-Type: application/json" \
-d '{"payload":"Test from curl"}'
成功すると、Home Assistant の通知には次のように表示されます:
ReCamera Detection Results
curl からのテスト
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます。私たちは、製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに応じて選べる、複数のコミュニケーションチャネルをご用意しています。



