Home Assistant Netatmo 离家标记动作 netatmo.set_person_away 完整使用指南
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
导读
netatmo.set_person_away是 Home Assistant Netatmo 集成提供的官方动作(action),用于将指定人员标记为"离家"状态,适用于 Netatmo Indoor(Welcome)室内摄像头。阅读本文后,你将掌握该动作在 UI 与 YAML 两种方式下的完整配置方法、person参数的边界行为、目标(target)选择规则,以及它与netatmo.set_persons_home、netatmo.set_camera_light等相关动作的配合方式,从而在自动化与脚本中实现基于人员在场状态的家庭安防联动。
动作定位:面向 Netatmo Indoor 摄像头的人员在场管理
在 Home Assistant 中,Netatmo 集成通过官方文档(source/_integrations/netatmo.markdown)接入 Netatmo 云服务,支持天气站、室内外摄像头、可视门铃、恒温器等设备,其ha_domain为netatmo,ha_integration_type为hub。
netatmo.set_person_away动作正是围绕Netatmo Smart Indoor(Welcome)摄像头的人脸识别与在场状态能力设计的:摄像头识别人脸后,会维护一个"谁在家、谁不在家"的人员名单,该动作允许你通过 Home Assistant 主动把某个人标记为离家。
该动作在仓库中的定义位于 source/_actions/netatmo.set_person_away.markdown,其 front matter 声明了两个关联动作:
netatmo.set_person_away:将某人标记为离家(本文主题);netatmo.set_persons_home:将一人或多人标记为在家(见 source/_actions/netatmo.set_persons_home.markdown);netatmo.set_camera_light:设置室外摄像头探照灯模式(见 source/_actions/netatmo.set_camera_light.markdown)。
三者共同构成了 Netatmo 摄像头"人员在场 + 灯光联动"的自动化基础能力。
使用场景
- 自动离家联动:检测到全家离家(如门锁状态变化)时,将室内摄像头的人员全部标记为离家,配合摄像头事件触发更精准的安防判断;
- 人员名单同步:家庭成员离开后,手动或通过自动化同步更新 Netatmo 摄像头的人员在场状态,避免误报"有人在家";
- 回家迎接:配合
netatmo.set_persons_home,在成员回家时将其标记为在家,并触发欢迎灯光、空调等场景。
通过 UI 添加动作(Automations & scenes)
在自动化或脚本编辑器中添加该动作的完整步骤如下(与文档中actions/ui_header.md模板一致):
- 进入Settings>Automations & scenes;
- 打开现有自动化或脚本,或选择Create automation>Create new automation;
- 若是新建自动化,在When区域添加触发条件(trigger);脚本无需触发器,脚本在被其他对象调用时运行;
- 在Then do区域选择Add action;
- 选择要控制的对象:在By target(目标选择,见下文"目标(Targets)选择")下选择要控制的 Netatmo Indoor 摄像头;
- 从该目标可用的动作中选择Set person away;
- 可选:填写要标记为离家的Person名称。留空则会将整个家标记为空(即全员离家);
- 选择Save保存。
UI 中的参数
UI 中的唯一可选参数如下:
| 参数 | 说明 | 是否必填 |
|---|---|---|
| Person | 要标记为离家的人员姓名,必须与摄像头已识别/已知的人员完全匹配;留空则将整个家标记为空 | 否(可选) |
通过 YAML 调用动作
在 YAML 中,动作名为netatmo.set_person_away。基础示例如下(来自 source/_actions/netatmo.set_person_away.markdown 的example块):
action: netatmo.set_person_away target: entity_id: camera.living_room data: person: Bob该示例将Bob标记为camera.living_room的离家状态。
在自动化中完整写法如下:
automation: - alias: "Mark Bob as away when the front door locks" triggers: - trigger: state entity_id: lock.front_door to: "locked" actions: - action: netatmo.set_person_away target: entity_id: camera.living_room data: person: Bob说明:若你的 Home Assistant 版本中
data下的参数名采用下划线风格,也可写作person: Bob(本文档定义的参数即为person),以本仓库 source/_actions/netatmo.set_person_away.markdown 为准。
YAML 参数详解
根据文档中的options_yaml定义:
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
person | string | 否 | 要标记为离家的人员姓名,必须与摄像头已知人员匹配;省略该参数则将整个家标记为空 |
不提供 person 时的行为:整屋标记为空
文档"Good to know"部分明确强调了一个关键边界行为:
如果
person留空,则整个家会被标记为空(全员离家),而不是只将单个人员标记为离家。
这意味着:
- 单人参离家:必须传入与摄像头人脸库完全匹配的姓名;
- 全员离家:直接省略
person字段即可,适合"最后一人离开后触发全家离家场景"。
目标(Targets)选择
该动作必须指定目标。目标即动作作用的对象,可以指向实体、设备、区域、楼层或标签,Home Assistant 会对目标背后的所有 Netatmo 实体执行该动作(参见仓库模板 source/_includes/actions/targets.md):
- 实体(Entity):单个具体实体,如
camera.living_room; - 设备(Device):某设备下的全部 Netatmo 实体;
- 区域(Area):某房间/区域内的全部 Netatmo 实体;
- 楼层(Floor):某楼层上的全部 Netatmo 实体;
- 标签(Label):共享某标签的全部 Netatmo 实体。
同一动作中可以混用不同类型的多个目标,例如同时添加一个具体实体和一个区域,动作会对两者都执行。
立即测试:开发者工具
无需编写任何 YAML 即可验证动作效果:进入Settings>Tools>Actions(开发者工具),搜索netatmo.set_person_away,填写字段后选择Perform action,即可在真实实体上观察结果(参见 source/_includes/actions/try_it.md)。
常见问题排查
- 姓名不匹配:
person名称必须与摄像头已知人员完全一致。人员需要在 Netatmo App 中添加并命名(参见netatmo.set_persons_home文档中的说明)。 - 动作不可见/无目标可选:请确认当前 Home Assistant 实例已通过Settings>Devices & services完成 Netatmo 集成配置(
ha_config_flow: true),并已添加 Indoor 摄像头实体。 - 事件联动:若希望基于摄像头人员识别事件自动更新在场状态,可结合
netatmo_eventWebhook 事件或设备触发器("Detected a person"、"Detected a person has left" 等),再调用本动作或netatmo.set_persons_home形成闭环。
与相关动作的组合实战
将set_person_away与set_persons_home搭配,即可实现"离家/回家"双向状态同步:
# 回家:将 Alice、Bob 标记为在家 action: netatmo.set_persons_home target: entity_id: camera.living_room data: persons: - Alice - Bob# 离家:不传 person,将整个家标记为空 action: netatmo.set_person_away target: entity_id: camera.living_room两者的target结构完全一致,唯一差异是参数:set_persons_home使用必填的persons列表(类型list),而set_person_away使用可选的person字符串。若配合netatmo.set_camera_light在夜间运动检测时开启室外探照灯(见 source/_actions/netatmo.set_camera_light.markdown),即可构建一套完整的"人在家状态 + 室外灯光安防"联动体系。
总结
netatmo.set_person_away是 Netatmo 室内摄像头人员在场管理的核心动作:单个person参数即可精确标记某人离家,省略参数则整屋标记为空。掌握 UI 与 YAML 两种配置方式、目标选择规则以及与之配对的set_persons_home,你就能把 Netatmo 的人脸识别能力深度整合进自己的安防与智能场景自动化中。
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考