news 2026/9/17 12:31:02

Home Assistant LCN 继电器批量控制:`lcn.relays` 动作完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant LCN 继电器批量控制:`lcn.relays` 动作完全指南

Home Assistant LCN 继电器批量控制:lcn.relays动作完全指南

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

lcn.relays是 Home Assistant 中 LCN 集成提供的一个动作(action),用于在一次调用中批量设置 LCN 模块上八个继电器的状态。通过一个紧凑的八字符状态字符串,你可以同时完成多个继电器的开启、关闭、切换与保持,非常适合在自动化与脚本中实现灯光组、百叶窗、电机等外设的联动控制。读完本文,你将掌握lcn.relays的状态字符串编码规则、UI 与 YAML 两种调用方式、参数细节,以及它在 LCN 模块硬件体系中的位置。

动作概述:一条命令控制八个继电器

根据 lcn.relays 动作文档,lcn.relays会在一次调用中设置 LCN 模块上八个继电器的状态。你只需提供一个由八个字符组成的字符串,每个字符对应控制一个继电器,LCN 模块即会按序应用这些状态变化。

该动作属于 LCN 集成在 Home Assistant 中暴露的众多补充能力之一。LCN(Local Control Network)是一个本地控制网络总线系统,其 LCN 集成文档 明确指出:已实现的平台(platform)并未覆盖 LCN 系统的全部功能,因此该集成额外提供了丰富的事件(events)、设备触发器(device triggers)与动作(actions),非常适合在自动化脚本或template平台中使用。lcn.relays正是这些补充动作中的一员,它让你绕开逐实体控制的繁琐,以硬件原生方式直接操纵模块继电器。

状态字符串编码规则

lcn.relays的核心输入是一个恰好八位的状态字符串,字符串中的每一位代表一个继电器的状态变化:

字符含义
1开启(on)
0关闭(off)
T切换(toggle)
-不改变(no change)

八个字符从左到右依次对应继电器 1 到继电器 8。文档给出的示例:

例如,T---001-会切换继电器 1,保持继电器 2~4 不变,关闭继电器 5 和 6,开启继电器 7,并保持继电器 8 不变。

拆解T---001-的每一位:

位序字符对应继电器效果
1Trelay 1切换(toggle)
2-relay 2不改变
3-relay 3不改变
4-relay 4不改变
50relay 5关闭
60relay 6关闭
71relay 7开启
8-relay 8不改变

这种编码方式的优势在于幂等性与部分更新:需要改动的继电器显式指定目标状态,不需要改动的用-跳过,从而在一次总线指令中完成精细控制,减少 LCN 总线通信量。

通过用户界面(UI)使用该动作

如果你偏好可视化地构建自动化和脚本,Home Assistant 会逐步引导你完成该动作的配置,无需编写 YAML。完整步骤如下:

  1. 进入设置(Settings) > 自动化与场景(Automations & scenes)
  2. 打开现有的自动化或脚本,或选择创建自动化(Create automation) > 创建新的自动化(Create new automation)
  3. 若在创建新自动化,请在When(何时)区域添加一个触发器;脚本(scripts)不需要触发器,它们由其他内容调用时运行。
  4. Then do(然后执行)区域,选择添加动作(Add action)
  5. 在搜索框中搜索并选择LCN: Relays
  6. Device(设备)字段中选择 LCN 模块或组,并输入继电器的State(状态)字符串。
  7. 选择保存(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 模块或组的设备 IDstring
state由八个字符组成的继电器状态字符串,使用1(开启)、0(关闭)、T(切换)、-(不改变)string

注意state值建议用引号包裹(如"T---001-"),以避免 YAML 解析时将其中的字符序列误读为其他类型。

获取 device_id 的实用技巧

LCN 集成文档 的 "Device triggers" 章节提供了一个获取device_id的简便方法:在自动化和脚本中,可以使用device_id()模板函数,根据前端显示的模块名称(或在 LCN-PRO 软件中配置的名称)动态解析出device_id

action: 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 平台允许控制已被配置为电机控制器的继电器与输出端口。电机与继电器之间存在固定映射关系:

    电机开/关继电器上行/下行继电器
    motor1relay1relay2
    motor2relay3relay4
    motor3relay5relay6
    motor4relay7relay8

    从上表可以看出,模块的八个继电器恰好对应四个电机控制器的继电器组。因此,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 模块或组,该动作将无对象可寻址。
  • 状态字符串必须为八个字符,且只能使用10T-四种字符,否则指令不符合预期。
  • 一次调用覆盖全部八个继电器:即使你只想改动其中一个,也需要提供完整的八字符字符串,用-保持其他继电器不变。
  • 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 12:30:47

5G+北斗RTK差分如何破解V2X车道级定位难题

简介:《5G北斗精准定位赋能V2X安全辅助驾驶服务》是一份聚焦5G与北斗融合应用的PPT课件,主要面向智能驾驶、车路协同、智慧交通、电力巡检与灾害监测等方向的技术人员和方案规划者。内容系统梳理了5G三大能力(eMBB、uRLLC、mMTC)的…

作者头像 李华
网站建设 2026/9/17 12:28:23

PostgreSQL面试真题解析:从MVCC到pgvector的20个生产级考点

1. 这20道PostgreSQL面试题,不是考你背了多少命令,而是看你踩过多少坑我带过三届校招团队,也做过五年DBA技术面试官。每次看到候选人张口就来“PostgreSQL是对象关系型数据库”,我心里就咯噔一下——这大概率是刚背完百科词条的应…

作者头像 李华
网站建设 2026/9/17 12:25:46

斯坦福AI Index报告深度解读:推理成本骤降280倍,AI应用范式重构

简介:《人工智能指数报告2025》是斯坦福大学人类中心人工智能研究所发布的第八版年度权威报告,旨在为政策制定者、研究人员、企业高管和公众提供关于AI发展态势的严谨数据与深度洞察,被全球主流媒体广泛引用。该报告以单个PDF文件呈现&#x…

作者头像 李华
网站建设 2026/9/17 12:25:45

Scratch游戏引擎框架实战:帧循环、AABB碰撞、对象池与摄像机

1. 为什么要给Scratch装上"游戏引擎"的骨架三个多月前,我在一个少儿编程社群里看到有人问:Scratch能不能做出《空洞骑士》那样的横版动作游戏?底下的回答清一色是"能做个雏形,但手感很差"。这个回答本身没错&…

作者头像 李华
网站建设 2026/9/17 12:24:29

从零搭建YuE家庭媒体中心:NAS影视库与多端访问实践

“YuE”这个词第一次出现在我手机备忘录里的时候,其实就俩字母——Y和E。当时我正坐在客厅沙发上,电视遥控器在茶几上排成一排,手机里装了四五个视频App,想找一部电影却翻来覆去搜不到;NAS硬盘灯在角落一闪一闪&#x…

作者头像 李华
网站建设 2026/9/17 12:23:53

石化行业人工智能巡检实战:OpenCV+YOLO目标检测与误报治理

简介:石化行业人工智能巡检解决方案PPT围绕石化企业安全巡检痛点,面向安全管理人员、生产运维主管及AI解决方案工程师。内容先梳理人工巡检面临的人身安全风险、效率瓶颈、判断标准差异与数据散乱难题,也指出监控系统事后追溯和主控与现场科技…

作者头像 李华