Home Assistant OSO Energy 集成 water_heater 加热开启操作(osoenergy.turn_on)实战指南
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
本篇技术指南围绕 Home Assistant 文档仓库中 OSO Energy 集成的osoenergy.turn_on操作(action)展开,讲解如何通过可视化界面与 YAML 两种方式开启热水器加热,并深入解析until_temp_limit参数、目标(target)选择机制,以及与osoenergy.turn_off、osoenergy.set_v40_min、osoenergy.set_profile等关联操作的协同用法。读完本文,你将能够在自动化与脚本中精准控制 OSO Energy 热水器的加热行为,实现按需加热与节能管理。
操作概述:何时使用 osoenergy.turn_on
osoenergy.turn_on是 OSO Energy 集成 为water_heater平台提供的核心操作之一,其作用是为 OSO Energy 热水器开启加热。根据官方文档定义,该操作支持两种加热模式:
- 持续加热直到达到最高温度:适合需要大量热水的场景;
- 仅加热一小时:适合临时补充热量、避免长时间满负荷运行。
此操作对应文档 source/_actions/osoenergy.turn_on.markdown,其related_actions字段明确关联了osoenergy.turn_off(关闭加热),二者构成开启/关闭的完整控制闭环。
从集成整体能力看,OSO Energy 集成属于 Cloud Polling 物联网类型的 hub 集成(见 source/_integrations/osoenergy.markdown 的 front matter:ha_iot_class: Cloud Polling、ha_integration_type: hub),通过用户在 OSO Energy 官网创建的订阅密钥完成配置后,Home Assistant 会自动发现并添加所有 OSO Energy 设备。集成提供binary_sensor(额外能量、节能模式、加热状态)、sensor(加热器模式、优化模式、功率负载、40°C 混合水容量、V40 Min 阈值、多段水温等)以及water_heater平台实体。
方式一:通过可视化界面开启加热
对于习惯在界面中构建自动化的用户,Home Assistant 会在操作配置界面中逐步引导,无需编写 YAML(见 source/_includes/actions/ui_header.md)。
在自动化或脚本中添加osoenergy.turn_on操作的完整步骤如下:
- 进入设置>自动化与场景(Automations & scenes)。
- 打开现有的自动化或脚本;若新建,则选择创建自动化>创建新自动化。
- 新建自动化时,需要在When(何时执行)部分添加触发器;脚本(Script)不需要触发器,它由其他自动化或操作调用时运行。
- 在Then do(然后执行)部分选择添加操作(Add action)。
- 在目标(Target,见下文"操作的目标")中选择要开启加热的热水器。
- 从该目标对应的操作列表中选择OSO Energy: Turn on heating。
- 设置Until temp limit(直到温度上限):选择开启加热直至达到最高温度,或仅加热一小时。
- 点击保存。
界面中的选项说明
| 界面选项 | 是否必填 | 说明 |
|---|---|---|
| Until temp limit | 是(required: true) | 启用(true)时,加热持续到达到最高温度;禁用(false)时,仅加热一小时 |
方式二:通过 YAML 配置开启加热
对于直接编写 YAML 或希望了解底层字段结构的用户,YAML 方式提供了精确的字段名、类型与必填约束(见 source/_includes/actions/yaml_header.md)。
在 YAML 中,该操作以osoenergy.turn_on作为action字段值引用。官方文档给出的基础示例(见 source/_actions/osoenergy.turn_on.markdown 的example块)如下:
action: osoenergy.turn_on target: entity_id: water_heater.heater data: until_temp_limit: true这段配置的含义是:对water_heater.heater这个热水器实体开启加热,并持续加热直到达到最高温度。
YAML 参数详解
| YAML 字段 | 类型 | 是否必填 | 取值说明 |
|---|---|---|---|
until_temp_limit | boolean | 是(required: true) | 设为true时,加热直到达到最高温度;设为false时,仅加热一小时 |
until_temp_limit是该操作唯一的附加参数,直接决定了加热的终止条件。在实际使用中,你可以将其与传感器数据或时间条件组合,实现精细化的加热策略,例如在电价低谷时段将加热拉满(until_temp_limit: true),在电价高峰时段仅做一小时短时加热(until_temp_limit: false)以控制用电成本——这与集成中"优化模式(Optimization Mode)"传感器所反映的按外部因素(如电价)管理加热的理念一致(见 source/_integrations/osoenergy.markdown 的传感器章节)。
操作的目标(Targets)机制
osoenergy.turn_on操作需要指定目标,目标即操作的作用对象。根据 source/_includes/actions/targets.md 的说明,操作作用于water_heater域(domain),支持以下目标类型:
- 实体(Entity):单个
water_heater实体,例如water_heater.living_room; - 设备(Device):属于某设备的所有
water_heater实体; - 区域(Area):某个房间/区域内的所有
water_heater实体; - 楼层(Floor):某个楼层上的所有
water_heater实体; - 标签(Label):共享某标签的所有
water_heater实体。
一个操作还可以同时指定多种目标类型,例如将某个具体实体与某个区域同时作为目标,一次性对两者生效。借助这一机制,你可以用一个osoenergy.turn_on操作批量开启多个热水器的加热,而无需逐台重复配置。
进阶实践:与关联操作组合的加热控制方案
osoenergy.turn_on并非孤立存在,OSO Energy 集成还提供了一系列与之紧密配合的操作(均位于 source/_actions/ 目录下)。这里给出几个基于官方文档的组合方案:
1. 关闭加热:osoenergy.turn_off
osoenergy.turn_off(文档见 source/_actions/osoenergy.turn_off.markdown)与osoenergy.turn_on互为镜像:关闭加热时,until_temp_limit设为true表示关闭加热直到达到最低温度,设为false表示仅关闭一小时。二者共享同一个参数名,便于记忆。
action: osoenergy.turn_off target: entity_id: water_heater.heater data: until_temp_limit: true2. 设置 V40 Min 防冷水保护阈值:osoenergy.set_v40_min
osoenergy.set_v40_min(文档见 source/_actions/osoenergy.set_v40_min.markdown)用于设置 40°C 混合水的最低容量(升)。当当前可用容量低于该值时,热水器会自动开启加热,以防冷水用尽。参数v40_min类型为 float,取值范围 200~550,必填。示例:
action: osoenergy.set_v40_min target: entity_id: water_heater.heater data: v40_min: 240这一操作与turn_on结合可形成"双保险":既可按需主动加热,又可通过 V40 Min 阈值触发被动保护加热。
3. 按小时设定目标温度曲线:osoenergy.set_profile
osoenergy.set_profile(文档见 source/_actions/osoenergy.set_profile.markdown)允许为一天中每个小时(本地时间)设置目标温度,温度范围为 10~75°C,字段名为hour_00至hour_23,均为可选的 integer 类型——只需提供要修改的小时,未提供的小时保持原值。例如:
action: osoenergy.set_profile target: entity_id: water_heater.heater data: hour_06: 75 hour_07: 75 hour_18: 60上述配置在早晨时段(06:00、07:00)抬高目标温度,傍晚(18:00)降低目标温度,可结合turn_on的短时加热实现更精细的舒适度与能耗平衡。
4. 度假离家:osoenergy.turn_away_mode_on
osoenergy.turn_away_mode_on(文档见 source/_actions/osoenergy.turn_away_mode_on.markdown)用于按指定天数开启离家模式(激活热水器的 Holiday Mode),参数duration_days为 integer 类型,取值范围 1~365,必填。度假前开启该模式,可避免热水器在无人使用时持续耗能。
action: osoenergy.turn_away_mode_on target: entity_id: water_heater.heater data: duration_days: 7在自动化与脚本中的完整落地示例
将以上能力组合起来,可以构建一个典型的"按电价分时加热"自动化:在低谷时段通过turn_on将热水器加热至最高温度,在高峰时段用set_profile下调目标温度,并结合set_v40_min保证基础热水供给。
alias: 热水器分时加热策略 triggers: - trigger: time at: "22:30:00" conditions: [] actions: # 低谷电价时段:加热直到最高温度 - action: osoenergy.turn_on target: entity_id: water_heater.heater data: until_temp_limit: true # 设定 V40 Min 保护阈值,防止热水耗尽 - action: osoenergy.set_v40_min target: entity_id: water_heater.heater data: v40_min: 240 mode: single疑难排查与进一步学习
如果在配置osoenergy.turn_on时遇到问题,可以从以下方向排查(对应 source/_actions/osoenergy.turn_on.markdown 中的标准排障指引):
- 确认集成已完成配置:OSO Energy 集成需要先通过订阅密钥完成 config flow 配置,设备被自动发现后才会出现对应的
water_heater实体; - 确认目标选择正确:目标必须指向
water_heater域的实体,错误的域或无效的实体 ID 会导致操作无法执行; - 确认
until_temp_limit已设置:该参数为必填项,遗漏会导致操作校验失败; - 检查网络与云服务状态:该集成基于云轮询(Cloud Polling),离线或订阅密钥失效时操作将无法到达设备。
如需进一步深入,可继续阅读以下仓库文档:
- OSO Energy 集成总览:了解二进制传感器、传感器与热水器实体的完整能力清单;
- osoenergy.turn_off:关闭加热的镜像操作;
- osoenergy.set_v40_min:设置 40°C 混合水最低容量;
- osoenergy.set_profile:按小时设置目标温度曲线;
- osoenergy.get_profile:读取当前 24 小时温度曲线;
- osoenergy.turn_away_mode_on:按天数开启离家模式。
通过osoenergy.turn_on及其配套操作,你可以在 Home Assistant 中完整掌控 OSO Energy 热水器的加热行为,实现按需加热、防冷水保护和假期节能的自动化管理。
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考