新闻详情

新闻详情

首页 / 资讯中心 / 详情

motionEye 快照动作(motioneye.snapshot)完全指南:触发静态抓图、配置目标与自动化实战

发布时间:2026/9/17 7:40:36来源:尧图网络
motionEye 快照动作(motioneye.snapshot)完全指南:触发静态抓图、配置目标与自动化实战
motionEye 快照动作motioneye.snapshot完全指南触发静态抓图、配置目标与自动化实战【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iomotioneye.snapshot 是 Home Assistant 官方文档中 motionEye 集成提供的便捷动作action用于在单台或多台 motionEye 摄像头上触发静态快照still snapshot典型场景是在检测到运动时把当前画面保存为图片文件。本文以 motioneye.snapshot 动作文档 为骨架结合 motionEye 集成文档 与相邻动作文档完整讲解该动作的 UI 配置、YAML 写法、目标target机制、底层实现关系以及可直接落地的自动化示例。动作概述这个动作解决什么问题motionEye 是一个基于 motion 守护进程的开源摄像头管理前端而 Home Assistant 的 motionEye 集成ha_domain: motioneye自 2021.5 版本起提供将其纳入智能家居体系。motioneye.snapshot就是该集成暴露给自动化与脚本的三个动作之一另外两个是motioneye.action与motioneye.set_text_overlay。该动作的核心用途非常聚焦主动抓图随时让指定摄像头输出一张静态快照。事件联动抓图例如结合 motionEye 上报的运动检测事件在检测到运动时立即保存一帧画面到磁盘作为事后取证的依据。批量抓图通过目标的多种粒度的选择一次调用即可覆盖多个摄像头。从动作语义上看motioneye.snapshot本质上是motioneye.action动作在action: snapshot场景下的便捷快捷方式convenient shortcut——原文档对此有明确说明。这意味着如果你需要更精细的控制可以直接改用motioneye.action并传入其他动作值。前置条件先完成 motionEye 集成配置在使用本动作之前需要先在 Home Assistant 中配置好 motionEye 集成。根据 motionEye 集成文档集成通过配置流config flow完成核心配置项如下配置项说明urlmotionEye 服务器的 URL注意不是摄像头视频流的 URLadmin_usernamemotionEye 管理员账号用户名用于修改摄像头设置admin_password管理员账号密码surveillance_usernamemotionEye 监控surveillance账号用户名用于认证视频流surveillance_password监控账号密码集成配置完成后会生成三类实体camera展示 motionEye 视频流的 MJPEG 摄像头实体如camera.office。switch用于启用/禁用运动检测、文字叠加、视频流、静态抓图、录像及上传等功能的开关实体。sensor显示该设备已配置的 action 按钮 数量的动作传感器可用动作名称可在该传感器实体的actions属性中查看。需要注意如果视频流开关被关闭摄像头实体以及作用于该摄像头的动作会变为不可用集成其余功能不受影响。因此使用motioneye.snapshot前请确认目标摄像头的视频流处于开启状态。在 UI 中调用该动作如果你更习惯可视化构建自动化与脚本可以完全不用写 YAML。参照原文档操作步骤如下进入设置 自动化与场景Settings Automations scenes。打开一个现有的自动化或脚本若从零开始选择创建自动化创建新自动化。如果是新建自动化在何时When部分添加一个触发器脚本不需要触发器它们在被其他元素调用时才会执行。在然后执行Then do部分选择添加动作Add action。选择要控制的对象在目标By target下详见下文目标机制一节选择你想要获取快照的 motionEye 摄像头。在该目标展示的动作列表中选择快照Snapshot。点击保存Save。关于 UI 中的选项该动作除了目标之外没有额外的 UI 选项界面非常精简——选中目标、选定动作、保存即可。在 YAML 中调用该动作在 YAML 中该动作的标识符为motioneye.snapshot。原文档给出的基础示例如下action: motioneye.snapshot target: entity_id: camera.office以上配置会在camera.office摄像头上触发一次快照。如果是在自动化或脚本的actions列表中编写与文档中的嵌套写法一致actions: - action: motioneye.snapshot target: entity_id: camera.office参数说明action固定为motioneye.snapshot。target必填的目标字段用于指定要抓图的摄像头实体。数据字段data该动作没有额外的 YAML 选项所有能力都由目标选择承担因此无需、也无法传入其他数据参数。补充直接调用与 action 简写的关系如果你想确认底层真正发生了什么可以对比 motioneye.action 动作文档 中的等价写法action: motioneye.action target: entity_id: camera.office data: action: snapshot这两段 YAML 的效果一致——后者显式指定了data.action: snapshot前者则是它的封装。motioneye.action支持的全部动作值包括snapshot、record_start、record_stop、lock、unlock、light_on、light_off、alarm_on、alarm_off、up、right、down、left、zoom_in、zoom_out以及preset1至preset9。已知限制根据 motionEye 集成文档的 Good to know 说明record_start与record_stop在 motionEye 本身中只实现了部分功能因此行为不符合预期——这解释了为什么快照功能有专门的封装动作而录像相关的动作没有。目标机制Targets一台还是多台摄像头该动作必须有目标target。目标即动作的作用对象你可以将动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对该目标背后的每一个匹配的camera实体执行动作。根据 actions/targets.md可选的目标粒度包括实体Entity某一个具体的摄像头实体例如camera.living_room。设备Device属于某台设备的全部摄像头实体。区域Area某个房间/区域内的全部摄像头实体。楼层Floor某一楼层上的全部摄像头实体。标签Label共享某一标签的全部摄像头实体。你还可以在同一动作中混合不同目标类型例如同时指定一个具体实体和一个区域让动作一次性对两者生效。这在多摄像头监控场景中非常实用一条motioneye.snapshot动作即可让整层楼的摄像头同时抓图。实战示例检测到运动时自动抓图motioneye.snapshot最常见的落地场景正是原文档导读中提到的检测到运动时保存图像。motionEye 集成支持通过 webhook 把事件回调到 Home Assistant并在收到回调后触发事件。集成文档中给出了两类事件motioneye.motion_detected检测到运动。motioneye.file_stored媒体文件被存储。事件数据中包含 Home Assistant 的device_id、设备name、以及尽量多的 Motion Conversion Specifiers如changed_pixels、width、height、fps、motion_version等。对于文件存储事件还会自动附带media_content_id可直接用于媒体播放器播放的标识与file_url媒体的原始 URL。下面的自动化示例把运动检测与快照抓取直接串联起来- alias: Save snapshot when motion detected triggers: - trigger: event event_type: motioneye.motion_detected event_data: # 可选只响应某个摄像头 # name: Office actions: - action: motioneye.snapshot target: entity_id: camera.office当 motionEye 上报运动检测事件后Home Assistant 立即对camera.office触发一次静态快照。由于 motionEye 的file_stored事件会携带file_type字段图片小于 8视频为其他值你还可以进一步区分图片与视频文件例如参考集成文档中的自动播放存储影片示例- alias: Cast motionEye movie clips triggers: - trigger: event event_type: motioneye.file_stored event_data: file_type: 8 # 仅处理视频 actions: - action: media_player.play_media target: entity_id: media_player.kitchen_tv data: media_content_id: {{ trigger.event.data.media_content_id }} media_content_type: video需要说明的是若要让motioneye.motion_detected与motioneye.file_stored事件正常产生集成选项中配置 motionEye webhooks 回调 Home Assistant必须开启或手动在 motionEye 中配置相应 webhook。若手动修改 webhook注意不要删除srchass-motioneye参数否则该 webhook 会被集成覆盖。注意事项与故障排查视频流开关如集成文档所述视频流开关关闭后摄像头实体及相关动作不可用请检查switch.name_video_streaming状态。MJPEG 流可达性摄像头实体的 MJPEG 流需要 Home Assistant 能直接访问motioneyehost:streaming port。如果 motionEye 位于反向代理之后或流端口被防火墙隔离可在集成选项中使用Stream URL template覆盖默认流地址支持 Jinja2 模板可使用 motionEye 摄像头字典中的name、id等变量但模板中不可用 Home Assistant 状态。多摄像头共用根目录如果多个摄像头在 motionEye 中配置了相同的文件存储根目录媒体浏览器会把它们的媒体合并展示如需正确归属请为各摄像头使用独立的File Storage - Root Directory。排查手段在configuration.yaml中开启如下日志可看到集成与底层客户端库的详细调用过程便于确认快照请求是否真正发出logger: default: warning logs: motioneye_client: debug homeassistant.components.motioneye: debug相关动作motioneye.snapshot通常与 motionEye 集成的其他两个动作配合使用形成完整的监控自动化闭环motioneye.action触发 motionEye 动作通用的动作入口可触发快照、云台控制上下左右、缩放、预设位preset1–preset9、灯光与报警开关等motioneye.snapshot即其snapshot值的快捷封装。motioneye.set_text_overlay设置文字叠加设置摄像头画面左右两侧的叠加信息时间戳、摄像头名、自定义文本或关闭。注意该动作会重置 motionEye 摄像头导致视频流、录像与运动检测短暂中断且需要打开Text overlay开关叠加内容才会显示。三者配合的典型场景是motioneye.snapshot在运动时抓取证据画面motioneye.set_text_overlay在布防/撤防时在画面上标注状态motioneye.action负责云台追踪与预设位切换。无论通过 UI 还是 YAML掌握motioneye.snapshot的调用方式都能快速为现有 motionEye 监控体系补上运动即取证的关键一环。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

