
Home Assistant LCN 继电器批量控制lcn.relays动作完全指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iolcn.relays是 Home Assistant 中 LCN 集成提供的一个动作action用于在一次调用中批量设置 LCN 模块上八个继电器的状态。通过一个紧凑的八字符状态字符串你可以同时完成多个继电器的开启、关闭、切换与保持非常适合在自动化与脚本中实现灯光组、百叶窗、电机等外设的联动控制。读完本文你将掌握lcn.relays的状态字符串编码规则、UI 与 YAML 两种调用方式、参数细节以及它在 LCN 模块硬件体系中的位置。动作概述一条命令控制八个继电器根据 lcn.relays 动作文档lcn.relays会在一次调用中设置 LCN 模块上八个继电器的状态。你只需提供一个由八个字符组成的字符串每个字符对应控制一个继电器LCN 模块即会按序应用这些状态变化。该动作属于 LCN 集成在 Home Assistant 中暴露的众多补充能力之一。LCNLocal Control Network是一个本地控制网络总线系统其 LCN 集成文档 明确指出已实现的平台platform并未覆盖 LCN 系统的全部功能因此该集成额外提供了丰富的事件events、设备触发器device triggers与动作actions非常适合在自动化脚本或template平台中使用。lcn.relays正是这些补充动作中的一员它让你绕开逐实体控制的繁琐以硬件原生方式直接操纵模块继电器。状态字符串编码规则lcn.relays的核心输入是一个恰好八位的状态字符串字符串中的每一位代表一个继电器的状态变化字符含义1开启on0关闭offT切换toggle-不改变no change八个字符从左到右依次对应继电器 1 到继电器 8。文档给出的示例例如T---001-会切换继电器 1保持继电器 2~4 不变关闭继电器 5 和 6开启继电器 7并保持继电器 8 不变。拆解T---001-的每一位位序字符对应继电器效果1Trelay 1切换toggle2-relay 2不改变3-relay 3不改变4-relay 4不改变50relay 5关闭60relay 6关闭71relay 7开启8-relay 8不改变这种编码方式的优势在于幂等性与部分更新需要改动的继电器显式指定目标状态不需要改动的用-跳过从而在一次总线指令中完成精细控制减少 LCN 总线通信量。通过用户界面UI使用该动作如果你偏好可视化地构建自动化和脚本Home Assistant 会逐步引导你完成该动作的配置无需编写 YAML。完整步骤如下进入设置Settings 自动化与场景Automations scenes。打开现有的自动化或脚本或选择创建自动化Create automation 创建新的自动化Create new automation。若在创建新自动化请在When何时区域添加一个触发器脚本scripts不需要触发器它们由其他内容调用时运行。在Then do然后执行区域选择添加动作Add action。在搜索框中搜索并选择LCN: Relays。在Device设备字段中选择 LCN 模块或组并输入继电器的State状态字符串。选择保存Save。UI 选项说明选项描述是否必填Device要发送命令的 LCN 模块或组是State由八个字符组成的继电器状态字符串使用1开启、0关闭、T切换、-不改变是需要注意该动作不支持 targets目标实体而是通过Device字段直接选择 LCN 模块或组。这与针对实体entity的动作不同——LCN 模块与组在 Home Assistant 中是以**设备device**形式存在的见 LCN 集成文档 的 Setting up devices and entities 章节。通过 YAML 使用该动作如果你直接编写 YAML或想确切了解 Home Assistant 在底层做了什么可以按以下技术参考使用。YAML 中动作名称为lcn.relays一个基本示例如下action: lcn.relays data: device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 state: T---001-该示例将状态字符串描述的状态变化应用于选定的模块。YAML 选项说明字段描述是否必填类型device_idLCN 模块或组的设备 ID是stringstate由八个字符组成的继电器状态字符串使用1开启、0关闭、T切换、-不改变是string注意state值建议用引号包裹如T---001-以避免 YAML 解析时将其中的字符序列误读为其他类型。获取 device_id 的实用技巧LCN 集成文档 的 Device triggers 章节提供了一个获取device_id的简便方法在自动化和脚本中可以使用device_id()模板函数根据前端显示的模块名称或在 LCN-PRO 软件中配置的名称动态解析出device_idaction: lcn.relays data: device_id: {{ device_id(模块名称) }} state: T---001-这种方式让配置对设备 ID 的变化不再敏感提升了自动化脚本的可维护性。device_id()函数的具体用法可参考 模板函数文档若该文件存在可直接查看其完整参数说明。动手试一试想立即验证效果打开设置Settings 工具Tools 动作Actions开发者工具中的服务调用界面搜索该动作填写字段并选择执行动作Perform action。无需编写一行 YAML就能在真实实体上观察执行结果。结合 LCN 硬件体系理解该动作LCN 模块的继电器在硬件层面承担着多种角色理解这一点有助于你正确使用lcn.relays开关与灯光控制LCN 的 light 平台允许控制可调光的输出端口与继电器switch 平台同样支持输出端口、继电器、调节器锁状态与按键锁状态见 LCN 集成文档 的 Light 与 Switch 平台章节。电机/百叶窗控制LCN 的 cover 平台允许控制已被配置为电机控制器的继电器与输出端口。电机与继电器之间存在固定映射关系电机开/关继电器上行/下行继电器motor1relay1relay2motor2relay3relay4motor3relay5relay6motor4relay7relay8从上表可以看出模块的八个继电器恰好对应四个电机控制器的继电器组。因此lcn.relays的一次调用既可以批量控制灯光开关也可以在硬件配置允许的前提下协调电机相关继电器的联动状态。配置在 LCN-PRO 中完成需要强调的是继电器作为电机控制器等硬件行为必须在 LCN-PRO 编程软件中完成配置。LCN 集成文档特别警告如果使用模块的输出端口驱动电机必须确保已在 LCN-PRO 中将输出端口配置为电机控制器否则输出端口之间没有互锁存在烧毁电机的风险。lcn.relays只是向模块发送状态指令模块如何解释这些指令取决于其硬件编程配置。此外与继电器关系最紧密的相关动作还包括lcn.led设置 LED 状态、lcn.lock_keys锁定按键、lcn.pck发送 PCK 命令它们与lcn.relays一样都是面向 LCN 模块/组的补充动作可以在自动化中组合使用实现按键锁定、LED 状态指示与继电器批量控制的协同场景。使用前提与限制该动作面向 LCN 模块/组设备通过device_id寻址而非普通实体。若未配置任何 LCN 模块或组该动作将无对象可寻址。状态字符串必须为八个字符且只能使用1、0、T、-四种字符否则指令不符合预期。一次调用覆盖全部八个继电器即使你只想改动其中一个也需要提供完整的八字符字符串用-保持其他继电器不变。LCN 模块的响应行为依赖硬件配置如是否启用确认机制等相关参数在 LCN 集成配置 的配置流程中设置。故障排查与更多资源若动作执行后继电器无反应请先在设置 工具 动作中手动执行一次确认 LCN 模块/组是否在线、device_id是否正确。若问题依旧检查 LCN 模块在 LCN-PRO 中的继电器配置与模块通讯状态LCN 集成的配置面板支持扫描模块Scan Modules可轮询每个模块的名称与序列号帮助确认设备是否正常在线详见 LCN 集成文档 的 Scanning modules 章节。如需查看 LCN 集成提供的全部动作可参阅 LCN 集成的动作列表其中每个动作都链接到独立页面包含示例、参数与 UI 分步指引。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考