Skip to main content

使用 reCamera 的 Home Assistant 入门指南

介绍​

Home Assistant 是一个开源的智能家居平台系统,用户可以轻松地将自己的物联网设备接入系统进行统一管理。然而,Home Assistant 的主要特点不仅仅是实现对各种传感设备的查看,更重要的是实现跨平台设备的自动联动,只有这样的智能家居平台才足够有生命力。

硬件准备​

一台 reCamera(可以是 2002 系列、HQ POE 版本或云台版本中的任意一款,但需要注意的是,POE 版本不具备 WiFi 功能,需要通过带有 POE 功能的交换机接入同一网段)
一台 reComputer(任意版本均可,这里以 reComputer AI R2130-12 为例)
一台电脑

reCamera 2002 系列reCamera 云台reCamera HQ POEreComputer AI R2000 系列

安装 Home Assistant(以 reComputer AI R2130-12 为例)​

系统准备​

如果已经安装了 Home Assistant,请直接跳转到“查找配置文件路径”步骤进行后续配置。

  1. 更新系统
sudo apt update && sudo apt upgrade -y
  1. 安装必要依赖
sudo apt install -y ca-certificates curl gnupg lsb-release

安装 Docker​

  1. 官方脚本安装
curl -fsSL https://get.docker.com | sh
  1. 允许当前用户使用 Docker
sudo usermod -aG docker $USER
  1. 重启系统使权限生效
sudo reboot
  1. 验证安装
docker run hello-world

如果你看到 "Hello from Docker!" 这行字,就说明安装成功了。

安装 Home Assistant(容器模式)​

  1. 创建挂载目录 用于持久化配置文件:
mkdir -p ~/homeassistant/config
  1. 启动容器 运行以下命令启动 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​

  1. 查看 IP
hostname -I
  1. 通过浏览器访问

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 数据​

  1. 安装 nano 编辑器
sudo apt install nano -y
  1. 编辑 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 → 回车(保存)
  • Ctrl + X(退出)
  1. 编辑 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 → 回车(保存)
  • Ctrl + X(退出)
  1. 保存并退出后,重启 Home Assistant
docker restart homeassistant

reCamera 的配置(以 2002w 版本为例)​

将 reCamera 插入电脑后,访问 192.168.42.1​

如果多次尝试仍无法打开界面,请参考 Factory Reset 部分对设备进行重置。重置完成后再次访问 192.168.42.1。重置后会提示你修改密码。

登录后,点击右下角进入 "Workspace"​

进入 Workspace 后,配置节点。​

新增了四个节点:"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 节点。在这里,我们需要修改三个区域:

选项设置值
请求方法POST
URL 地址http://<your IP>:8123/api/webhook/recamera_detection
响应JSON 对象

设置完成后,点击右上角的 "Deploy" 按钮。部署成功后会有提示。

这里你还需要执行一步操作,就是将 reCamera 连接到 WiFi。它应与您为 reComputer 设置的网络处于同一网络中(注意,POE 版本不具备 WiFi 功能,需要使用带 POE 功能的交换机连接到同一网段)。

点击左上角的 "Network" 按钮来配置网络。

note

请记住!一定要确保 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
Test from curl

技术支持与产品讨论​

感谢你选择我们的产品!我们将为你提供多种支持,以确保你在使用我们产品的过程中尽可能顺利。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...