视网膜血管分割数据集详解:DRIVE、STARE等五大公开基准对比与预处理实践 2026/9/17 8:31:44

视网膜血管分割数据集详解:DRIVE、STARE等五大公开基准对比与预处理实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Python+Django构建高性能广告平台架构设计 2026/9/17 8:31:44

Python+Django构建高性能广告平台架构设计

1. 广告服务型互联网平台架构设计当我们需要构建一个广告服务型互联网平台时,PythonDjango的组合无疑是一个高效且可靠的选择。我在实际项目中多次采用这种技术栈,发现它特别适合快速开发和迭代广告系统。Django的MTV模式(Model-Template-Vie…

阅读更多 →
车载音频动态路由技术:AudioMixingRule设计与实现 2026/9/17 8:31:44

车载音频动态路由技术:AudioMixingRule设计与实现

1. 车载音频系统的动态路由挑战现代车载信息娱乐系统早已不是简单的收音机CD播放器组合,而是需要同时处理导航提示、蓝牙通话、多媒体播放、系统警告音、语音助手交互等多种音频源的复杂系统。这些音频源具有不同的优先级、播放场景和混音需求,比如导航提…

阅读更多 →
影刀RPA Excel多条件筛选与数据提取实战 2026/9/17 8:31:44

影刀RPA Excel多条件筛选与数据提取实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
电源芯片测试座接触稳定性深度解析 2026/9/17 8:31:44

电源芯片测试座接触稳定性深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Claude Subconscious 智能体标签设计解读:git-memory-enabled 与 origin 标记如何让 AI 记忆“有据可查“ 2026/9/17 8:28:44

Claude Subconscious 智能体标签设计解读:git-memory-enabled 与 origin 标记如何让 AI 记忆“有据可查“

Claude Subconscious 智能体标签设计解读:git-memory-enabled 与 origin 标记如何让 AI 记忆"有据可查" 【免费下载链接】claude-subconscious Give Claude Code a subconscious 项目地址: https://gitcode.com/GitHub_Trending/cl/claude-subconscious…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