十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Home Assistant climate.set_fan_mode 动作完全指南:在自动化与脚本中设置温控设备风机模式

Home Assistant climate.set_fan_mode 动作完全指南:在自动化与脚本中设置温控设备风机模式 Home Assistant climate.set_fan_mode 动作完全指南在自动化与脚本中设置温控设备风机模式【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读climate.set_fan_mode是 Home Assistant 中用于设置 ClimateHVAC/温控设备风扇模式的核心动作action典型的应用场景包括通过自动化在室温升高时自动把空调风速调到高档、按时间段切换风扇静音/自动模式或在脚本中批量调整多台温控设备的风扇档位。读完本文你将掌握该动作在 UI 与 YAML 两种方式下的完整用法、target五种定位方式、fan_mode参数的取值规则以及如何结合源码级的实体属性与真实集成如 Palazzetti、IntesisHome、MQTT Climate理解其底层工作原理。动作概述它做了什么依据仓库中的动作定义文档 source/_actions/climate.set_fan_mode.markdown该动作的作用是Sets the fan mode of a climate device.即设置 Climate 设备的风扇模式。它面向的对象是 HVAC 实体恒温器、空调、热泵、暖气炉等例如把空调的风扇从低速切到高速或切换为自动/静音模式。它属于 Home Assistant 官方提供的core actionaction 名为climate.set_fan_mode所属域domain为climate。值得强调的是风扇模式与 HVAC 模式climate.set_hvac_mode如heat/cool/off和摆动模式climate.set_swing_mode、climate.set_swing_horizontal_mode是三个相互独立的控制维度。文档的related_actions字段即列出了这三个相关动作说明它们经常配合使用。从用户界面UI调用该动作如果你习惯使用可视化编辑器构建自动化和脚本可按以下步骤操作对应文档 source/_actions/climate.set_fan_mode.markdown 的逐步指引进入设置Settings 自动化与场景Automations scenes。打开一个已有的自动化或脚本也可以选择创建自动化Create automation 创建新自动化Create new automation。如果是新建自动化需要在当……时When区域添加一个触发器。脚本Script不需要触发器——它们在被其他逻辑调用时才运行。在然后执行Then do区域选择添加动作Add action。选择你要控制的对象在目标By target下选中要控制的 Climate 设备关于 target 的详细说明见下文「动作的目标Targets」一节。在该目标展示出的动作列表中选择设置恒温器风扇模式Set thermostat fan mode。设置要应用的风扇模式Fan mode。点击保存Save。UI 中的选项选项说明Fan mode风扇模式要设置的风扇模式例如low低、medium中或high高。可用的模式取决于 Climate 设备本身。在 YAML 中使用该动作文档明确指出在 YAML 中该动作以climate.set_fan_mode引用。一个最基本的示例如下action: climate.set_fan_mode target: entity_id: climate.living_room data: fan_mode: low这段配置把climate.living_room的风扇设置为低档low。YAML 选项参考字段说明必填类型fan_mode要设置的风扇模式例如low、medium或high。可用模式取决于 Climate 设备。是string在自动化中使用炎热午后自动调高风速文档附带了一个完整的实战示例——当室内温度超过阈值时自动把空调风速调高触发器Trigger室内温度升至 26 °C 以上动作Action设置恒温器风扇模式目标Target客厅恒温器风扇模式Fan modehigh对应的完整 YAML- alias: Increase the fan speed on a hot afternoon triggers: - trigger: numeric_state entity_id: sensor.living_room_temperature above: 26 actions: - action: climate.set_fan_mode target: entity_id: climate.living_room data: fan_mode: high这个例子体现了典型的「温度传感器数值状态触发器 Climate 动作」组合numeric_state触发器监听sensor.living_room_temperature超过 26°C随后动作把客厅温控设备的风扇切到高档。你可以在自动化或脚本中直接复制并替换实体 ID 与阈值使用。动作的目标Targets该动作必须指定目标。目标就是动作的作用对象。你可以把动作指向单个实体、设备、区域、楼层或标签Home Assistant 会自动对目标背后匹配的每一个climate实体执行该动作来源source/_includes/actions/targets.md实体Entity某一个具体的 climate 实体例如climate.living_room。设备Device该设备下的每一个 climate 实体。区域Area某个房间/区域内的每一个 climate 实体。楼层Floor某一楼层上的每一个 climate 实体。标签Label共享某个标签的每一个 climate 实体。此外你可以在同一次动作中混合选择不同类型的目标。例如可以在同一个动作里同时加入一个具体实体和一个区域让动作一次性对两者执行。这意味着一次climate.set_fan_mode调用就能批量同步多台温控设备的风扇模式而无需逐个编写动作。好习惯与注意事项可用风扇模式取决于设备文档的 Good to know 部分明确强调了一条核心原则可用的风扇模式取决于 Climate 设备本身。不同厂商、不同型号的温控设备支持的档位集合完全不同写入不受支持的模式通常会被设备忽略或导致动作失败。因此在编写自动化前建议先在设置 设备与服务中查看目标设备实体的fan_modes属性确认其支持的模式列表。先实测再写 YAML文档附带的 Try it yourself 提示建议无需写任何 YAML即可通过设置 工具Tools 动作Actions打开开发者工具搜索该动作、填写字段并点击执行动作Perform action在真实实体上观察效果来源source/_includes/actions/try_it.md。这是验证模式取值是否被设备接受、排查目标选择是否正确的最快方式。组合使用相关动作文档的related_actions字段将climate.set_swing_mode、climate.set_swing_horizontal_mode和climate.set_hvac_mode列为配套动作。在真实场景中一次完整的舒适度调节往往需要同时设置 HVAC 模式制热/制冷、风扇模式和摆动模式例如制冷模式下配合高档风速和水平摆动。源码级原理从实体属性到设备命令climate 实体的fan_mode属性根据 source/_integrations/climate.markdownClimate 实体具有一个名为fan_mode的属性用于表示风扇当前的状态属性说明fan_mode风扇当前是开还是关on/off注意这里区分两个概念属性fan_mode是实体的当前状态风扇开/关或当前档位而动作climate.set_fan_mode是对设备下发指令把风扇设置为某个模式。结合 source/_docs/scripts/conditions.markdown 中的条件用法你可以把该属性用于状态条件判断例如conditions: - condition: state entity_id: climate.living_room_thermostat attribute: fan_mode state: auto即「只有当风扇模式属性为auto时才继续执行后续动作」。同一份文档还展示了针对fan_modes支持的档位列表属性的列表匹配写法可用于校验设备能力。真实集成的模式取值示例各集成对fan_mode取值的支持各不相同仓库中的集成文档给出了可参考的真实取值Palazzettisource/_integrations/palazzetti.markdown支持set_fan_mode取值为0到5递增的风扇速度、High最高档以及Auto让炉子自动设定最佳风速。IntesisHomesource/_integrations/intesishome.markdown在其支持的 action 列表中明确包含climate.set_fan_mode配合climate.set_temperature、climate.set_operation_mode、climate.set_swing_mode等一起使用。MQTT Climatesource/_integrations/climate.mqtt.markdown提供了fan_modes配置项用于声明支持的档位列表默认值为[auto, low, medium, high]同时通过fan_mode_state_topic订阅风扇模式状态、fan_mode_command_topic下发风扇模式命令。完整配置示例中可以看到fan_modes: [high, medium, low]与fan_mode_command_topic: study/ac/fan/set的搭配。这些示例印证了文档的核心论断fan_mode的合法取值完全由设备/集成决定从数字档位0–5到语义档位low/medium/high/auto再到特殊值High、on/off都可能出现使用时务必先确认目标设备的fan_modes属性。常见问题排查如果调用该动作后设备没有响应可以按以下顺序排查参考文档结尾的 Still stuck? 提示思路确认设备支持的模式检查实体属性中的fan_modes列表确保data.fan_mode的值在其中。在开发者工具中实测用「设置 工具 动作」手动执行一次排除 YAML 语法或目标选择问题。确认目标类型若使用设备/区域/标签作为目标确认目标背后确实关联了 climate 实体例如某些设备可能没有提供 climate 实体此时动作会提示无匹配目标。查看日志Home Assistant 日志中通常会有动作执行失败的报错信息指出具体原因。总结climate.set_fan_mode是控制温控设备风扇的核心动作UI 路径为「自动化与场景 → 添加动作 → 设置恒温器风扇模式」YAML 路径为action: climate.set_fan_modetargetdata.fan_mode。其目标支持实体/设备/区域/楼层/标签五种方式并可混合使用fan_mode的合法取值严格取决于设备能力如 Palazzetti 的0–5/High/AutoMQTT Climate 默认的auto/low/medium/high。配合 climate 集成文档 中的fan_mode属性与状态条件你可以构建出按温度自动提速这类实用的舒适度自动化。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表