ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Home Assistant Fan 集成 `fan.turn_on` 动作完全指南:开启风扇、设定风速与预设模式

Home Assistant Fan 集成 `fan.turn_on` 动作完全指南:开启风扇、设定风速与预设模式 Home Assistant Fan 集成fan.turn_on动作完全指南开启风扇、设定风速与预设模式【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iofan.turn_on是 Home Assistant 中用于开启风扇实体的核心动作action它不仅可以单纯地启动气流还支持在同一动作中同时指定风速percentage或预设模式preset mode。本文基于 官方动作文档 与 Fan 集成文档 编写完整覆盖 UI 图形化操作、YAML 配置语法、目标选择机制与自动化实战示例读完后你可以在自动化、脚本或开发者工具中熟练使用fan.turn_on并理解其在底层对不同风扇能力特性的适配逻辑。一、fan.turn_on是什么在 Home Assistant 中动作action旧称服务 service是驱动实体状态改变的唯一入口。fan.turn_on是 Fan 集成对外提供的核心动作之一其定位是开启一个风扇并可选地在该动作中同时设定转速或预设模式。从 动作文档 的 frontmatter 可以看到该动作的官方定义action:fan.turn_ondomain:fandescription: Turn on a fan. Optionally set the speed or preset mode at the same time.开启风扇可同时设定转速或预设模式related_actions:fan.turn_off、fan.toggle在 Fan 集成文档 中Home Assistant 将风扇实体可提供的通用功能概括为开/关风扇以百分比设置转速设置预设模式开/关摆动oscillation改变旋转方向逐步增大或减小转速注意并非所有风扇都支持上述全部功能。实际可用的动作与参数取决于具体设备暴露出的能力。这也正是fan.turn_on中percentage与preset_mode两个可选参数需要按能力提供的原因。风扇实体的状态在了解动作之前先明确风扇实体可能处于的状态参见 Fan 集成文档On / Off风扇实体的基础状态fan.turn_on就是让实体进入On状态的动作。Unavailable实体当前不可用例如设备离线。Unknown状态尚不可知。二、在 UI 中使用fan.turn_on对于不熟悉 YAML 的用户可以完全通过 Home Assistant 前端图形界面添加该动作步骤如下摘自 动作文档进入设置Settings 自动化与场景Automations scenes。打开现有自动化或脚本或选择创建自动化Create automation 创建新自动化Create new automation。如果是新建自动化先在When触发条件部分添加一个触发器。在Then do执行动作部分选择添加动作Add action。选择你要控制的对象在按目标By target下选取要控制的风扇。也可以选择区域area、楼层floor、设备device或标签label。在针对该目标显示的动作列表中选择Turn on fan开启风扇。可选在Percentage百分比下设置你想要的转速。可选在Preset mode预设模式下选择你想要的模式。点击保存Save。UI 中的选项选项说明是否必填Percentage风扇开启时设置的转速否Preset mode风扇开启时应用的预设模式否三、在 YAML 中使用fan.turn_on如果直接编写 YAML或希望了解 Home Assistant 在底层究竟做了什么可参考 yaml_header 说明该小节列出你在 YAML 中使用的字段名、类型以及哪些是必填项。基础示例最简单的用法是只指定目标实体action: fan.turn_on target: entity_id: fan.bedroom这会开启fan.bedroom。YAML 选项参考字段类型说明必填percentageinteger风扇开启时设置的转速否preset_modestring风扇开启时应用的预设模式否典型组合示例——开启风扇并同时设定 60% 转速action: fan.turn_on target: entity_id: fan.office data: percentage: 60四、动作的目标Target机制fan.turn_on要求必须指定一个目标target。目标是动作的作用对象你可以将动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对目标背后每一个匹配的 fan 实体执行该动作参见 targets 说明实体Entity一个具体的 fan 实体例如fan.living_room。设备Device该设备下所有 fan 实体。区域Area某个房间或区域内的所有 fan 实体。楼层Floor某一楼层上的所有 fan 实体。标签Label共享某一标签的所有 fan 实体。你也可以在同一个动作中混合选择不同类型的目标例如同时添加一个具体实体和一个区域让动作一次作用于两者。五、自动化实战示例下面两个示例直接来自 动作文档可直接复制到你的configuration.yaml中也可在 UI 中按提示配置。示例一就寝时自动开启卧室风扇在通常就寝的时间自动启动风扇触发器时间 22:00动作开启风扇目标卧室风扇automation: - alias: Turn on bedroom fan at bedtime triggers: - trigger: time at: 22:00:00 actions: - action: fan.turn_on target: entity_id: fan.bedroom示例二下午以 60% 转速开启办公室风扇如果办公室在一天中较晚的时候变热可在固定时间以中等转速自动开启风扇触发器时间 14:00动作开启风扇目标办公室风扇百分比60automation: - alias: Turn on office fan in the afternoon triggers: - trigger: time at: 14:00:00 actions: - action: fan.turn_on target: entity_id: fan.office data: percentage: 60参考结合风扇状态触发器在 Fan 集成文档 中还给出了利用fan.turned_on事件触发器进行反向控制的示例当浴室风扇持续运行 20 分钟后发送提醒通知。这展示了fan.turn_on常与事件触发器配合构成完整的开启 → 监控 → 提醒/关闭闭环automation: - alias: Bathroom fan reminder triggers: - trigger: fan.turned_on target: entity_id: fan.bathroom options: behavior: each for: 00:20:00 actions: - action: notify.send_message target: entity_id: notify.my_device data: message: The bathroom fan has been on for 20 minutes.六、动手测试开发者工具中的 Actions如果你不想写 YAML可以立即在当前实例上测试该动作进入设置Settings 工具Tools 动作Actions搜索fan.turn_on填写字段后点击执行动作Perform action即可在真实实体上看到效果参见 try_it 说明。这是验证动作参数、排查问题的最快方式。七、注意事项Good to know根据 动作文档使用fan.turn_on时有以下三点需要牢记该动作仅对支持开启功能的风扇可用。percentage字段仅对支持转速控制的风扇可用。若设备不支持调速即使传入该字段也会被忽略或报错具体行为取决于集成实现。preset_mode字段仅对支持预设模式的风扇可用。预设模式由设备集成定义如不同风量档位的命名组合具体可取哪些值请查看对应风扇实体支持的预设列表。这也是为什么在 Fan 集成文档 中强调并非每个风扇都支持每个动作具体可用的动作取决于该设备暴露的特性。八、相关动作fan.turn_on通常与以下动作搭配使用对应 related_actionsfan.turn_off关闭风扇。若风扇已处于关闭状态该动作不执行任何操作用于在特定时间或事件后停止气流达到节能、降噪或结束降温流程的目的。fan.toggle在开与关之间切换适合用单一动作翻转状态。Fan 域下的其他常用动作还包括fan.set_percentage单独调速、fan.set_preset_mode单独设置预设模式、fan.oscillate摆动、fan.set_direction旋转方向、fan.increase_speed/fan.decrease_speed步进调速它们与fan.turn_on共同构成了 Fan 集成 的完整动作体系。在自动化设计中建议按先判断设备能力、再选择对应动作与参数的原则组织逻辑即可在不同品牌风扇间写出可移植的配置。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表