
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_mode、target_temp_high、target_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_mode、climate.set_humidity、climate.set_preset_modeHome Assistant 支持在 UI 中可视化地构建该动作也支持在 YAML 中直接引用下面分别说明。通过用户界面设置目标温度如果你倾向于可视化地构建自动化与脚本无需掌握任何 YAML 知识即可完成配置。官方文档给出了完整的操作步骤进入设置Settings自动化与场景Automations scenes。打开现有的自动化或脚本若为新建选择创建自动化Create automation创建新自动化Create new automation。若正在配置新的自动化需在When触发条件部分添加触发器脚本则不需要触发器——它们在被其他内容调用时才运行。在Then do然后执行部分选择添加动作Add action。在按目标By target下参见下文 Targets动作的目标选择要控制的温控设备。从该目标展示的动作列表中选择设置恒温器目标温度Set thermostat target temperature。设置要应用的温度选项。选择保存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_high、target_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 模式目标温度区间为 2024 度。关于hvac_mode的取值hvac_mode的可用取值取决于具体温控设备。参考同仓库的 climate.set_hvac_mode 动作文档 以及 Climate 集成文档常见模式包括off设备关闭heat加热到目标温度cool制冷到目标温度heat_cool在目标温度区间内加热/制冷auto按日程、学习行为或 AI 自动运行dry干燥/除湿模式fan_only仅开启风扇不进行加热或制冷需要特别注意的是若在climate.set_temperature中省略hvac_modeHome Assistant 会保持当前模式若提供该参数则会在应用温度之前先切换模式。Targets动作的目标该动作必须有目标target。目标即动作的作用对象可以把动作指向单个实体entity、设备device、区域area、楼层floor或标签labelHome Assistant 会对目标背后的每一个匹配的climate实体执行动作。可用的目标类型来自 targets.md实体Entity单个具体的climate实体如climate.living_room。设备Device属于某设备的全部climate实体。区域Area某房间/区域内的全部climate实体。楼层Floor某楼层上的全部climate实体。标签Label共享某标签的全部climate实体。你还可以在同一个动作中混合多种目标类型例如同时把某个具体实体和某个区域作为目标一次执行同时作用于两者。实战示例夜间降低温度官方文档提供了一个非常实用的场景在就寝时间将温控设备调至较低温度以在夜间节省能源。触发器Trigger时间 22:30动作Action设置恒温器目标温度目标Target客厅恒温器目标温度Target temperature18完整的自动化 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 集成文档。实体状态StateHVAC 实体依据具体设备及其能力可能处于以下状态Off设备已关闭Heat设备已设置为加热到目标温度Cool设备已设置为制冷到目标温度Heat/Cool设备已设置为在目标温度区间内加热/制冷Auto设备已设置为按日程、学习行为或 AI 自动运行Dry设备已设置为干燥/除湿模式Fan only仅风扇开启不进行加热或制冷Unavailable实体当前不可用Unknown状态尚未知晓不同恒温器可用的状态集合不同具体取决于你使用的设备。实体属性AttributesClimate 实体还有额外的属性来表示恒温器的运行状态名称说明hvac_action当前运行状态heating/cooling/idlefan_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_high与target_temp_low构成区间否则使用单个temperature。temperature与区间参数互斥不要将temperature与target_temp_high/target_temp_low混用。hvac_mode为可选省略时保持当前模式提供时先切换模式再应用温度。区间参数成对使用target_temp_high与target_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参数一步完成。常见问题排查如果在实际使用中动作没有生效可依次检查目标是否有效target.entity_id是否真实存在且处于可用非Unavailable/Unknown状态。参数组合是否正确是否误将temperature与区间参数混用或区间参数是否成对出现。设备能力限制目标设备是否支持你传入的hvac_mode及单点/区间温度能力——不同温控设备的能力差异较大。模式优先级若同时传入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),仅供参考