Home Assistant Evohome 区域温度覆盖:evohome.set_zone_override 动作完整指南 Home Assistant Evohome 区域温度覆盖evohome.set_zone_override 动作完整指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本指南围绕 Home Assistant 中 Honeywell Evohome欧洲版 Total Connect ComfortTCC供暖系统的区域温度覆盖动作evohome.set_zone_override展开详细讲解如何通过可视化界面与 YAML 两种方式临时或永久覆盖某个供暖区域的目标温度并深入解析该动作背后的系统模式、覆盖模式与继承规则以及与之配套的evohome.set_dhw_override热水覆盖与evohome.set_system_mode系统模式动作。读完本文你将掌握区域温度覆盖动作的全部参数语义、自动化实战写法并能利用状态属性编写 Jinja 模板追踪覆盖状态。动作是什么覆盖区域目标温度evohome.set_zone_override用于覆盖供暖区域heating zone的计划温度setpoint。典型场景是计划表还没到升温时间但你想提前把客厅暖起来。该动作支持两种覆盖方式永久覆盖PermanentOverride不指定时长覆盖一直持续直到你手动改变或清除。临时覆盖TemporaryOverride指定时长到时后区域自动回到计划表FollowSchedule模式。从底层机制看这对应 Evohome 区域支持的三种 setpoint 模式之一详见后文覆盖模式与继承规则FollowSchedule跟随计划、TemporaryOverride临时覆盖、PermanentOverride永久覆盖。此动作本质就是让区域进入后两种覆盖模式之一。通过用户界面使用该动作如果你更习惯可视化编辑自动化与脚本Home Assistant 会逐步引导你完成配置无需编写 YAML进入SettingsAutomations scenes。打开现有的自动化或脚本或选择Create automationCreate new automation新建。新建自动化时在When区域添加触发器脚本不需要触发器脚本在被其他对象调用时运行。在Then do区域选择Add action添加动作。在By target目标选择见下文动作的目标中选择你想要覆盖的供暖区域。在该目标对应的动作列表中选择Set zone override。设置Setpoint目标温度可选设置Duration持续时长。选择Save保存。UI 中的选项选项说明Setpoint用于替代计划目标温度的新温度值。Duration覆盖持续多久后区域回到计划表。留空表示永久覆盖设置为 0 表示覆盖持续到下一个计划目标温度生效为止。通过 YAML 使用该动作如果你直接编写 YAML或想确切知道 Home Assistant 底层做了什么可以参考本小节的字段名、类型与必填性说明与可视化界面的选项一一对应。在 YAML 中该动作名称为evohome.set_zone_override。基础示例如下action: evohome.set_zone_override target: entity_id: climate.lounge_room data: setpoint: 19.5 duration: 02:00这段配置将 lounge 区域保持在 19.5 °C 两个小时之后让区域回到计划表模式。YAML 选项说明字段类型必填说明setpointfloat是用于替代计划目标温度的温度值取值范围 435 °C。durationtime否覆盖持续多久后区域回到计划表最长 24 小时。省略该字段表示永久覆盖设置为 0 表示覆盖持续到下一个计划目标温度生效为止。动作的目标该动作必须指定目标target即动作的作用对象。你可以将动作指向单个实体、设备、区域area、楼层floor或标签labelHome Assistant 会对目标背后所有匹配的climate实体执行动作Entity某一个具体的climate实体例如climate.living_room。Device属于某个设备的所有climate实体。Area某个房间/区域内的所有climate实体。Floor某一楼层上的所有climate实体。Label共享某个标签的所有climate实体。你还可以在一次动作中混合不同类型的目标例如同时指定一个具体实体和一个区域动作会同时作用于两者。目标机制原文见 source/_includes/actions/targets.md。实战自动化早晨闹钟前预热浴室下面是一个完整的实战场景在工作日闹钟响起的半小时前将浴室区域覆盖到舒适温度一小时后自动回到计划表。触发器Trigger工作日 06:00 定时触发。动作Action对浴室区域执行 Set zone override设置更高的目标温度持续一小时。对应的 YAML 自动化示例如下automation: alias: Warm the bathroom before the alarm triggers: - trigger: time at: 06:00:00 conditions: - condition: time weekday: - mon - tue - wed - thu - fri actions: - action: evohome.set_zone_override target: entity_id: climate.bathroom data: setpoint: 21 duration: 01:00该自动化在周一至周五 06:00 触发条件限制为工作日将浴室覆盖到 21 °C 一小时随后自动恢复计划表。需要知道的要点留空 duration 即永久覆盖覆盖一直持续直到你主动更改。设置 duration 则为临时覆盖到时自动还原。duration 为 0 是特例覆盖仅持续到下一个计划目标温度生效为止。覆盖与清除集成文档指出每个供暖区域还提供一个Button实体用于清除任何覆盖、将区域恢复到 Evohome 的FollowSchedule模式见 source/_integrations/evohome.markdown。也就是说除了设置覆盖你还可以通过按钮实体随时手动撤销覆盖。深入原理覆盖模式与系统模式的继承规则要真正用好区域覆盖需要理解 Evohome/TCC 的调度模型。根据 evohome 集成文档TCC 系统以location地点为单位由 112 个zone供暖区域例如房间以及可选的 DHW 控制器组成系统地点例如一栋房子用于承载系统运行模式Auto、AutoWithEco、Away、DayOff、HeatingOff、Custom最多六种并非所有系统都支持全部模式。供暖区域用于承载目标温度每个区域在 Home Assistant 中体现为一个Climate实体暴露运行模式、当前温度与目标温度。区域支持三种 setpoint 模式并会从所属系统继承运行模式FollowSchedule跟随计划目标温度由计划目标温度与继承模式共同决定。默认的Auto模式使用计划温度AutoWithEco模式则使用计划温度减去 3 °C。TemporaryOverride临时覆盖在指定时间后自动还原为 FollowSchedule。PermanentOverride永久覆盖一直持续直到后续有人为干预。两种覆盖模式之间可以直接切换且不会改变目标温度。部分系统模式会强制所有区域执行特定目标温度无论区域自身处于何种模式Away所有区域强制设置为 12 °C同时 DHW 控制器也会被关闭。HeatingOff所有区域强制设置为最低温度通常为 4 °C。某些地点还存在隐藏模式AutoWithReset行为与Auto相同但会将所有区域重置为FollowSchedule。这正是Good to know中 duration 取值留空永久、0持续到下一个计划点、否则限时覆盖与 YAML 选项里setpoint取值范围 435 °C 的来历——它们与系统的 Away/HeatingOff 强制温度及最小保护温度保持了一致。覆盖状态的追踪Jinja 模板示例集成文档还提供了利用状态属性status追踪覆盖状态的 Jinja 模板。区域的覆盖模式存放在setpoint_status中{{ state_attr(climate.kitchen, status).setpoint_status.setpoint_mode }}你可以进一步读取当前/即将生效的计划目标温度{{ state_attr(climate.kitchen, status).setpoints.next_sp_temp }}系统级运行模式则存放在控制器实体的system_mode_status中{% if state_attr(climate.my_home, status).system_mode_status.mode Away %} The system is in Away mode {% else %} The system is not in Away mode {% endif %}这些模板可以让你在仪表盘上直观显示某个区域当前是跟随计划还是被覆盖也可作为自动化触发条件例如覆盖即将结束时提前通知。温度精度说明TCC 设备自身可能以很高精度测量温度但供应商 API 上报温度时会以 0.5 °C 的精度向目标温度方向取整向上或向下这相当于其他气候系统的死区deadband代理。可能的情况下集成会借助更老的供应商 API 以 0.01 °C 精度获取当前温度。因此 Home Assistant 显示/记录的当前温度精度可能是 0.5 °C 或 0.1 °C其支持的最高精度——在设置setpoint时无需刻意追求过细的小数位。关联动作与更多参考该动作与同一域下的另外两个动作互为补充共同构成完整的 Evohome 覆盖能力evohome.set_dhw_override覆盖生活热水DHW控制器的开关状态同样支持永久或限时覆盖duration语义与区域覆盖完全一致留空永久、0持续到下一个计划状态变化、最长 24 小时。例如在低谷电价开始时打开热水两小时action: evohome.set_dhw_override target: entity_id: water_heater.dhw_controller data: state: true duration: 02:00evohome.set_system_mode设置整个系统的运行模式支持限时模式——这是 Evohome 原生的限时模式设置方式例如离家三天而不是永久 Away。使用duration配合AutoWithEco最长 24 小时或period配合Away、DayOff、Custom以天为单位、午夜回退到 Auto、今天算第一天、最长 99 天二者不能同时使用。该动作不支持目标需通过entity_id指定控制器实体。三者关系可以这样理解区域覆盖针对单个房间的温度DHW 覆盖针对热水开关而系统模式针对整栋房子的运行策略。在实际自动化中可以组合使用——例如所有人离开家时用set_system_mode切到 Away而工作日清晨预热浴室则用set_zone_override单独提温。想立即验证该动作可以打开SettingsToolsActions搜索该动作并填写字段选择Perform action即可在真实实体上查看效果无需编写任何 YAML。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考