Home Assistant Verisure 动作实践:用 verisure.disable_autolock 关闭智能门锁自动上锁
2026/9/17 9:27:04 网站建设 项目流程

Home Assistant Verisure 动作实践:用 verisure.disable_autolock 关闭智能门锁自动上锁

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

本文围绕 Home Assistant 文档站仓库中的动作参考页 source/_actions/verisure.disable_autolock.markdown 展开,完整介绍verisure.disable_autolock动作的作用、UI 配置步骤与 YAML 写法,并结合 Verisure 集成文档(source/_integrations/verisure.markdown)、目标(Targets)机制以及相关的lock域动作,帮助你把"临时关闭门锁自动上锁"这一能力真正落地到自动化和脚本中。

1. 动作概述:它到底做了什么

verisure.disable_autolock是 Verisure 集成(domain:verisure)提供的一个设备动作(action),其官方描述为:

Disables autolock on a Verisure Lockguard Smartlock.(在 Verisure Lockguard 智能门锁上禁用自动上锁。)

原文档给出的行为语义非常关键:当自动上锁(autolock)被关闭后,门锁将保持解锁状态,直到有人手动上锁或由另一个动作将其上锁(When autolock is off, the lock stays unlocked until it is locked manually or by another action.)。

从文档 front matter 可以看到该动作的元信息:

字段
标题Disable autolock
动作名verisure.disable_autolock
所属域(domain)verisure
描述在 Verisure Lockguard 智能门锁上禁用自动上锁
关联动作verisure.enable_autolock、verisure.capture_smartcam

它的直接对偶动作是 verisure.enable_autolock(启用自动上锁,开启后"门锁会自动锁上",即 the lock locks itself automatically)。两者构成一对开关语义,常见用法是:在"离家场景"里 enable,在"允许开门/搬运物品场景"里 disable,事后再恢复。

需要强调的是:这个动作控制的是门锁的自动上锁规则本身,而不是执行一次上锁/解锁。真正执行上锁/解锁用的是标准 lock 域动作,例如 lock.lock 与 lock.unlock。理解这一点能避免把两者用混。

2. 在用户界面(UI)中使用

如果你偏好可视化地搭建自动化或脚本,Home Assistant 会引导你一步步完成这个动作的选择,全程无需编写 YAML。原文档给出的标准流程如下:

  1. 前往Settings > Automations & scenes(设置 > 自动化与场景)。
  2. 打开一个已有的自动化或脚本,或者选择Create automation > Create new automation(创建自动化 > 创建新自动化)。
  3. 如果是新建自动化,在When(当…时)部分添加触发器;脚本不需要触发器,它们在被其他对象调用时运行。
  4. Then do(然后执行)部分,点击Add action(添加动作)。
  5. 在搜索框中搜索并选择Verisure: Disable autolock
  6. 选择要控制的对象:在By target下(参见下文"动作目标"一节),选中要更新的门锁。
  7. 点击Save保存。

UI 中的额外选项

原文档明确说明:该动作在 UI 中没有额外选项(This action has no additional options in the UI.)。也就是说,除了指定目标(哪一把锁)之外,没有其他可配置参数——这与它"开关语义"的本质一致。

3. 在 YAML 中使用

如果直接在 YAML 中编写自动化/脚本,该动作的标识符是verisure.disable_autolock。原文档给出的基础示例如下:

action: | action: verisure.disable_autolock target: entity_id: lock.front_door

这段配置的含义是:对实体lock.front_door执行"禁用自动上锁"操作。动作只要求一个目标(target),不接收任何 data 参数。

动作目标(Targets of the action)

该动作必须指定目标。目标机制由站点公共模板 source/_includes/actions/targets.md 定义,对lock域动作的具体规则是:

  • 实体(Entity):某一个具体的 lock 实体,如lock.living_room
  • 设备(Device):属于某个设备的全部 lock 实体;
  • 区域(Area):某个房间/区域内的全部 lock 实体;
  • 楼层(Floor):某一层楼上的全部 lock 实体;
  • 标签(Label):共享同一个标签的全部 lock 实体。

Home Assistant 会对目标背后的每一个匹配的 lock 实体执行该动作。此外,同一个动作中可以混用多种目标类型——例如同时指定一个具体实体和一个区域,动作会同时对两者生效。原文档示例中使用的是entity_id方式,这是最精确、最推荐的写法;当你家里有多把 Verisure 锁且希望一次性全部关闭自动上锁时,用 area/label 目标更省事。

4. 结合 Verisure 集成背景理解该动作

单看动作页信息密度有限,结合 source/_integrations/verisure.markdown 可以补全使用前提与上下文:

  • 集成属性:Verisure 是一个 hub 类型集成(ha_integration_type: hub),数据来自云轮询(ha_iot_class: Cloud Polling),支持配置流(config flow)与 DHCP 发现。支持的实体平台包括 alarm_control_panel、binary_sensor、camera、lock、sensor、switch、diagnostics。
  • 使用前提:必须先完成 Verisure 集成的配置(配置流),门锁实体出现后,verisure.disable_autolock才能被搜索到并执行。
  • 锁状态属性(state attribute):Verisure 的 lock 平台会记录锁是被什么方式锁上/打开的,这对写"什么时候该关闭自动上锁"的自动化条件很有用:
