ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Home Assistant 度假模式布防:alarm_control_panel.alarm_arm_vacation 动作完整实战指南

Home Assistant 度假模式布防:alarm_control_panel.alarm_arm_vacation 动作完整实战指南 Home Assistant 度假模式布防alarm_control_panel.alarm_arm_vacation 动作完整实战指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读alarm_control_panel.alarm_arm_vacation是 Home Assistant 中用于将警报控制面板切换为**度假模式vacation mode**的官方动作。本文以官方动作文档为骨架结合 alarm_control_panel 集成与 MQTT 报警面板的仓库实现系统讲解该动作在 UI 与 YAML 两种场景下的完整用法、Target 定位机制、PIN 码传递细节并提供离家 24 小时自动升级度假模式等可直接复制的自动化与脚本模板帮助你在长期外出场景下获得最高等级的安防布防能力。什么是度假模式布防Arm alarm vacation度假模式布防是 Home Assistant 提供的报警面板控制动作之一。它适用于你即将离家数天甚至数周的场景——度假模式会给你的住宅提供最高级别的防护某些报警面板在该模式下会启用额外的监控能力或更长的警报窗口期。该动作作用于任意支持度假模式的alarm_control_panel实体。在 alarm_control_panel 集成文档 中警报面板的完整状态集包括Disarmed警报关闭传感器未被监控Armed home人在家中时的周界防护门窗被监控室内人体传感器被忽略Armed away无人在家时的全面防护周界与室内传感器全部启用Armed night类似 home 模式但针对睡眠场景调优Armed vacation面向长期外出的扩展防护部分系统会在此模式下启用额外的监控或告警Arming / Pending / Triggered / Disarming布防倒计时、进入延迟、触发、撤防中Unavailable / Unknown实体不可用或状态未知一个关键行为如果警报已经处于度假模式布防状态再次调用该动作不会产生任何效果幂等。同样的语义也适用于撤防等其他动作——如果警报已撤防调用撤防动作不做任何事。前置条件你的面板必须支持度假模式并非所有报警面板都支持度假模式。从仓库源码可以确认两个层面的支持情况MQTT 报警面板alarm_control_panel.mqtt通过supported_features配置项声明能力可选项为arm_home、arm_away、arm_night、arm_vacation、arm_custom_bypass和trigger默认全部启用supported_features: - arm_home - arm_away - arm_night - arm_vacation - arm_custom_bypass - triggerMQTT 面板还通过payload_arm_vacation指定进入度假模式的载荷默认ARM_VACATION其状态载荷armed_vacation是state_topic上的合法取值之一。在集成文档层面alarm_control_panel 集成页 明确说明并非每个报警面板都支持每一种状态或布防模式Home Assistant 只显示你的硬件实际提供的模式。因此在使用度假模式动作前请先确认你的报警面板集成文档中是否声明了arm_vacation能力。从用户界面使用该动作官方动作文档给出了完整的 UI 操作路径对应 actions/ui_header.md 中可视化构建自动化的方式步骤如下进入SettingsAutomations scenes。打开一个已有的自动化或脚本或选择Create新建。若是新建自动化在When何时部分添加触发器脚本不需要触发器它们由其他对象调用时运行。在Then do然后做什么部分选择Add action。选择要控制的对象。在By target目标下选择警报面板所在的区域如门厅、玄关也可以选择楼层、设备、特定实体或标签。从该目标对应的动作列表中选择Arm alarm vacation。可选如果面板要求密码填写Code字段。选择Save保存。UI 中的可选项UI 中该动作只有一个可选参数字段说明必填Code布防警报所需的密码。并非所有报警面板布防时都要求密码否在 YAML 中使用该动作若你直接编写 YAML或想了解 Home Assistant 在底层到底做了什么可以参考 actions/yaml_header.md 所述的技术参考——它列出了 YAML 字段名、类型与是否必填。动作标识符为alarm_control_panel.alarm_arm_vacation。最基本的示例不需要密码action: alarm_control_panel.alarm_arm_vacation target: entity_id: alarm_control_panel.home_alarm上述示例将alarm_control_panel.home_alarm切换为度假模式布防无需密码。如果面板要求密码将其放入data部分action: alarm_control_panel.alarm_arm_vacation target: entity_id: alarm_control_panel.home_alarm data: code: 1234YAML 参数表参数说明必填类型code布防警报所需的密码。并非所有报警面板布防时都要求密码否string理解 Targets动作目标该动作必须指定目标target。目标就是动作的作用对象你可以将动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对目标背后所有匹配的alarm_control_panel实体执行动作。依据 actions/targets.md 的说明Entity某个具体的alarm_control_panel实体如alarm_control_panel.living_roomDevice某设备旗下的所有alarm_control_panel实体Area某个房间或区域内的所有alarm_control_panel实体Floor某个楼层上的所有alarm_control_panel实体Label共享某个标签的所有alarm_control_panel实体同一个动作里可以混用多种目标类型——例如同时指定一个具体实体和一个区域动作会对两者一并执行。实战示例一脚本——一键进入度假布防创建一个离家度假脚本把警报切换为度假模式。同一个脚本中还可以另行添加其他出门任务关灯、关水阀等。参考 actions/more_examples.md 中的说明该脚本可以直接复制到你的配置中并替换实体 IDActionAlarm control panel: Arm alarm vacationTargetHome alarmalarm_control_panel.home_alarmCode1234YAML 版脚本action: alarm_control_panel.alarm_arm_vacation target: entity_id: alarm_control_panel.home_alarm data: code: 1234实战示例二自动化——离家 24 小时后自动升级度假模式如果所有人离家已满一天自动化自动将警报从 away 模式升级为 vacation 模式无需在出发前记得手动切换。该自动化使用zone.occupancy_cleared触发器Home 区域zone.home占用清空并设置for: 24:00:00持续时间TriggerZone occupancy clearedZone:zone.homeFor at least: 24:00:00ActionAlarm control panel: Arm alarm vacationTargetHome alarm完整 YAML 自动化alias: Arm vacation after 24 hours away triggers: - trigger: zone.occupancy_cleared options: zone: zone.home for: 24:00:00 actions: - action: alarm_control_panel.alarm_arm_vacation target: entity_id: alarm_control_panel.home_alarm data: code: 1234Good to know使用要点与底层原理以下是官方文档标注的关键注意事项结合仓库实现进一步深化适用范围该动作作用于 Home Assistant 中任何支持度假模式的alarm_control_panel实体。是否可用取决于面板能力MQTT 面板对应supported_features中的arm_vacation见 alarm_control_panel.mqtt。度假模式语义为长期外出设计。视面板型号不同它会以更高灵敏度激活所有传感器与防区或延长警笛鸣响时长。是否需要密码取决于报警面板及其配置。当面板要求 PIN 而你在动作中遗漏或输错时动作会静默失败——警报保持原状态且不报错见 alarm_control_panel 集成文档的 PIN 章节。因此在编写自动化时务必确认面板的密码要求避免布防失败却毫无提示。追踪是谁布防的若面板支持实体的changed_by属性会记录最后一次改变警报状态的人名或钥匙扣 ID如 Franck Nijhof可用于通知或自动化中告知家庭成员是谁布防/撤防了警报见 alarm_control_panel 集成文档。模式选择建议短途外出时Arm alarm away 通常已足够返回时使用 Disarm alarm 撤防。此外还有alarm_control_panel.alarm_arm_home在家布防、alarm_control_panel.alarm_arm_night夜间布防等动作可供组合使用。动手验证在 Actions 工具中测试想立刻验证该动作的实际效果打开SettingsToolsActions开发工具中的动作界面搜索alarm_control_panel.alarm_arm_vacation填写字段并选择Perform action。你可以直接在真实实体上观察状态变化无需编写任何 YAML对应 actions/try_it.md 的说明。常见问题排查动作调用后警报没反应检查面板是否支持arm_vacation能力检查是否因遗漏或错误 PIN 导致静默失败检查警报是否已处于度假模式此时动作是幂等的不会重复触发。UI 中找不到该动作只有当目标实体的报警面板声明支持度假模式时Home Assistant 才会展示该动作。需要更精细的防区控制可结合alarm_control_panel.alarm_arm_custom_bypass自定义旁路布防实现布防整个系统但跳过某扇窗的场景。若问题依旧可携带动作调用内容与预期行为前往 Home Assistant 社区论坛、Discord 或 /r/homeassistant 子版块求助见 actions/stuck.md。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表