ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Home Assistant 动作详解:ihc.set_runtime_value_float 向 IHC 控制器写入浮点运行时值

Home Assistant 动作详解:ihc.set_runtime_value_float 向 IHC 控制器写入浮点运行时值 Home Assistant 动作详解ihc.set_runtime_value_float 向 IHC 控制器写入浮点运行时值【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本文围绕 Home Assistant 官方文档中的 ihc.set_runtime_value_float 动作 展开。该动作用于向 LK IHC 控制器的某个资源直接写入一个十进制float运行时值即使该资源没有以实体entity形式暴露在 Home Assistant 中也能操作。读完本文你将掌握 IHC 资源的编号规则、configuration.yaml中多控制器的配置方式、UI 与 YAML 两种调用途径以及该动作与ihc.pulse、ihc.set_runtime_value_bool等相关动作的选型关系。一、背景IHC Controller 集成与“资源”概念Home Assistant 的 IHC Controller 集成用于连接 LK IHC 控制器在瑞典和挪威市场以 “ELKO Living system” 之名销售。该集成支持 Binary sensor、Sensor、Light、Switch 四类设备采用 Local Push 方式在本地推送状态。理解本动作的关键是 IHC 的“资源”resource模型每个 IHC 设备或功能块的输入/输出都对应一个资源由唯一的IHC resource ID标识在 IHC 项目文件XML中资源表现为dataline_xxx、airlink_xxx、resource_input、resource_output等元素其 id 以十六进制书写而在 Home Assistant 配置和动作参数中必须写成整数十进制按数据类型IHC 资源可分为布尔型On/Off、整型和浮点型float如温度值。IHC 的 Sensor 平台正是把 float 型资源读取为传感器数值因此“向 float 资源写值”是与之对称的写方向操作。set_runtime_value_float 动作的作用就是按资源 ID 直接写一个十进制数值到控制器的浮点运行时资源上绕过实体层适用于那些没有被自动发现为实体、但需要在自动化/脚本中直接写入的场景例如通过 IHC 项目中的 float 输出驱动外部计算回路、设定温度设定值类资源等。二、前置条件在 configuration.yaml 中配置控制器使用任何ihc.*动作前必须先完成 IHC 集成的基础配置。集成要求configuration.yaml中存在ihc列表修改后需重启 Home Assistant。官方文档给出的双控制器示例# Example configuration.yaml entry for two IHC controllers ihc: - url: http://192.168.1.3 username: YOUR_USERNAME password: YOUR_PASSWORD - url: http://192.168.1.4 username: YOUR_USERNAME2 password: YOUR_PASSWORD2各字段说明字段说明必填类型urlIHC 控制器的 URL是stringusername控制器用户名是stringpassword控制器密码是stringauto_setup是否自动发现 IHC 产品并建立设备否boolean默认trueinfo在设备中显示 IHC 的 name/note/position 属性便于识别产品否boolean默认true注意ihc是一个列表列表中的顺序从 0 开始的下标决定了本动作中controller_id参数的取值。单控制器场景下列表只有一项动作默认操作下标 0 的控制器。三、如何确定 IHC resource ID动作的ihc_id参数必须填目标资源的整数 ID获取方式依据 IHC 集成文档的 Manual setup 一节使用 LK IHC Visual或对应品牌的工程软件打开/下载 IHC 项目文件它是 XML 格式可用任意文本/XML 编辑器查看在项目中找到目标产品的输入或输出airlink_xxx、dataline_xxx、resource_input、resource_output元素读取元素的 id——项目文件中是十六进制将其转换为十进制整数填入ihc_id官方文档同时提到可以使用 Alternative Service View 第三方应用来更直观地浏览产品树、查看资源 ID该应用为外部下载工具仓库中仅提供指引。对于 float 资源可以交叉验证在 IHC 集成中手动配置 Sensor 平台时使用的id同样要求“资源必须是 IHC float resource”。如果某个 ID 配置为传感器能正常显示数值说明它确实是 float 型资源同样适用于本动作写入。四、通过 UI 设置浮点运行时值Home Assistant 支持在自动化和脚本中可视化配置该动作UI 部分知识参考文档内置的 ui_header 说明进入Settings Automations scenes打开一个已有的自动化或脚本或选择Create automation Create new automation如果是新建自动化在When部分添加触发条件脚本不需要触发条件它由其他流程调用在Then do部分选择Add action在搜索框中搜索并选择IHC Controller: Set runtime value float输入目标资源的IHC ID与要写入的浮点Value点击Save。该动作不支持 targets目标在 UI 中不会要求你选择区域、设备、实体或标签操作对象完全由ihc_id参数决定这是它与大量实体类动作的重要区别。UI 中可见的选项与含义如下继承自原文档的 Options in the UI选项说明必填Controller ID多控制器时指定操作哪一个控制器下标从 0 开始否IHC ID目标 IHC 资源 ID是Value要写入的浮点数值是五、YAML 用法与参数详解在 YAML 中该动作的名称为ihc.set_runtime_value_float。原文档给出的示例action: | action: ihc.set_runtime_value_float data: ihc_id: 12345 value: 21.5效果把 ID 为12345的资源设置为21.5。在完整自动化中这段动作通常出现在action:列表或旧版sequence中例如alias: 设定 IHC 温度回路的参考值 trigger: - platform: time_pattern minutes: /5 action: - action: ihc.set_runtime_value_float data: controller_id: 0 ihc_id: 12345 value: 21.5参数表Options in YAML参数说明必填类型默认值controller_id若存在多个控制器此处为控制器在ihc列表中的下标从 0 开始否integer0ihc_id目标 IHC 资源 ID十进制整数是integer无value要写入的浮点数值是float无要点说明controller_id的类型是 integer取值必须与configuration.yaml中ihc列表项的位置一致只有单控制器时可以省略按默认值0处理ihc_id必须是十进制整数。即使你在 IHC 项目文件里看到的是0x3039这样的十六进制也要先换算此例即 12345再填入value是 float 类型21.5、21均可写入从类型定义看与 bool/integer 版本动作形成明确的三分法见下节对比。与三个相关动作的选型对比文档 front-matter 将本动作与三个动作互相列为 related actions它们共同构成 IHC 的“按资源直写”工具集动作值类型语义ihc.set_runtime_value_floatfloat将资源的浮点运行时值设为指定十进制数ihc.set_runtime_value_intinteger将资源的整型运行时值设为指定整数示例将 ID 12345 设为 42ihc.set_runtime_value_boolboolean将资源的布尔运行时值设为 on/off示例将 ID 12345 设为trueYAML 中默认falseihc.pulse无值参数向资源发送一个短脉冲先置位约400 ms后复位适合触发期望瞬时信号的输入选型建议目标是数值型资源如温度、亮度百分比类 float 输出→ 用set_runtime_value_float目标是整型资源 → 用set_runtime_value_int目标是开关量输出 → 用set_runtime_value_bool目标是“按一下”型输入按钮、遥控信号类→ 用ihc.pulse它只接收controller_id和ihc_id两个参数无需传值。四者都不支持 targets均通过资源 ID 定位操作对象controller_id在多控制器场景下的取值规则完全一致。六、手动验证Developer Tools 中直接试跑不需要先写进自动化就能验证动作是否生效。按照文档内置的 “Try it yourself” 章节打开Settings Tools Actions搜索set_runtime_value_float或 IHC Controller 相关动作填入ihc_id与value点击Perform action观察实际 IHC 硬件或 IHC 项目中的资源状态是否变化无需手写 YAML。建议先用一个不关键的 float 资源试跑确认控制器连通性、ID 换算正确后再放入正式自动化。七、排查思路与延伸阅读该文档同时内置了社区求助入口stuck.md与相关动作索引related.md。排查时可按以下顺序确认集成可用configuration.yaml中ihc段完整url/username/password 三项必填重启后实体/设备已出现核对 controller_id多控制器环境下写错下标会导致值写入了另一台控制器核对 ID 进制项目文件十六进制 ID 未经转换直接填入是最常见的错误来源核对资源类型把 bool 资源当 float 资源写反之亦然可能得不到预期行为用 Sensor 平台要求 float 资源或 Switch 平台要求 boolean 资源的配置做交叉验证确认以上后仍无法生效可携带“调用的动作 期望结果”到 Home Assistant 官方社区渠道Discord、论坛、Reddit求助文档也提示可用 AI 助手协助解释或挑选合适的动作。延伸阅读均为仓库内文档IHC Controller 集成文档完整配置项、自动发现规则、四类设备的手动配置方法ihc.set_runtime_value_bool、ihc.set_runtime_value_int、ihc.pulse同族直写/脉冲动作ihc 动作文档源文件本文对应的官方文档原文。适用前提本文所有配置与参数均以当前仓库Home Assistant 官方文档站文档为准对应 IHC 集成ha_release: 0.62起提供的能力IoT 类别为 Local PushIHC 控制器需可通过 HTTP URL 从 Home Assistant 所在网络访问。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表