Home Assistant 风扇调速完全指南:深入解析 fan.set_percentage 动作
Home Assistant 风扇调速完全指南深入解析 fan.set_percentage 动作【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io在 Home Assistant 中Set fan speed设置风扇速度动作fan.set_percentage是精确控制风扇转速的核心工具它允许你把风扇移动到某个具体的速度档位——比如 25% 提供安静气流或者 100% 快速降温。本篇指南以 fan.set_percentage 官方动作文档 为主体结合 Fan 集成文档 及动作侧的相关资料如 fan.increase_speed、fan.decrease_speed、fan.set_preset_mode进行纵深解读。读完本文你将掌握该动作的适用前提、UI 与 YAML 两种使用方式、target目标体系的完整用法、参数说明以及可直接复制到自动化中的完整实战示例。一、这个动作解决什么问题根据官方文档的定位Set fan speedaction is useful when you know the exact speed you want——当你知道确切想要的转速时这个动作是最直接的方案。它与相对调速动作形成互补动作用途特点fan.set_percentage设置精确速度直接指定目标百分比0–100fan.increase_speed步进升速不需要知道最终值按步或按百分比增量上调fan.decrease_speed步进降速不需要知道最终值按步或按百分比增量下调fan.set_preset_mode切换命名模式使用 low / medium / high / sleep 等设备内置模式在 Fan 集成文档 中Setting the speed as a percentage 被列为 Fan 实体提供的基础功能之一同列的功能还包括开关、预设模式、摆动、旋转方向以及步进调速。需要特别强调的是并非每台风扇都支持全部动作——一个风扇具体可用哪些动作取决于该设备对外暴露的特性feature。二、在 UI 中使用该动作如果你习惯可视化搭建自动化Home Assistant 会引导你逐步完成整个动作配置无需任何 YAML 知识。官方文档给出的完整步骤为进入SettingsAutomations scenes。打开一个现有的自动化或脚本或者选择Create automationCreate new automation。如果是新建自动化先在When触发条件部分添加一个触发器。在Then do执行动作部分选择Add action。选择要控制的对象在By target见下文 Targets 一节下选取你想要控制的风扇也可以选择某个区域area、楼层floor、设备device或标签label。从该目标可用的动作列表中选择Set fan speed。在Percentage字段中设置你想要的转速。点击Save保存。UI 中的选项选项描述是否必填Percentage要设置的转速范围 0 到 100 百分比是三、在 YAML 中使用该动作YAML 技术参考如果你直接编写 YAML或者想知道 Home Assistant 底层到底做了什么本节给出完整的技术参考包括字段名、类型与必填要求。在 YAML 中该动作的引用名为fan.set_percentage。一个最基础的示例action: fan.set_percentage target: entity_id: fan.office data: percentage: 40这段配置把fan.office设置为 40% 转速。YAML 选项Options in YAML字段描述必填类型percentage要设置的转速范围 0 到 100 百分比是integer四、Targets动作的目标体系该动作需要一个目标target。目标就是动作的作用对象。你可以把动作指向单个实体entity、设备、区域、楼层或标签Home Assistant 会对目标背后所有匹配的fan实体执行该动作。官方文档列出的目标类型如下实体Entity一个具体的fan实体例如fan.living_room。设备Device属于某台设备的所有fan实体。区域Area某个房间/区域内的所有fan实体。楼层Floor某个楼层上的所有fan实体。标签Label共享某个标签的所有fan实体。你还可以在一次动作中混用不同类型的目标。例如同一个动作中同时添加一个具体实体和一个区域让动作同时作用于这两者。五、Good to know使用须知官方文档明确列出以下几点务必牢记该动作仅对支持转速控制的风扇可用。不支持速度调节的设备不会暴露此动作。0被选择器允许但部分设备可能把 0 视为关闭或直接忽略它。因此实际表现取决于具体设备固件/驱动的实现。如果只想按步向上或向下调整速度应改用 Increase fan speed 或 Decrease fan speed 动作——这两个动作的增量字段percentage_step是可选的留空时由集成自行决定步长。六、动手试试在 Actions 工具中直接调用准备实际测试打开SettingsToolsActions开发者工具中的 Actions 服务页面搜索该动作填入字段后点击Perform action。你可以在不写一行 YAML 的情况下在真实实体上看到动作的执行结果。七、完整实战示例以下示例来自官方文档的 More examples 部分均可以直接复制并适配你自己的环境。示例一早上把办公室风扇调到安静转速用一个不那么干扰通话的轻气流开始一天触发器时间 08:00动作Set fan speed目标办公室风扇百分比35automation: alias: Office fan to 35 percent triggers: - trigger: time at: 08:00:00 actions: - action: fan.set_percentage target: entity_id: fan.office data: percentage: 35示例二午后阳光照进来时把客厅风扇调到全速当下午的太阳开始加热房间时把风扇推到全速以快速降温触发器时间 15:00动作Set fan speed目标客厅风扇百分比100automation: alias: Living room fan to full speed triggers: - trigger: time at: 15:00:00 actions: - action: fan.set_percentage target: entity_id: fan.living_room data: percentage: 100示例三与步进调速配合的三步走自动化如果你希望在同一台设备上组合精确设定 相对微调可以同时参考相邻动作的用法# 中午 12:00 相对升速 10%参照 fan.increase_speed 的示例 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 # 晚间 23:00 相对降速 10%参照 fan.decrease_speed 的示例 - alias: Decrease bedroom fan speed at night triggers: - trigger: time at: 23:00:00 actions: - action: fan.decrease_speed target: entity_id: fan.bedroom data: percentage_step: 10示例四与命名预设模式互补如果你的风扇提供 low / medium / high 等命名模式例如 ESPHome 的 Speed Fan 组件默认提供 Low、Medium、High 预设可以用fan.set_preset_mode切换模式而非直接设置原始百分比。当设备既支持百分比又支持预设时两个动作可以按场景各取所长automation: - alias: Bedroom fan low preset triggers: - trigger: time at: 22:30:00 actions: - action: fan.set_preset_mode target: entity_id: fan.bedroom data: preset_mode: low八、从源码结构看它在 Fan 域中的位置从 source/_actions 目录的归类可以看出fan.set_percentage与另外七个动作同属于 Fan 域domain: fan构成完整的风扇控制能力集fan.turn_on/fan.turn_off/fan.toggle开关与切换fan.set_percentage精确设定百分比转速本文主题fan.increase_speed/fan.decrease_speed步进调速fan.set_preset_mode切换命名预设模式fan.oscillate控制摆动fan.set_direction改变旋转方向在 Fan 集成文档 中该集成明确列出风扇实体的通用能力清单开关、百分比调速、预设模式、摆动、旋转方向、步进调速并再次强调Not every fan supports every action. The actions available for a specific fan depend on the features exposed by that device.并非每台风扇都支持所有动作可用动作取决于设备暴露的特性。这也解释了为什么fan.set_percentage只在支持速度控制的风扇上出现——底层驱动必须实现了对应的速度特性该动作才会被注册到实体上。九、相关动作以下动作与fan.set_percentage配合使用效果最佳Increase fan speed不需要选择精确的最终速度即可获得更多气流按步或按指定的百分比增量上调转速。Decrease fan speed不需要选择精确的最终速度即可获得更柔和的气流按步或按指定的百分比增量下调转速。十、仍然卡住了Home Assistant 社区能快速提供帮助可以加入 Discord 进行实时交流在社区论坛发帖时附上你调用的动作以及预期行为或在 /r/homeassistant 子版块分享你的问题。用自然语言向 AI 助手描述你的需求它们也能解释动作或推荐合适的动作。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考