Home Assistant OSO Energy 动作详解使用 osoenergy.set_v40_min 设置热水器 V40 最低水量【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本指南聚焦 Home Assistant 中 OSO Energy 集成提供的osoenergy.set_v40_min动作讲解如何为 OSO Energy 电热水器设置 40°C 混水最低容量V40 min以在家庭自动化与脚本中实现热水余量不足自动补热的防冷水保护逻辑。读完本文你将掌握该动作的 UI 可视化配置与 YAML 调用两种方式、v40_min参数的取值范围与类型约束以及如何结合 OSO Energy 集成提供的相关传感器与动作搭建完整的自动化方案。动作概述V40 min 是什么osoenergy.set_v40_min是 OSO Energy 集成source/_integrations/osoenergy.markdown为水加热器water_heater实体提供的动作其作用是为热水器设置 40°C 水温下的最低混水水量单位升。在 OSO Energy 的语义体系中热水器内部储存的热水与进水口的自来水混合后可以稀释出 40°C 的温水供家庭使用。集成文档将这一概念拆解为两个关键指标见 source/_integrations/osoenergy.markdownCapacity mixed water at 40°C (L)当前可排出的、混合后达到 40°C 的水量V40 Min (L)允许的最低 40°C 混水量阈值。本动作设置的正是第二个指标的下限。根据动作文档的原始说明source/_actions/osoenergy.set_v40_min.markdown当可用容量低于该值时加热器会开启以防止温水耗尽guard against running out of warm water。也就是说V40 min 相当于一个水位警戒线只要实际可用温水容量跌到警戒线以下热水器就自动启动加热把温水储量补回安全区间。这个机制对热水用量大的家庭例如早晚高峰连续洗澡尤其有价值——它可以避免在最需要热水的时候突然洗到冷水。从集成声明看source/_integrations/osoenergy.markdown 的 front matter该集成于 HA 2024.1 版本引入IoT 类别为Cloud Polling通过用户在 OSO Energy 门户创建的订阅密钥subscription key接入配置完成后 Home Assistant 会自动发现并添加所有 OSO Energy 设备。集成本身提供 binary_sensor、sensor、water_heater 三类平台其中 water_heater 平台承载了本动作。参数说明v40_min该动作只有一个参数无论在 UI 还是 YAML 中均必填参数类型必填取值范围说明v40_minfloatYAML/ 数值输入框UI是200 ~ 55040°C 混水的最低容量单位为升两个要点值得注意单位是升它描述的是混合后 40°C 温水的容量而不是热水器内胆的绝对储水量也不是温度。设置前建议参考集成提供的V40 Min (L)传感器当前值以及Minimum Level of V40 Min (L)、Maximum Level of V40 Min (L)两个边界传感器见 source/_integrations/osoenergy.markdown因为不同型号热水器的 V40 min 可达到的上下限会有所差异200~550 是动作层面对所有型号统一校验的合法区间。类型为 floatYAML 文档source/_actions/osoenergy.set_v40_min.markdown 的options_yaml块明确标注type: float因此支持带小数的值例如240.5。不过实际设置时通常取整数更直观。在文档站点构建层面该动作页面通过options_ui与options_yaml两个 Liquid 块分别渲染 UI 与 YAML 两套参数表其渲染逻辑位于 plugins/options_ui.rb块解析 YAML 映射后根据required标记输出 Required/Optional 徽标与描述文本并依据slug为每个参数生成锚点。这意味着上表中的参数说明、必填状态和取值范围都直接来自文档 front matter 中的定义与 HA 界面中展示给用户的信息保持一致。方式一通过 UI 可视化配置如果更习惯在图形界面中搭建自动化Home Assistant 会引导你逐步完成配置无需编写 YAML该引导文案由 source/_includes/actions/ui_header.md 提供。官方文档给出了完整的操作路径进入设置自动化与场景Automations scenes。打开一个已有的自动化或脚本也可以选择创建自动化创建新自动化。如果是在创建新自动化需要在当...时When部分添加触发器脚本script不需要触发器它们在被其他内容调用时才运行。在然后执行Then do部分选择添加动作Add action。选择要控制的对象在目标By target下详见 目标选择选择要设置的热水器。在针对该目标展示的动作列表中选择OSO Energy: Set V40 min。设置要应用的V40 min数值。选择保存Save。在 UI 中该动作只暴露一个选项V40 min必填40°C 水的最低容量单位升必须在 200 到 550 之间。方式二通过 YAML 配置如果直接编写 YAML或者想精确控制 Home Assistant 底层行为可以使用动作的 YAML 形式技术参考文案由 source/_includes/actions/yaml_header.md 提供。在 YAML 中该动作以osoenergy.set_v40_min引用。基础示例直接来自动作文档的example块action: osoenergy.set_v40_min target: entity_id: water_heater.heater data: v40_min: 240这段配置将目标热水器的 40°C 最低混水量设置为240 升。当实际温水容量跌到 240 升以下时热水器将启动加热进行保护。参数定义来自文档的options_yaml块v40_min: description: The minimum quantity of water at 40°C, in liters. Must be between 200 and 550. required: true type: float在自动化中使用将动作与触发器结合可以构建容量不足自动补热的完整流程。例如可以基于集成提供的Capacity mixed water at 40°C (L)传感器做数值触发器再调用本动作动态调整警戒线alias: Tighten V40 guard when demand is high triggers: - trigger: numeric_state entity_id: sensor.water_heater_capacity_mixed_water_40c below: 300 actions: - action: osoenergy.set_v40_min target: entity_id: water_heater.heater data: v40_min: 260在脚本中使用脚本不需要触发器被调用即执行。可以在 source/blueprints 之外自行定义 script 实体供其他自动化或仪表盘按钮调用# scripts.yaml 片段 adjust_v40_guard: alias: Raise V40 guard sequence: - action: osoenergy.set_v40_min target: entity_id: water_heater.heater data: v40_min: 300说明以上自动化/脚本示例中的实体 ID 为示意请替换为你环境中实际的实体 ID。目标选择该动作必须指定目标target。目标即动作的作用对象你可以将动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对目标背后所有匹配的water_heater实体执行该动作source/_includes/actions/targets.md实体Entity一个具体的 water_heater 实体例如water_heater.living_room设备Device隶属于某台设备的所有 water_heater 实体区域Area某个房间或区域内的所有 water_heater 实体楼层Floor某个楼层上的所有 water_heater 实体标签Label共享某个标签的所有 water_heater 实体。同一个动作还可以混合选择不同类型的目标例如同时指定一个具体实体和一个区域动作会对两者同时生效。先试后写开发工具快速验证如果不确定参数取值可以在不写任何 YAML 的情况下直接对真实实体进行验证。进入设置工具操作Developer Tools → Actionssource/_includes/actions/try_it.md搜索osoenergy.set_v40_min填写字段后点击执行操作Perform action即可立即观察动作对目标实体产生的实际效果。这特别适合在正式落地自动化之前确认目标设备上 200~550 范围内哪个数值最合适。相关动作与联动方案动作文档的related_actionssource/_actions/osoenergy.set_v40_min.markdown 的 front matter列出了两个与 V40 min 配合良好的动作osoenergy.turn_on打开热水器加热可设置为加热至最高温度until_temp_limit: true或加热一小时until_temp_limit: false。在 V40 警戒触发之外的场景如按需预热非常有用osoenergy.turn_off关闭热水器加热。此外集成还提供 osoenergy.set_profile按小时设置温度曲线与osoenergy.get_profile等动作覆盖了热水器日常运维的主要维度。一个完整的热水管理方案可以这样组合用V40 min设置防冷水警戒线用Capacity mixed water at 40°C (L)传感器判断当前温水余量是否安全用Heating二进制传感器确认补热是否在进行在特殊场景例如第二天早上需要大量热水用osoenergy.turn_on主动预热。常见问题与排查建议动作执行失败提示参数越界确认v40_min在 200~550 之间。不同型号热水器实际可设置的边界可能更窄可参考Minimum Level of V40 Min (L)与Maximum Level of V40 Min (L)两个传感器见 source/_integrations/osoenergy.markdown获取该设备的真实上下限。找不到water_heater.heater实体先确认 OSO Energy 集成已通过订阅密钥正确配置且设备已被自动发现。集成文档source/_integrations/osoenergy.markdown说明配置完成后所有 OSO Energy 设备会被自动添加。设置了 V40 min 但加热器没有反应注意该动作只是设置警戒阈值加热行为由设备自身根据当前容量与阈值对比触发同时确认热水器没有被Power save / 节能模式等状态抑制可查看集成提供的 Power save 二进制传感器。如果依然无法解决可以在 Home Assistant 社区论坛。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考