news 2026/9/15 17:20:05

Home Assistant Agent DVR 连续录像实战:agent_dvr.start_recording 动作完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant Agent DVR 连续录像实战:agent_dvr.start_recording 动作完整指南

Home Assistant Agent DVR 连续录像实战:agent_dvr.start_recording 动作完整指南

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

Agent DVR 是一款可运行在 Windows、macOS 与 Linux 上的免费软件 DVR 方案,支持对接大量第三方摄像头并内置高级运动检测(含 DeepStack 物体识别)。本文基于 Home Assistant 官方文档中agent_dvr.start_recording动作的完整说明,系统讲解如何在自动化与脚本中控制 Agent DVR 摄像头开始连续录像,覆盖 UI 可视化配置、YAML 直写、目标选择(Targets)与配套动作,帮助你搭建"检测到异常即开始录像"等典型安防场景。

前置条件:先接入 Agent DVR 集成

agent_dvr.start_recording属于 Agent DVR 集成(ha_domain: agent_dvr,集成类型为 hub,包含alarm_control_panelcamera两种平台)提供的动作。要使用它,你首先需要将 Agent DVR 服务器添加到 Home Assistant:

  • 在集成配置界面输入 Agent DVR 服务器的 IP 与端口,格式如http://192.168.1.3:8090/
  • 若在 Agent DVR 服务器上开启了 "Protect API" 功能,可将用户名密码一并写入 URL,例如http://username:password@192.168.1.3:8090
  • 官方文档特别强调:请确保使用 Agent DVR v2.6.1.0 及以上版本

从实现层面看,该集成通过配置流(config flow)完成接入(见 source/_integrations/agent_dvr.markdown 中的ha_config_flow: true),接入后每个摄像头会以camera.*实体形式暴露给 Home Assistant,agent_dvr.start_recording动作正是作用在这些摄像头实体上。

动作概览:start_recording 做什么

根据 agent_dvr.start_recording 动作文档 的定义:

使用该动作在 Agent DVR 摄像头上开始连续录像(continuous recording)。录像会持续进行,直到你用agent_dvr.stop_recording动作将其停止。

两个关键事实需要明确:

  1. "连续录像"是持续行为:该动作一旦执行,录像不会自动结束,必须由配套的agent_dvr.stop_recording动作显式停止;
  2. 存储发生在 Agent DVR 侧:录像文件由 Agent DVR 服务端负责捕获与存储,Home Assistant 只负责下发控制指令,因此录像的码流、存储策略与告警行为均遵循 Agent DVR 自身的配置。

动作元数据中声明了相关动作(related_actions):agent_dvr.stop_recordingagent_dvr.snapshot,分别对应停止录像与抓拍快照,构成一组完整的事件取证能力。

从 UI 中使用该动作(自动化与脚本)

如果你倾向可视化配置,Home Assistant 会在编辑器中逐步引导你完成设置——选择目标、调整选项、保存即可,无需掌握 YAML。官方文档给出的操作步骤如下:

  1. 进入Settings > Automations & scenes(自动化与场景);
  2. 打开已有的自动化或脚本,或选择Create automation>Create new automation新建;
  3. 若在新建自动化,需先在When(触发条件)部分添加触发器;脚本则不需要触发器,脚本在被其他东西调用时才会运行;
  4. Then do(执行动作)部分,选择Add action(添加动作);
  5. 选择你要控制的对象:在By target(按目标,详见下文"Targets")下选择你的 Agent DVR 摄像头;
  6. 从该目标可用的动作列表中,选择Start recording(开始录像);
  7. 点击Save(保存)。

UI 选项说明:该动作在 UI 中没有额外的选项字段("This action has no additional options in the UI"),你只需要指定目标即可。这与同域其他动作(stop_recordingsnapshotenable_alertsdisable_alerts)保持一致。

在 YAML 中使用该动作

如果你直接编写 YAML,或希望精确了解 Home Assistant 底层的行为,本节提供技术参考,列出 YAML 中的字段名、类型与必填项。在 YAML 中,动作名称为agent_dvr.start_recording,官方给出如下最小可运行示例:

action: agent_dvr.start_recording target: entity_id: camera.living_room

该动作只有一个必填要素——target(目标),且无额外参数。你可以将此动作直接嵌入自动化或脚本中,例如结合运动检测传感器:

alias: 门口检测到人时开始录像 triggers: - trigger: state entity_id: binary_sensor.front_door_motion to: "on" actions: - action: agent_dvr.start_recording target: entity_id: camera.front_door

请务必同时规划停止录像的动作(见下文"停止录像与配套动作"),否则录像将持续占用存储空间。

Targets:动作的作用对象

