Home Assistant LCN 集成 `lcn.lock_keys` 动作完全指南:按键锁定/解锁与定时锁定的 YAML 与 UI 实战
Home Assistant LCN 集成lcn.lock_keys动作完全指南按键锁定/解锁与定时锁定的 YAML 与 UI 实战【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读lcn.lock_keys是 Home Assistant LCN 集成提供的核心控制动作之一用于在一次调用中锁定或解锁 LCN 模块某个按键表table上的多个按键并支持无限期锁定或定时锁定两种模式。本文以官方动作文档 source/_actions/lcn.lock_keys.markdown 为主体结合 LCN 集成文档 source/_integrations/lcn.markdown 的常量与设备寻址说明完整讲解八位状态字符串的编码规则、UI 可视化配置步骤、YAML 字段参考与定时锁定实战让你能在自动化与脚本中精准控制 LCN 面板按键的物理可用性。LCN 按键锁定机制与八位状态字符串在 LCNLocal Control Network系统中模块上的按键按键表table组织按键标识由表标识符 按键号组成例如a1、a5、d8其中表标识符为a、b、c、d参见 Keys 常量说明。lcn.lock_keys动作以整张表为单位操作一次调用锁定或解锁表上的按键而具体哪些按键被锁定由一条八位字符状态字符串决定每一位对应一个按键的锁定状态变化。状态字符串中的每个字符含义如下字符含义1锁定on0解锁offT切换toggle锁定⇄解锁翻转-不变no change例如文档中的示例字符串1---T0--表示按键 1 锁定、按键 2~4 不变、按键 5 切换、按键 6 解锁、按键 7~8 不变。这种一次字符串批量控制八个按键的设计与lcn.relays动作完全同构后者用同样的编码规则控制模块上的八个继电器见 lcn.relays 动作文档掌握其中一种即可快速理解另一种。通过用户界面UI调用lcn.lock_keys该动作不适用于 targets 目标寻址而是通过Device字段直接指定要操作的 LCN 模块或分组。在自动化或脚本中使用该动作的可视化步骤如下进入SettingsAutomations scenes。打开现有自动化或脚本若新建选择Create automationCreate new automation。新建自动化时在When部分添加一个触发器脚本无需触发器由其他流程调用。在Then do部分选择Add action。在搜索框中搜索并选择LCN: Lock keys。在Device字段中选择 LCN 模块或分组并输入按键锁定的State字符串。选择Save保存。UI 中的可配置字段包括Device必填要发送命令的 LCN 模块或分组。Table可选包含待锁定按键的表默认为a注意定时锁定仅对表a生效。State必填八位字符锁定状态字符串使用1锁定、0解锁、T切换、-不变。Time可选锁定持续时间设置后按键将在该时间段内被锁定。Time unit可选锁定时间单位默认为秒。在 YAML 中使用lcn.lock_keys在 YAML 自动化或脚本中该动作的标识符为lcn.lock_keys。基础示例来自官方文档action: lcn.lock_keys data: device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 state: 1---T0--此示例将状态变更应用到所选模块的表a按键 1 锁定、按键 5 切换、按键 6 解锁其余按键状态不变。若要定时锁定表a的按键 10 秒action: lcn.lock_keys data: device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 state: 1---T0-- time: 10 time_unit: sYAML 字段参考字段必填类型默认值说明device_id是string—LCN 模块或分组的设备 IDtable否stringa要锁定按键的表未提供时假定为表a。定时锁定仅对表a生效state是string—八位按键锁定状态字符串字符为1、0、T、-time否integer0锁定持续时间未提供时假定为 0即无限期锁定time_unit否strings锁定时间单位未提供时假定为秒关于time_unit的取值官方动作文档的 YAML 示例使用缩写s表示秒LCN 集成的常量表则定义了完整的 TIME_UNIT 取值seconds、minutes、hours、days实际使用时应以所接入的 LCN-PCHK 版本与集成支持为准。定时锁定的限制文档明确强调定时锁定设置 Time 与 Time unit仅对表a有效。如果需要为表b、c、d实施时间受限的锁定从当前文档给出的能力边界看并不支持应改用其他方案例如在自动化中配合time延迟后再次调用lcn.lock_keys解锁并务必先在测试环境中验证行为。设备寻址获取device_id所有 LCN 动作都通过device_id寻址设备且不支持 targets。在自动化与脚本中最便捷的获取方式是使用模板函数device_id()按前端显示或 LCN-PRO 软件中配置的模块名称解析出 ID官方提示见 lcn 集成文档action: lcn.lock_keys data: device_id: {{ device_id(Module name) }} state: 1-------这种方式可以避免在配置中硬编码 20 位十六进制设备 ID使自动化在模块替换或重命名时依然可维护。相关动作与组合使用lcn.lock_keys常与以下动作配合形成完整的按键生命周期管理lcn.send_keys 发送按键向模块发送一个或多个按键如a1a5d8触发按键绑定的命令支持立即发送与延迟发送按键状态可选hit、make、break、dontsend见 KEY_STATE 常量。典型场景先锁定按键防止误触再执行需要临时禁用面板操作的流程。lcn.relays 设置继电器用同样的八位字符编码批量设置模块上八个继电器的开/关/切换状态。lcn.pck直接向模块发送 PCK 命令字符串如PIN4适用于文档中未单独封装为动作的底层功能。这些动作共同弥补了 LCN 平台实体binary sensor、climate、cover、light、scene、sensor、switch未覆盖的完整 LCN 系统能力是 LCN 自动化脚本的核心工具集。快速验证与排障直接试跑进入SettingsToolsActions搜索lcn.lock_keys填写字段并选择Perform action即可在不写 YAML 的情况下对真实实体观察效果。前置条件确认lcn.lock_keys依赖 LCN 集成正常运行集成要求配备 LCN 硬件耦合器及至少一个未使用的 LCN-PCHK版本 2.8授权或提供至少两个 PCHK 授权的 LCN-VISU / LCN-PKE 耦合器见 Prerequisites。状态字符串校验确认state恰好为八个字符且仅包含1、0、T、-长度或字符非法会导致命令无法按预期解析。定时锁定仅限表a对b/c/d表设置time参数的行为未在文档能力范围内需自行验证或改用自动化计时方案。总结lcn.lock_keys是 LCN 按键管理的核心动作一条八位状态字符串即可批量控制整张按键表的锁定、解锁与切换配合time/time_unit可实现表a的定时锁定再结合lcn.send_keys、lcn.relays与lcn.pck即可在自动化与脚本中完成 LCN 按键的全流程编排。文中所有参数、示例与限制均出自 lcn.lock_keys 官方动作文档 与 LCN 集成文档可放心用于生产环境的自动化配置。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考