
在懒猫微服上把 Eufy 摄像头接入 Home Assistant
这篇教程带你一步步把 Eufy Security 摄像头(包括 2C Pro 这类电池款)接入跑在懒猫微服上的 Home Assistant。搞完之后就能看实时画面,电池摄像头也会在检测到移动时自动唤醒。
https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.eufy-security-ws
## 原理简介
```
Eufy 云端 ──── eufy-security-ws(懒猫应用) ──── Home Assistant(懒猫应用)
端口 3000(宿主网络) Eufy Security 集成(HACS)
```
`eufy-security-ws` 是个 WebSocket 桥接服务,用你的账号连到 Eufy 云端,帮摄像头建立 P2P 流,同时给 HA 的 Eufy Security 插件提供本地接口。它直接跑在懒猫盒子宿主网络的 3000 端口上。
## 开始前准备
- 懒猫微服上已经装好并在跑的 Home Assistant
- 一个**专用 Eufy 小号** —— 新建一个 Eufy 账号,把摄像头共享给它用。别用主账号,桥接服务会一直占着登录状态,容易和手机上的 Eufy App 打架。
- 你的 Eufy 云端区域代码(比如 `AU`、`US`、`DE`、`GB`)
---
## 第一步 —— 装好 Eufy Security WS
1. 打开懒猫盒子的**应用商店**,搜索 **Eufy Security WS** 安装。
2. 安装后第一次打开会让你填几个参数:
- **Eufy 账号用户名** —— 小号的邮箱
- **Eufy 账号密码** —— 小号的密码
- **国家代码** —— 你的区域(比如 `AU`),不确定就留空用默认值
这些信息以部署参数的方式存在懒猫里,以环境变量注入容器,不会写死进镜像。

3. 在懒猫应用管理界面启动 **Eufy Security WS** 项目。
4. 看一下日志,确认连上了:
```
lzc-cli project log eufy-security-ws
```
看到 Eufy 云端连接成功的日志就没问题。
---
## 第二步 —— 用局域网端口转发工具暴露端口
HA 的 Eufy Security 集成需要直接 TCP 连到 WebSocket 服务。用局域网端口转发工具把 eufy-security-ws 的端口映射出来,HA 才能连上它。
1. 打开懒猫盒子上的**局域网端口转发工具**。
2. 新增一条转发规则:
- **目标应用:** 选择 `eufy-security-ws`,服务选 `ws`,端口填 `3000`
- **导出网卡:** 选择**微服虚拟网卡**
- **导出端口:** 随意选一个可用端口(比如 `3003`),记下来,后面要填到 HA 里
- 保存。

---
## 第三步 —— 在 Home Assistant 里装 HACS
已经装了 HACS 的话直接跳过这步。
1. 打开 **Home Assistant**。
2. 按 [HACS 安装指南](https://hacs.xyz/docs/use/)装好 HACS。
3. 装完重启 HA,走完 HACS 初始化流程。
---
## 第四步 —— 装 Eufy Security 集成
1. 在 HA 里进 **HACS → 集成**。
2. 搜索 **Eufy Security**,安装。
3. 按提示重启 HA。
---
## 第五步 —— 把 Home Assistant 连上 eufy-security-ws
1. 进 **设置 → 设备与服务 → 添加集成**。
2. 搜索 **Eufy Security** 选中。
3. 填连接信息:
- **Host(主机):** `host.lzcapp`
- **Port(端口):** 第二步里设置的导出端口(比如 `3003`)
- **TLS:** 关闭
4. 提交,HA 就会连上桥接服务了。
等几秒钟,你的 Eufy 设备就会出现——摄像头、移动传感器、门铃之类的都有。

---
## 第六步 —— 给电池摄像头加上按需唤醒自动化
电池款 Eufy 摄像头(2C、2C Pro 等)平时会深度睡眠省电,HA 默认没法直接拉睡着的摄像头的流。下面两条自动化会在检测到移动时唤醒摄像头,移动结束后再让它休眠。
进 **设置 → 自动化与场景 → 创建自动化 → 以 YAML 编辑**,把下面的内容粘进去。把 `entity_id` 列表换成你自己摄像头和移动传感器的实体 ID。
### 自动化 1 —— 检测到移动,唤醒摄像头
```yaml
alias: Eufy wake camera on motion
description: Turn on camera when motion detected to start P2P stream
mode: parallel
max: 4
triggers:
- trigger: state
entity_id:
- binary_sensor.side_motion_detected
- binary_sensor.garage_motion_detected
- binary_sensor.backyard_motion_detected
- binary_sensor.backyard_2_motion_detected
to: 'on'
conditions: []
actions:
- action: camera.turn_on
target:
entity_id: >-
{{ trigger.entity_id
| replace('binary_sensor.', 'camera.')
| replace('_motion_detected', '') }}
```
### 自动化 2 —— 移动结束,摄像头回去睡觉
```yaml
alias: Eufy sleep camera after motion clears
description: Turn off camera when motion clears to preserve battery
mode: parallel
max: 4
triggers:
- trigger: state
entity_id:
- binary_sensor.side_motion_detected
- binary_sensor.garage_motion_detected
- binary_sensor.backyard_motion_detected
- binary_sensor.backyard_2_motion_detected
to: 'off'
for:
seconds: 30
conditions: []
actions:
- action: camera.turn_off
target:
entity_id: >-
{{ trigger.entity_id
| replace('binary_sensor.', 'camera.')
| replace('_motion_detected', '') }}
```
此 App 尚未收到足够的评分或评论,无法显示评论列表。