根据 actions/targets.md 模板,agent_dvr.start_recording需要指定一个 target,它是动作的作用对象。你可以将动作指向单个实体、设备、区域、楼层或标签,Home Assistant 会对该目标背后的每一个匹配camera实体执行动作。可选的目标类型:

  • Entity(实体):某一个具体的camera实体,例如camera.living_room
  • Device(设备):属于某台设备的所有camera实体;
  • Area(区域):某个房间或区域内的所有camera实体;
  • Floor(楼层):某一楼层上的所有camera实体;
  • Label(标签):共享某个标签的所有camera实体。

你还可以在同一个动作中混合选择不同类型的目标,例如同时指定一个具体实体和一个区域,让动作对二者同时生效。这一机制让你可以一条动作同时启动多路摄像头录像,例如"全屋布防时对所有室外摄像头开始录像"。

停止录像与配套动作

agent_dvr.start_recording启动的连续录像不会自己停止,配套动作是 agent_dvr.stop_recording:它停止此前通过start_recording开始的连续录像。YAML 写法对称:

action: agent_dvr.stop_recording target: entity_id: camera.living_room

同一动作族中还有两个常用能力,便于组合成完整的安防取证流程:

  • agent_dvr.snapshot:在 Agent DVR 摄像头上拍摄一张照片,快照由 Agent DVR 捕获并存储;
  • agent_dvr.enable_alerts / agent_dvr.disable_alerts:启用/禁用 Agent DVR 的告警事件(例如检测到运动时产生告警事件),实现按需开关事件通知。

参考的实战组合:运动传感器触发时先enable_alertsstart_recording,运动消失后stop_recording,需要时再snapshot固定现场画面。此外,Agent DVR 摄像头同样支持标准 camera 动作,例如开关摄像头与切换运动检测,可将录像控制与开关控制分层使用。

立即测试动作

如果你想在不写任何 YAML 的情况下验证效果,可以打开Settings > Tools > Actions(开发者工具中的动作面板,即文档中所述 Actions 工具),搜索该动作,填写字段后点击Perform action(执行动作),即可在你真实的实体上观察结果。

排错建议

如果动作没有按预期生效,可按以下方向排查:

  • 确认版本与连接:Agent DVR 需为 v2.6.1.0+,且 Home Assistant 与 Agent DVR 服务器网络互通(该集成属于 Local Polling 本地轮询类型);
  • 确认目标实体target中填写的实体必须是对应 Agent DVR 摄像头的camera.*实体,可通过 UI 中的目标选择器核对实际实体 ID;
  • 确认录像确实在"连续"模式:该动作启动的是连续录像而非事件录像,停止动作必须显式调用agent_dvr.stop_recording
  • 查看日志与社区:如果问题依旧,可在 Home Assistant 官方社区渠道(Discord、社区论坛或 subreddit)发帖,附上你调用的动作、目标实体与预期行为,便于他人快速定位。

小结

agent_dvr.start_recording是 Home Assistant 控制 Agent DVR 摄像头连续录像的核心动作:它通过 UI 与 YAML 两种方式都可使用,唯一的必填参数是 target,配合stop_recordingsnapshot与告警开关动作,即可构建从"检测事件 → 开始录像 → 抓拍取证 → 停止录像"的完整自动化链路。对以本地存储、无需端口转发的 Agent DVR 用户而言,这是把第三方摄像头接入 Home Assistant 自动化体系最直接的一环。

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 17:20:03

Hive Metastore 高可用与性能优化:提升查询效率与系统稳定性

Hive Metastore 高可用与性能优化:提升查询效率与系统稳定性 1. Hive Metastore 架构问题与独立部署方案 1.1 传统架构痛点分析 Hive Metastore 作为元数据管理中心,其性能直接影响整个 Hive 查询效率。传统架构中,Metastore 通常与 HiveServ…

作者头像 李华
网站建设 2026/9/15 17:19:58

Unity简约风UGUI动效:弹簧参数驱动的Q弹UI插件设计

简介:面向Unity开发者的UGUI插件资源包,主打动效UI、简约风格与Q弹动画,可帮助游戏和应用开发者高效搭建交互界面、提升视觉体验与用户沉浸感。压缩包共1969个文件、14.34MB大小,包含221个预制体、111个C#脚本、83个动画、49个动画…

作者头像 李华
网站建设 2026/9/15 17:18:26

Kimi K2 本地部署教程:1T 参数开源智能体模型的最小运行门槛

Kimi K2 本地部署教程:1T 参数开源智能体模型的最小运行门槛 【免费下载链接】Kimi-K2 Kimi K2 is the large language model series developed by Moonshot AI team 项目地址: https://gitcode.com/GitHub_Trending/ki/Kimi-K2 Kimi K2 是 Moonshot AI 开源…

作者头像 李华
网站建设 2026/9/15 17:17:39

导弹混合比例导引与冲击时间控制技术解析

1. 项目背景与核心价值导弹制导技术一直是航空航天领域的核心研究方向。在实战场景中,如何让多枚导弹同时命中目标是一个极具挑战性的问题。传统制导律往往只能保证单枚导弹的命中精度,而冲击时间控制(Impact Time Control)技术则…

作者头像 李华