Home Assistant 风扇调速动作fan.increase_speed完全指南:按步进提升风速的自动化实战
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
Increase fan speed(fan.increase_speed)是 Home Assistant 中用于以步进方式提升风扇风速的内置动作(action)。与需要精确指定目标值的fan.set_percentage不同,它适合"只要再多一点风"的场景:由你决定每步提升的百分比,或完全交给设备自行决定步长。本文完整继承 source/_actions/fan.increase_speed.markdown 的官方说明,并结合 fan 集成文档 与同族动作文档,讲解在 UI 与 YAML 两种方式下的配置方法、目标(target)选择规则、参数语义,以及可直接复制的自动化示例。
适用场景:何时该用"增加风速"而不是"设置风速"
风扇实体的状态只有 On 或 Off,但速度本身是一个可连续调节的百分比属性(fan 集成文档)。当你的需求是"在现有基础上再大一点"、但又不关心精确的最终档位时,fan.increase_speed是最合适的动作:
- 午后室温上升,想把办公室风扇从当前档位再调高 10%,而不是直接拉到满速;
- 开始做饭时,希望厨房抽油烟机快速提升一个更大的步进(如 20%);
- 晚间睡前想把卧室风扇温柔地降下来(对应使用 fan.decrease_speed)。
如果目标是把风速精确设置到某个确定值(例如"安静模式 35%"或"强风 100%"),则应改用 fan.set_percentage。这两个动作是文档中related_actions直接标注的互补动作(见 fan.increase_speed.markdown 的 front matter)。
使用前提:风扇必须支持速度控制
在开始配置前要确认一个前提:该动作仅对支持速度控制(speed control)的风扇实体可用。Home Assistant 的风扇功能是可裁剪的——同一个 Fan 集成 下,有的设备只支持开/关,有的支持预设模式,有的才支持百分比调速。从源码结构看,文档中"Supported functionality"清单(开关、百分比调速、预设模式、摆动、转向、步进调速)逐项对应可用的动作集,实际能调用的动作取决于设备暴露的能力。因此,如果在 UI 的目标选择器中看不到"增加风扇速度"选项,多半是该风扇设备不支持速度调节。
从用户界面(UI)创建动作
无需编写 YAML,即可在自动化或脚本中完成全部配置。操作步骤(继承自原文档):
- 打开设置 > 自动化与场景(Settings > Automations & scenes)。
- 打开已有的自动化或脚本;若新建,选择创建自动化 > 创建新自动化。
- 若是新建自动化,先在当……时(When)区域添加一个触发条件。
- 在然后执行(Then do)区域点击添加动作(Add action)。
- 在按目标(By target)下选择要控制的风扇(目标规则详见下文"动作的目标(Targets)")。也可以直接选择某个区域、楼层、设备或标签。
- 从该目标可用的动作列表中,选择增加风扇速度(Increase fan speed)。
- 可选:在增量(Increment)中设置每次速度提升的百分比。
- 点击保存(Save)。
UI 中的选项
| 选项 | 说明 | 是否必填 |
|---|---|---|
| 增量(Increment) | 速度提升的百分比数值 | 否 |
若增量留空,则由集成(integration)自行决定步长——不同厂商设备的默认步进可能不同,这是"交给设备决定"的典型用法。
在 YAML 中使用该动作
如果直接编写 YAML,或希望了解 Home Assistant 底层的字段语义,动作的完整调用形式如下(继承自原文档基础示例):
action: fan.increase_speed target: entity_id: fan.office data: percentage_step: 10action:固定为fan.increase_speed。target.entity_id:目标风扇实体,如fan.office。data.percentage_step:每次提升的百分比,上例表示将fan.office的风速提升10%。
YAML 中的参数
| 字段 | 说明 | 是否必填 | 类型 |
|---|---|---|---|
percentage_step | 风速每次提升的百分比 | 否 | 整数(integer) |
与 UI 的Increment语义完全一致:percentage_step省略时,步长由集成决定;指定时(如10、20)则按该百分比步进提升。
动作的目标(Targets)
fan.increase_speed必须指定目标——目标是动作的作用对象(原文 Targets 章节)。你可以将动作指向单个实体、设备、区域、楼层或标签,Home Assistant 会对该目标背后匹配到的每一个 fan 实体执行动作:
- 实体(Entity):某一个具体的 fan 实体,例如
fan.living_room。 - 设备(Device):该设备所属的全部 fan 实体。
- 区域(Area):该房间/区域内的全部 fan 实体。
- 楼层(Floor):该楼层上的全部 fan 实体。
- 标签(Label):共享同一标签的全部 fan 实体。
此外,一次动作可以混选多种目标类型,例如同时指定一个具体实体加一个区域,动作会一次性作用于两者,适合"所有风扇一起提速"的批量场景。
实测方式:无需写 YAML 的验证入口
配置完成后,可以在不编写任何 YAML 的情况下先验证动作是否按预期工作:进入设置 > 工具 > 动作(Settings > Tools > Actions),搜索fan.increase_speed,填写字段后点击执行动作(Perform action),即可在真实实体上观察效果。这对于调试步长是否合理、目标是否匹配非常有效。
实战示例一:中午自动提升办公室风扇
白天室温逐渐升高时,可定时将风扇风速小幅调高,而不是直接切换到满功率。场景设定(继承自原文档):
- 触发:时间 12:00
- 动作:增加风扇速度
- 目标:办公室风扇
- 增量:10
automation: alias: "Increase office fan at midday" triggers: - trigger: time at: "12:00:00" actions: - action: fan.increase_speed target: entity_id: fan.office data: percentage_step: 10实战示例二:开始做饭后给厨房风扇更大步进
烹饪开始时,希望风扇更快地加大排风量。场景设定(继承自原文档):
- 触发:状态变化——灶台罩灯变为 on
- 动作:增加风扇速度
- 目标:厨房风扇
- 增量:20
automation: alias: "Increase kitchen fan when cooking starts" triggers: - trigger: state entity_id: light.stove_hood to: "on" actions: - action: fan.increase_speed target: entity_id: fan.kitchen data: percentage_step: 20与同族动作的搭配使用
fan.increase_speed在文档 front matter 中声明了两个密切相关的动作(完整列表见 source/_actions/fan.increase_speed.markdown):
- fan.decrease_speed:按步进降低风速,参数同为
percentage_step(UI 中称"减量 Decrement")。典型场景是睡前将卧室风扇从当前档位调低 10%,或日落后将客厅风扇调低 20%。 - fan.set_percentage:精确设置风速,参数为必填的
percentage(0–100 整数)。注意文档特别提醒:0虽然被选择器允许,但部分设备可能将其视为关闭或直接忽略。
从文档结构可以推断,fan.increase_speed/fan.decrease_speed是"相对调节"一族,fan.set_percentage是"绝对设置"一族,三者在自动化中常常配合使用:例如先fan.set_percentage设定基础档位,再按需fan.increase_speed做增量微调。若要更进一步,还可查阅同目录下的 fan.turn_on、fan.oscillate 等动作,构建完整的风扇控制自动化。
要点速查
fan.increase_speed仅适用于支持速度控制的风扇实体。percentage_step(UI 中为"增量")可省略;省略时步长由集成决定。- 需要精确档位时改用
fan.set_percentage;需要降低时改用fan.decrease_speed。 - 目标支持实体、设备、区域、楼层、标签,且可混合指定多种目标。
- 先用设置 > 工具 > 动作实测,再写入自动化,可避免不必要的调试往返。
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考