news 2026/9/16 14:25:24

Home Assistant 恒温器目标温度设置完全指南:climate.set_temperature 动作详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant 恒温器目标温度设置完全指南:climate.set_temperature 动作详解

Home Assistant 恒温器目标温度设置完全指南:climate.set_temperature 动作详解

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

本指南以 Home Assistant 官方文档仓库(home-assistant.io)中的 climate.set_temperature 动作文档 为核心,系统讲解如何通过用户界面与 YAML 两种方式设置温控设备(恒温器、空调等 HVAC 设备)的目标温度,涵盖单点温度与温度区间(heat/cool 模式)的完整参数体系、目标选择(Targets)机制、以及可直接复制的实战自动化示例。读完本篇,你将能够在自动化、脚本中熟练、准确地调用climate.set_temperature,并理解它与hvac_modetarget_temp_hightarget_temp_low等参数之间的配合关系。

动作概述

climate.set_temperature是 Home Assistant 内置 Climate 域(domain)提供的标准动作(action),用于设置气候设备的目标温度,例如把房间加热到舒适温度。该动作属于 Climate 集成 的一部分,Climate 集成负责控制与监控 HVAC(供暖、通风和空调)设备及恒温器。

从该动作文档的元信息(front matter)可以看到它的基本定义:

  • 动作名称climate.set_temperature
  • 所属域climate
  • 官方描述:设置气候设备的目标温度(Sets the target temperature of a climate device
  • 关联动作climate.set_hvac_modeclimate.set_humidityclimate.set_preset_mode

Home Assistant 支持在 UI 中可视化地构建该动作,也支持在 YAML 中直接引用,下面分别说明。

通过用户界面设置目标温度

如果你倾向于可视化地构建自动化与脚本,无需掌握任何 YAML 知识即可完成配置。官方文档给出了完整的操作步骤:

  1. 进入设置(Settings)>自动化与场景(Automations & scenes)
  2. 打开现有的自动化或脚本;若为新建,选择创建自动化(Create automation)>创建新自动化(Create new automation)
  3. 若正在配置新的自动化,需在When(触发条件)部分添加触发器;脚本则不需要触发器——它们在被其他内容调用时才运行。
  4. Then do(然后执行)部分,选择添加动作(Add action)
  5. 按目标(By target)下(参见下文 Targets(动作的目标)),选择要控制的温控设备。
  6. 从该目标展示的动作列表中,选择设置恒温器目标温度(Set thermostat target temperature)
  7. 设置要应用的温度选项。
  8. 选择保存(Save)

UI 中的选项

在 UI 中,该动作提供以下可选配置项(均为可选,非必填):

选项说明是否必填
目标温度(Target temperature)温度设定点。当设备以单一温度为目标时使用。
目标温度上限(Upper target temperature)目标区间中的最高温度。当设备以温度区间为目标时(例如 heat/cool 模式),与目标温度下限一起使用。
目标温度下限(Lower target temperature)目标区间中的最低温度。当设备以温度区间为目标时(例如 heat/cool 模式),与目标温度上限一起使用。
HVAC 模式(HVAC mode)应用温度前要切换到的 HVAC 模式。若未设置,则保持当前模式。

在 YAML 中使用该动作

如果你直接编写 YAML,或想确切了解 Home Assistant 底层执行逻辑,文档提供了完整的字段级技术参考(字段名、类型、是否必填)。

YAML 参数详解

参数类型是否必填说明
temperaturefloat温度设定点。当设备以单一温度为目标时使用。不要target_temp_hightarget_temp_low同时使用。
target_temp_highfloat目标区间中的最高温度。当设备以温度区间为目标时(如 heat/cool 模式),须与target_temp_low一起使用。
target_temp_lowfloat目标区间中的最低温度。当设备以温度区间为目标时(如 heat/cool 模式),须与target_temp_high一起使用。
hvac_modestring应用温度前要切换到的 HVAC 模式。若未设置,则保持当前模式。

基础示例:设置单一目标温度

action: climate.set_temperature target: entity_id: climate.living_room data: temperature: 21 hvac_mode: heat

该示例将climate.living_room设置为以 21 度为目标进行加热(heat)。

区间示例:heat/cool 模式下的温度范围

action: climate.set_temperature target: entity_id: climate.living_room data: target_temp_high: 24 target_temp_low: 20 hvac_mode: heat_cool

该示例将climate.living_room设置为 heat/cool 模式,目标温度区间为 20~24 度。

关于hvac_mode的取值

hvac_mode的可用取值取决于具体温控设备。参考同仓库的 climate.set_hvac_mode 动作文档 以及 Climate 集成文档,常见模式包括:

  • off:设备关闭
  • heat:加热到目标温度
  • cool:制冷到目标温度
  • heat_cool:在目标温度区间内加热/制冷
  • auto:按日程、学习行为或 AI 自动运行
  • dry:干燥/除湿模式
  • fan_only:仅开启风扇,不进行加热或制冷

需要特别注意的是:若在climate.set_temperature中省略hvac_mode,Home Assistant 会保持当前模式;若提供该参数,则会在应用温度之前先切换模式。

Targets(动作的目标)

该动作必须有目标(target)。目标即动作的作用对象,可以把动作指向单个实体(entity)、设备(device)、区域(area)、楼层(floor)或标签(label),Home Assistant 会对目标背后的每一个匹配的climate实体执行动作。可用的目标类型(来自 targets.md):

  • 实体(Entity):单个具体的climate实体,如climate.living_room
  • 设备(Device):属于某设备的全部climate实体。
  • 区域(Area):某房间/区域内的全部climate实体。
  • 楼层(Floor):某楼层上的全部climate实体。
  • 标签(Label):共享某标签的全部climate实体。

你还可以在同一个动作中混合多种目标类型,例如同时把某个具体实体和某个区域作为目标,一次执行同时作用于两者。

实战示例:夜间降低温度

官方文档提供了一个非常实用的场景:在就寝时间将温控设备调至较低温度,以在夜间节省能源。

  • 触发器(Trigger):时间 22:30
  • 动作(Action):设置恒温器目标温度
    • 目标(Target):客厅恒温器
    • 目标温度(Target temperature):18

完整的自动化 YAML 如下:

automation: - alias: "Lower the living room temperature at night" triggers: - trigger: time at: "22:30:00" actions: - action: climate.set_temperature target: entity_id: climate.living_room data: temperature: 18

结合climate.set_hvac_mode文档中的另一个思路,你还可以把"室内温度超过阈值就切换制冷"等模式切换动作与温度设置动作组合使用,构建更复杂的温控逻辑。

理解底层:Climate 实体的状态与属性

为了让climate.set_temperature用得更准确,有必要理解温控实体的状态模型(来自 Climate 集成文档)。

实体状态(State)

HVAC 实体依据具体设备及其能力,可能处于以下状态:

  • Off:设备已关闭
  • Heat:设备已设置为加热到目标温度
  • Cool:设备已设置为制冷到目标温度
  • Heat/Cool:设备已设置为在目标温度区间内加热/制冷
  • Auto:设备已设置为按日程、学习行为或 AI 自动运行
  • Dry:设备已设置为干燥/除湿模式
  • Fan only:仅风扇开启,不进行加热或制冷
  • Unavailable:实体当前不可用
  • Unknown:状态尚未知晓

不同恒温器可用的状态集合不同,具体取决于你使用的设备。

实体属性(Attributes)

Climate 实体还有额外的属性来表示恒温器的运行状态:

名称说明
hvac_action当前运行状态:heating/cooling/idle
fan_mode风扇当前是否开启:on/off

理解这些状态与属性,有助于你在自动化触发条件中判断"设备当前是否真的在加热/制冷",从而与climate.set_temperature动作形成"感知—决策—执行"的完整闭环。

在开发工具中立即测试

无需编写任何 YAML,你就可以在真实的实体上验证该动作的效果:打开设置(Settings)>工具(Tools)>动作(Actions),搜索climate.set_temperature,填写字段后选择执行动作(Perform action),即可在真实实体上看到结果(参见 try_it.md)。

动作使用要点(Good to know)

  • 单一温度 vs. 温度区间:根据设备支持的能力选择其一。若设备支持 heat/cool 模式,则应同时使用target_temp_hightarget_temp_low构成区间;否则使用单个temperature
  • temperature与区间参数互斥:不要将temperaturetarget_temp_high/target_temp_low混用。
  • hvac_mode为可选:省略时保持当前模式,提供时先切换模式再应用温度。
  • 区间参数成对使用target_temp_hightarget_temp_low必须一起出现才能构成有效的目标区间。

相关动作

以下动作与本动作配合使用效果最佳:

  • 设置恒温器 HVAC 模式(climate.set_hvac_mode):切换温控设备的工作模式,例如在制热、制冷、关闭之间切换。
  • climate.set_humidity:设置气候设备的湿度目标。
  • climate.set_preset_mode:设置气候设备的预设模式(如节能、舒适等)。

典型组合思路:先用climate.set_hvac_mode把设备切入正确模式,再用climate.set_temperature下发目标温度;或将两者合并——在climate.set_temperature中直接携带hvac_mode参数一步完成。

常见问题排查

如果在实际使用中动作没有生效,可依次检查:

  1. 目标是否有效target.entity_id是否真实存在且处于可用(非Unavailable/Unknown)状态。
  2. 参数组合是否正确:是否误将temperature与区间参数混用,或区间参数是否成对出现。
  3. 设备能力限制:目标设备是否支持你传入的hvac_mode及单点/区间温度能力——不同温控设备的能力差异较大。
  4. 模式优先级:若同时传入hvac_mode与温度参数,注意动作会先切换模式再应用温度,请确认最终期望的行为。

若问题依旧,可前往 Home Assistant 社区论坛(community.home-assistant.io)附上你调用的动作与预期结果寻求帮助,也可以借助 AI 助手用自然语言描述需求来获得动作建议(参见 stuck.md)。

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 14:22:52

红黑树核心原理与工程实践详解

1. 红黑树学习中的典型困惑解析第一次接触红黑树时,我被那五条性质规则和复杂的旋转操作彻底绕晕了。记得当时盯着"黑色高度平衡"这个概念发了半小时呆,完全不明白为什么非要这样设计。后来在实现插入操作时,更是被各种case的分支判…

作者头像 李华
网站建设 2026/9/16 14:21:07

SpringBoot3+Vue3校园跳蚤市场毕业设计实战

简介:本资源是一套面向计算机专业本科生的2025届毕业设计实战项目——大学校园跳蚤市场平台,聚焦高校二手交易场景,完整覆盖需求分析、前后端开发、数据库设计与部署实践,适用于Java全栈入门到进阶学习者及课程设计/毕设选题参考。…

作者头像 李华
网站建设 2026/9/16 14:19:31

机械手PID控制与Simulink仿真:从PD控制到跟踪微分器

简介:面向机械手控制课程设计与毕业设计场景,一套基于Matlab的机械手PID控制源码包,提供了从动力学建模、控制器设计到Simulink仿真验证的完整参考路径。资源主要面向具备一定Matlab基础、需要完成机械手或机器人控制相关作业的高校学生&…

作者头像 李华