ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Home Assistant LCN 集成 lcn.var_abs 动作:向模块变量写入绝对值(变量/设定点设置指南)

Home Assistant LCN 集成 lcn.var_abs 动作:向模块变量写入绝对值(变量/设定点设置指南) Home Assistant LCN 集成 lcn.var_abs 动作向模块变量写入绝对值变量/设定点设置指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iolcn.var_abs是 Home Assistant LCNLocal Control Network集成提供的核心写操作动作之一用于将 LCN 模块上的变量variable或调节器设定点setpoint一次性写入为固定绝对值典型场景包括向温控设定点写入目标温度、将某个变量强制设为已知数值等。本文以 source/_actions/lcn.var_abs.markdown 为骨架结合 LCN 集成文档 中的变量体系完整讲解该动作的语义、UI 操作步骤、YAML 参数、变量命名与单位规则并给出可直接复制到自动化与脚本中的实战示例。动作语义什么时候该用lcn.var_absLCN 模块内部维护着一组可编程变量var1var12、tvar、r1var、r2var以及调节器设定点r1varsetpoint、r2varsetpoint。lcn.var_abs的动作定义非常明确Sets absolute value of a variable or setpoint.也就是说它把一个已知的固定值写入目标变量例如把目标温度写入调节器设定点。与之相对lcn.var_rel在当前值基础上做相对偏移正数增加、负数减少lcn.var_reset把变量/设定点重置回默认值lcn.lock_regulator控制调节器锁定状态。因此当你的自动化需要无论当前值是多少一律写成某个确定数值时lcn.var_abs是正确选择而需要在当前基础上加减时则应使用lcn.var_rel。模块配置前提务必先检查{% important %} 使用该动作前必须确保 LCN 模块已在 LCN-PRO 软件中正确配置允许对外部访问所定义的变量。否则模块可能出现意外行为或返回错误消息。同理LCN 传感器平台 文档也强调若模块未正确提供请求的值模块可能显示意外行为或返回错误。 {% endimportant %}方式一通过 UI 在自动化/脚本中添加动作该动作不支持 targets不通过目标实体选择而是通过Device字段直接指定 LCN 模块或分组。在 UI 中配置步骤如下进入SettingsAutomations scenes自动化与场景。打开已有的自动化或脚本或选择Create automationCreate new automation新建。新建自动化时在When触发条件部分添加触发器脚本无需触发器由其他流程调用时运行。在Then do执行动作部分选择Add action。在搜索框中搜索并选择LCN: Set absolute variable。在Device字段中选择 LCN 模块或分组然后选择Variable变量。可选在Value数值中输入变量或设定点的目标值。选择Save保存。UI 中的选项选项描述必填Device要发送命令的 LCN 模块或分组是Variable变量或设定点名称是Value要设置的数值否Unit of measurement数值的单位默认native否方式二通过 YAML 使用lcn.var_abs在 YAML 中该动作以lcn.var_abs引用。以下是文档给出的基础示例action: lcn.var_abs data: device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 variable: var1 value: 75 unit_of_measurement: %该示例将所选模块的变量 1var1设置为75%。YAML 参数详解参数类型必填默认值说明device_idstring是—LCN 模块或分组的设备 IDvariablestring是—变量或设定点名称取值参见 变量与单位表valueinteger否0要设置的数值不提供时假定为0unit_of_measurementstring否native数值单位取值参见 变量与单位表不提供时假定为native要点提示value的默认值为0因此省略value等价于把该变量清零。unit_of_measurement默认是native模块原生单位只有在你需要以显式单位解释数值时才必须指定。变量、设定点与单位的合法取值lcn.var_abs的variable与unit_of_measurement参数取值均来自 LCN 集成文档Variables and units一节常量类型合法取值VARIABLE变量var1var12、tvar、r1var、r2varSETPOINT设定点r1varsetpoint、r2varsetpointTHRESHOLD阈值thrs1thrs5以及thrs2_1thrs2_4、thrs3_1thrs3_4、thrs4_1thrs4_4VAR_UNIT数值单位native、°C、°K、°F、lux_t、lux_i、m/s、%、ppm、volt、ampere、degreeTIME_UNIT时间单位seconds、minutes、hours、days需要注意文档对variable的官方描述是变量或设定点名称因此variable字段主要面向 VARIABLE 与 SETPOINT 两类如var1、r1varsetpoint。结合 LCN 的调节器体系Climate 平台 依赖当前温度变量 目标温度设定点变量lcn.var_abs最常见的用途就是写入r1varsetpoint/r2varsetpoint以设定目标温度。获取 device_id 的实用技巧device_id是 LCN 模块或分组在 Home Assistant 中的内部 ID在自动化/脚本中可以直接写死也可以使用模板函数动态解析。LCN 集成文档推荐的做法见 Device triggers 一节是利用device_id()模板函数从模块名称推导action: lcn.var_abs data: device_id: {{ device_id(Module name) }} variable: r1varsetpoint value: 21.5 unit_of_measurement: °C模板中的Module name替换为前端或 LCN-PRO 软件中配置的模块显示名称。这种方式在模块 ID 变化或跨多个自动化复用时更具可维护性。实战将温度设定点写入调节器将上述内容组合起来一个典型的通过 UI 或 YAML 设定目标温度的自动化动作如下action: lcn.var_abs data: device_id: 91aa039a2fb6e0b9f9ec7eb219a6b7d2 variable: r1varsetpoint value: 22 unit_of_measurement: °C该动作把模块的调节器 1 目标温度设定点写为 22°C。若省略unit_of_measurement保持native则数值将按 LCN 模块在 LCN-PRO 中为该设定点配置的原生单位解释——因此跨模块共用示例时显式指定单位是更稳妥的做法。相关动作与进一步阅读相对偏移lcn.var_rel在当前值基础上加减支持value_reference: current | prog引用当前值或编程值重置默认值lcn.var_reset调节器锁定lcn.lock_regulatorLCN 集成完整说明变量/单位表、配置面板、事件与设备触发器source/_integrations/lcn.markdown值得留意的是LCN 集成文档明确指出已实现的平台并未覆盖 LCN 系统的全部功能因此集成通过事件、设备触发器与动作actions来补齐能力见 LCN 集成Supported device types注释。lcn.var_abs正是这类以动作形式暴露模块底层能力的代表——当你在 UI 中找不到某个变量的实体时直接在自动化/脚本中调用lcn.var_abs往往就是最直接的写入方案。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表