用 Frigate 识别车辆停入车道并通过 HA 推送手机告警与语音播报
Frigate 负责摄像头区域检测,HA 把告警分发到手机并交给 LLM 语音播报
方案简介
本方案是一套「摄像头视觉触发 + 智能家居联动」的车道停车告警系统。作者在自家 Bear Stone Smart Home 中,使用 Frigate 对 Wyze 摄像头视频流做实时目标检测,当一辆车进入专门划定的车道区域并停留超过 30 秒(即「loitering threshold」)时,判定为「停车」事件并触发 Home Assistant 中的自动化 driveway_parked_car。随后 HA 把这条带摄像头画面佐证的告警推送到两台手机,并把可选的文字内容送入 LLM 语音引擎进行播报,从而在不开手机 App 的情况下也能听到车道有车驶入。该方案面向已经部署 Home Assistant + Frigate 的进阶用户,目的是把 NVR 级目标检测能力转化为日常可用的家庭安防/便利通知,而不是提供一个 turnkey 一键克隆包。
来源定位:仓库自述为「Live, personal Home Assistant configuration shared for browsing and inspiration. This is not a turnkey clone-and-run setup」,并将该示例放在「Latest video: Get a Driveway Car Alert with Frigate + Home Assistant」作为最新推荐。
亮点与能力
本方案能提供以下实际能力(均来自 README 与 yaml 链接的明确描述):
- 在 Wyze 摄像头的 RTSP 视频流上跑 Frigate 目标检测,识别车辆目标
- 通过专门划定的「car-specific driveway zone」车道区域过滤非车辆目标,降低误报
- 使用 30 秒 loitering(滞留)阈值判断「短暂驶过」与「真正停入」的区别
- 触发后向两台手机推送带摄像头画面佐证的告警
- 可选地把告警文本送入 LLM 语音引擎做语音播报
- 全部逻辑以单一 YAML 文件
config/automation/driveway_parked_car.yaml承载,便于复制/改造 - 摄像头接入链路与 Frigate 容器均运行在独立 Docker 主机上,提升稳定性
组成与分工
本配方由以下成员组成,每个成员承担一个明确角色:
- Wyze Bridge(wyze-bridge):把 Wyze 摄像头的私有协议转成标准 RTSP 流,运行在
docker_10上,对外暴露192.168.10.10:8554,作为整条视频链路的稳定接入点 - Frigate:开源 NVR/目标检测引擎,运行在
docker_14,消费上面的 RTSP 流,负责「车道区域 + 车辆目标 + 30 秒滞留」的实际检测逻辑 - Home Assistant:智能家居中枢,承载
config/automation/driveway_parked_car.yaml自动化,把 Frigate 触发事件转化为可执行的告警与播报 - LLM speech engine:可选组件,负责把告警文本转成自然语音并在家庭音箱/设备上播报
- Docker / Compose:底层容器运行时,分别承载 wyze-bridge 与 Frigate 两个容器
- 手机客户端(两台手机):HA 推送告警的目标终端,提供带摄像头画面佐证的通知
依据来源:README「Platform」段明确给出了 wyze-bridge / Frigate 的运行位置与 RTSP 地址;「Latest video」段给出了告警分发目标与 LLM 语音引擎的角色。
前置要求
运行本方案需要的环境与前置依赖:
- 一台或多台运行 Docker / Docker Compose 的主机(作者使用
docker_10与docker_14两台分离部署以追求稳定性) - 已经在 Home Assistant 中跑通且暴露自动化目录
config/automation/ - 一个可被 Frigate 访问的 RTSP 视频源,作者使用 wyze-bridge 暴露的
192.168.10.10:8554 - Frigate 自身已配置好 mqtt/与 HA 集成的必要参数,使 HA 能接收到 zone+object 触发事件
- 至少一台用于接收 HA 推送的手机
- 可选:本地或云端的 LLM 语音引擎(用于「route the optional announcement」),未配置时仅推送手机通知也能跑通
- 注意:本仓库 README 明说「This is not a turnkey clone-and-run setup; borrow ideas, adapt entity IDs/secrets, and test in your own environment.」,没有提供一键安装命令,需要自行适配实体 ID 与密钥
实施步骤
1. 准备 Wyze 摄像头 RTSP 流
通过 wyze-bridge 容器把 Wyze 摄像头转成 RTSP,对外地址形如:
192.168.10.10:8554
确认该地址在 Frigate 所在主机上可达。
2. 部署 Frigate 并指向 RTSP
Frigate 运行在独立 Docker 主机 docker_14 上,其 cameras/inputs 指向第 1 步的 RTSP 地址。
3. 在 Frigate 中划定车道区域
为摄像头建立「car-specific driveway zone」,并把检测目标限定为 car,避免行人/宠物等触发。
4. 设置 30 秒 loitering 阈值
让「驶过不停」不触发,把「停入车道」与「路过」区分开。
5. 在 HA 中放入自动化
将示例自动化放入仓库路径:
config/automation/driveway_parked_car.yaml
并根据自身环境替换其中的 entity_id、device、notify 服务等。
6. 配置手机推送目标
在自动化中同时向两台手机发送带摄像头佐证的告警(push notification + 缩略图/附件)。
7. (可选)接入 LLM 语音引擎
将告警文本经 LLM speech engine 转换为语音输出,作为可选的二次通知通道。
使用与配置要点
跑通后,日常使用要点:
- 当一辆车进入划定的车道区域并停留 ≥ 30 秒,Frigate 会发出 zone+object 事件
- HA 的
driveway_parked_car.yaml自动化被触发,同时向两台手机推送带画面的告警 - 若已配置 LLM 语音引擎,告警文本会经其朗读,实现「不用看手机也能听到」的效果
- 若只是路过或临时停靠几秒(未达到 30 秒阈值),不会触发告警,起到去抖动作用
- 想调整灵敏度时,优先改 Frigate 的 loitering 阈值与 zone 边界,而不是改 HA 自动化逻辑
注意事项与常见问题
材料中提示的限制与注意事项:
- 本仓库不是一键安装包:「This is not a turnkey clone-and-run setup; borrow ideas, adapt entity IDs/secrets, and test in your own environment.」
- 运行时产物(数据库、日志、
deps/、.venv/、备份等)被.gitignore隐藏,仓库内看不到,需自行重建secrets.yaml - 摄像头接入链路被显式拆到独立 Docker 主机(
docker_10/docker_14),是为了「stability」,意味着单机部署也能跑,但作者推荐分离部署 - 告警文本和语音是「optional announcement」,未配置 LLM 语音引擎时方案仍可工作,只是没有语音通道
- 复用本示例时必须按自身环境调整 entity ID、密钥与通知服务,否则不会触发
优缺点
- ✓ 告警同时推送手机与语音
- ✓ 使用专用车道区域降低误报
- ✕ 依赖 wyze-bridge 与 Fri
- ✕ 非开箱即用需自配实体
出处
本方案挖掘自开源项目 CCOSTAN/Home-AssistantConfig,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。