Home Assistant + RTSP stream (192.168.10.10:8554)+ Docker host (docker_14 / docker_10)+ Frigate+ LLM speech engine

用 Frigate 识别车辆停入车道并通过 HA 推送手机告警与语音播报

Frigate 负责摄像头区域检测,HA 把告警分发到手机并交给 LLM 语音播报

✓ 告警同时推送手机与语音✓ 使用专用车道区域降低误报 ✕ 依赖 wyze-bridge 与 Fri✕ 非开箱即用需自配实体

方案简介

本方案是一套「摄像头视觉触发 + 智能家居联动」的车道停车告警系统。作者在自家 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_10docker_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 原文。

方案出处
CCOSTAN/Home-AssistantConfig::house: Home Assistant configuration & Documentation for my Smart House. Write-
5274 star :house: Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to :star: it. Updated FREQUENTLY!

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。