Home Assistant humidifier.turn_off 动作完全指南:在自动化中关闭加湿器
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
本文围绕 Home Assistant 文档仓库中的动作参考文档 humidifier.turn_off.markdown 展开,系统讲解humidifier.turn_off这一动作(Action)的定位、图形界面与 YAML 两种配置方式、目标(Target)选择规则,以及一个可直接复制的时间触发自动化示例。读完本文,你将能够准确地在自动化、脚本或开发工具中调用该动作,将任意加湿器、除湿机或湿度调节器(hygrostat)实体切换为关闭状态。
动作定位:Humidifier 域下的关机指令
humidifier.turn_off属于 Home Assistant 的humidifier域,其文档元数据明确给出定义:"Turns off a humidifier."(关闭一个加湿器)。根据该动作文档的用途说明,这个动作可用于关闭**加湿器、除湿机或 hygrostat(湿度调节器)**三类实体,典型场景是夜间停止加湿以降低噪音。
从文档仓库中的集成参考文档 humidifier.markdown 可以看到,Humidifier 集成的设计目标就是"控制和监控加湿器、除湿机及湿度调节器设备",并且实体状态只有On或Off两种正常状态(另有Unavailable与Unknown两种系统状态)。这正是humidifier.turn_off的作用语义:将该动作命中的所有 humidifier 实体状态置为 Off。该集成自 0.112 版本引入(ha_release: '0.112'),属于 entity 类型集成。
在图形界面中使用该动作
如果你偏好可视化地构建自动化或脚本,可以在界面上逐步完成配置。文档给出了完整的 7 步操作流程:
- 进入设置(Settings)> 自动化与场景(Automations & scenes)页面;
- 打开一个已有的自动化或脚本,或者选择创建自动化(Create automation)> 创建新自动化(Create new automation);
- 如果是新建自动化,需要在When部分添加触发器;脚本则不需要触发器,它们由其他对象调用时才会执行;
- 在Then do部分选择添加动作(Add action);
- 选择要控制的对象。在按目标(By target)下(目标说明见下文"动作的目标"一节),选择要关闭的加湿器实体;
- 在针对该目标显示的动作列表中,选择关闭加湿器(Turn off humidifier);
- 选择保存(Save)。
界面侧没有任何额外选项:该动作除目标本身外没有附加选项。也就是说,你不需要也不能在 UI 里为它指定参数。
在 YAML 中使用该动作
如果你直接编写 YAML,或者想弄清楚 Home Assistant 底层究竟执行了什么,YAML 中该动作的字段名为humidifier.turn_off。文档给出的最简示例如下:
action: action: humidifier.turn_off target: entity_id: humidifier.bedroom这个示例的作用是把humidifier.bedroom实体关闭。同样地,该动作除 target 外没有附加的 YAML 字段,也没有必填的data字段——这与 humidifier.set_humidity 这类需要data.humidity(0~100 的整数)参数的动作形成对比。
动作的目标(Target):指向谁就作用于谁
所有动作文档(包括本文对应的文档)都通过同一个公共片段 targets.md 解释目标规则,humidifier.turn_off亦不例外:该动作必须指定一个目标,目标可以是:
- 实体(Entity):一个具体的 humidifier 实体,例如
humidifier.living_room; - 设备(Device):属于某个设备的所有 humidifier 实体;
- 区域(Area):某个房间/区域内的所有 humidifier 实体;
- 楼层(Floor):某一层的所有 humidifier 实体;
- 标签(Label):共享同一标签的所有 humidifier 实体。
Home Assistant 会对目标背后所有匹配的 humidifier 实体逐个执行关闭操作。还可以在一次动作中混用多种目标类型,例如同时指定一个具体实体和一个区域,动作会同时作用于两者。
一个重要的限制(文档"Good to know"部分明确指出):该动作只对 humidifier 实体生效。如果目标解析出的实体不属于 humidifier 域,动作不会对其生效。
实战示例:夜间定时关闭卧室加湿器
文档自带一个完整可复制的自动化示例:在每天 23:00 关闭卧室加湿器,让整夜保持安静。其逻辑结构为:
- 触发器(Trigger):时间触发,23:00;
- 动作(Action):关闭加湿器;
- 目标(Target):卧室加湿器实体。
对应的完整 YAML 如下:
automation: - alias: "Turn off the bedroom humidifier at night" triggers: - trigger: time at: "23:00:00" actions: - action: humidifier.turn_off target: entity_id: humidifier.bedroom从这段示例可以看出该动作在自动化actions序列中的标准写法:一个 map,action字段填写域.动作名(humidifier.turn_off),target字段通过entity_id指定实体。你可以将该动作插入任何自动化序列中,例如在多个动作之间与其他 humidifier 动作组合。
如何亲手验证:开发者工具中的 Actions 面板
文档为每个动作提供了统一的"自己动手试"路径:打开设置(Settings)> 工具(Tools)> 动作(Actions)(即开发者工具中的 Actions 面板),搜索humidifier.turn_off,填入目标字段后选择执行动作(Perform action)。这样无需编写任何 YAML,就能在真实实体上直接观察动作效果——例如验证关闭后实体状态从On变为Off、以及实体卡片 UI 的相应变化。
相关动作:构建完整的湿度控制流程
该文档在 front matter 中声明了四个相关动作(related_actions),它们与humidifier.turn_off共同覆盖 humidifier 域的全部常用控制面:
| 动作 | 作用 | 文档 |
|---|---|---|
humidifier.turn_on | 打开加湿器 | humidifier.turn_on.markdown |
humidifier.toggle | 在开/关之间切换 | humidifier.toggle.markdown |
humidifier.set_mode | 设置运行模式(如 eco、away,需设备支持多模式) | humidifier.set_mode.markdown |
humidifier.set_humidity | 设置目标湿度(data.humidity,0~100) | humidifier.set_humidity.markdown |
一个典型的组合场景:早晨 07:15 用humidifier.set_humidity把目标湿度调到 60%,夜间 23:00 用本文的humidifier.turn_off关闭设备;如果你希望用物理按钮控制,则可用humidifier.toggle绑定input_button的状态触发器。由于turn_off、turn_on、toggle三个动作的参数结构完全一致(只有 target),你可以互换替换来调试自动化逻辑。
小结与适用前提
- 动作字段名:
humidifier.turn_off,无data参数,仅有必填的target; - 目标支持实体、设备、区域、楼层、标签五种类型,可混用;
- 仅对 humidifier 实体生效,设备需处于可用状态(非Unavailable)才能被成功控制;
- 适用前提:你的安装中包含支持 humidifier 域的集成(该集成自 0.112 起内置于 Home Assistant),且实体已在系统中注册。
如需继续深入,可阅读仓库中的集成文档 humidifier.markdown(含实体状态与设备类别说明)以及上文列出的同域动作参考文档。
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考