method state attribute含义
thumb通过内侧旋钮手动锁上/打开
star通过外侧星形按钮锁上
code通过外侧密码打开
auto由 Verisure 规则自动锁上/打开
remote由 Verisure App 自动锁上/打开

从这张表可以推断:auto属性对应的正是"自动上锁规则"生效的痕迹。当你想确认某次上锁是不是 autolock 干的、或者想在自动上锁刚触发后立刻把它关掉,这个属性可以作为判断依据。

  • 已知限制:集成文档指出,部分用户报告该集成在法国、爱尔兰、意大利、西班牙无法正常工作的情况;如果你的地区不在此列,动作不可用时优先检查地区与云账号登录状态。
  • 故障排查:如果调用与密码相关的操作时报"The code for lock.XXX doesn't match pattern …"之类的错误,需要核对锁的密码位数与集成配置选项中定义的位数一致。虽然verisure.disable_autolock本身不接收密码参数,但同一把锁的其他动作(如带 code 的 lock.lock)会受此影响,排查时一并确认。

5. 实战:典型的自动化编排思路

下面给出一个可复制的编排示例,组合了本文档动作与标准 lock 域动作,实现"允许进入 → 完成操作 → 重新自动上锁"的闭环(实体 ID 请替换为你自己的):

automation: - alias: "搬运模式:暂停门前锁的自动上锁" triggers: - trigger: event event_type: button_pressed event_data: entity_id: button.hallway_mode # 按下一枚按钮即进入"搬运模式" actions: - action: verisure.disable_autolock target: entity_id: lock.front_door # 保持解锁/可控状态一段时间…… - delay: hours: 2 # 结束后恢复自动上锁(对偶动作) - action: verisure.enable_autolock target: entity_id: lock.front_door

这个示例中每一行都有仓库文档依据:

  • verisure.disable_autolock/verisure.enable_autolocktarget.entity_id写法来自本文档与 source/_actions/verisure.enable_autolock.markdown;
  • "先 disable、延时后 enable" 的对称结构来自两个动作文档中相反的行为描述(disable 后锁保持解锁,直到手动或其他动作将其锁上;enable 后锁会自动锁上);
  • 如果需要"关闭自动上锁的同时立即执行一次上锁/解锁",请额外追加lock.locklock.unlock动作(参见 source/_actions/lock.lock.markdown,该动作还支持通过data.code传递门锁密码),因为 disable 动作本身不负责改变锁的当前开合状态。

另一个常见配合场景来自文档声明的关联动作 verisure.capture_smartcam:在检测到门口动作后抓取 SmartCam 图像(其 target 指向camera域实体,例如camera.hallway),再按结果决定是否verisure.disable_autolock。动作之间如何串联完全由你的自动化逻辑决定。

6. 验证与调试

原文档提供了两种"不动手写完整自动化"即可验证该动作的途径:

  1. 动作工具面板:打开Settings > Tools > Actions(开发者工具中的动作页),搜索verisure.disable_autolock,填入字段后点击Perform action。你可以在不写一行 YAML 的情况下,在真实实体上观察效果。
  2. 自动化调试:在自动化编辑器中触发测试,并在自动化的运行日志中确认动作执行成功;若目标锁实体不存在或集成未登录,动作会报错,此时回到集成配置检查 Verisure 账号状态。

相关动作速查

动作作用文档位置
verisure.disable_autolock关闭 Lockguard 门锁自动上锁(本篇主题)source/_actions/verisure.disable_autolock.markdown
verisure.enable_autolock开启 Lockguard 门锁自动上锁source/_actions/verisure.enable_autolock.markdown
verisure.capture_smartcam从 Verisure SmartCam 抓取新图像source/_actions/verisure.capture_smartcam.markdown
lock.lock/lock.unlock标准 lock 域上锁/解锁(可与本动作组合)source/_actions/lock.lock.markdown
Verisure 集成总览安装、平台、锁状态属性、限制与排错source/_integrations/verisure.markdown

7. 要点回顾

  • verisure.disable_autolock是一个无参数、必须指定 lock 目标的动作,它改变的是门锁的"自动上锁规则",而不是锁当前的开合状态;
  • UI 中搜索 "Verisure: Disable autolock" 即可添加;YAML 中写action: verisure.disable_autolocktarget即可;
  • 关闭 autolock 后,锁会停留在解锁状态,直到手动或另外的动作将其锁上——生产环境里务必设计好"何时恢复 enable"的收尾步骤;
  • 配合 lock 实体的 method 状态属性(auto/remote/thumb等)与关联动作verisure.enable_autolockverisure.capture_smartcamlock.lock,可以覆盖绝大多数"临时接管门锁自动上锁"的自动化需求。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询