news 2026/9/16 19:40:46

Home Assistant humidifier.turn_on 动作详解:用 UI、YAML 与自动化开启加湿器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant humidifier.turn_on 动作详解:用 UI、YAML 与自动化开启加湿器

Home Assistant humidifier.turn_on 动作详解:用 UI、YAML 与自动化开启加湿器

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

humidifier.turn_on是 Home Assistant 用于开启加湿类设备的核心动作,可在自动化、脚本中调用,一键启动加湿器、除湿机或湿度控制器的运行。本文基于官方文档仓库中该动作的完整参考页,覆盖其界面操作步骤、YAML 语法、目标(target)类型、开发者工具验证方式与典型自动化场景,并结合文档站的实际渲染机制补充实现层面的佐证,读完即可在自己的 Home Assistant 环境中直接落地使用。

动作概览

根据 动作定义文件 的 front matter,该动作的关键元信息如下:

属性
动作名称Turn on humidifier
动作 IDhumidifier.turn_on
所属域(domain)humidifier
功能描述Turns on a humidifier(开启一个加湿器)
关联动作humidifier.turn_offhumidifier.togglehumidifier.set_modehumidifier.set_humidity

官方说明的用途是:使用该动作开启加湿器(humidifier)、除湿机(dehumidifier)或湿度控制器(hygrostat),例如让房间开始增加湿度。需要注意的一点是:这个动作仅对 humidifier 实体生效(Good to know 一节明确指出 “This action only works with humidifier entities”)。

在用户界面中添加该动作

如果你习惯可视化构建自动化和脚本,Home Assistant 会逐步引导你完成配置,选择目标、保存即可,无需编写 YAML。官方文档给出的完整操作步骤为:

  1. 进入Settings > Automations & scenes(设置 > 自动化与场景);
  2. 打开一个已有的自动化或脚本,或选择Create automation>Create new automation
  3. 如果是新建自动化,在When(触发条件)部分添加一个触发器;脚本不需要触发器,脚本由其他对象调用时执行;
  4. Then do(执行动作)部分,选择Add action
  5. 选择要控制的对象:在By target之下(参见下文“目标类型”)选中要开启的加湿器;
  6. 在该目标列出的可用动作中,选择Turn on humidifier
  7. 选择Save保存。

UI 中的选项:该动作除目标(target)之外没有额外选项——也就是说,选对设备后直接保存即可生效,无需设置任何参数。

YAML 语法与基础示例

在 YAML 中,该动作以humidifier.turn_on作为引用名。官方文档给出的基础示例如下:

action: humidifier.turn_on target: entity_id: humidifier.bedroom

这条动作的作用就是开启实体humidifier.bedroom

YAML 选项:与 UI 一致,该动作除target之外没有额外的 YAML 选项。从仓库的站点生成逻辑可以印证这一点:doc_collections_data.rb 在构建动作索引 JSON 时,只会从页面中的{% options_yaml %}块提取参数字段(p字段);humidifier.turn_on页面不含该块,因此它在动作索引中没有参数字段映射——“无额外选项”在文档站的数据层面得到了一致的体现。

相比之下,同域的动作humidifier.set_humidity就有必填参数:见 set_humidity 文档,其data中的humidity为必填整数(0–100 的百分比)。这说明“turn 类”动作在设计上是零参数的开关型动作,参数化的控制(如目标湿度)由同域其他动作承担。

目标(Targets of the action)类型

该动作必须提供目标,目标是动作的作用对象。该说明由所有动作页共享的模板 targets.md 渲染,针对 humidifier 域的具体含义如下:

  • Entity(实体):某一个具体的 humidifier 实体,例如humidifier.living_room
  • Device(设备):属于某个设备的全部 humidifier 实体;
  • Area(区域):某个房间或区域内的全部 humidifier 实体;
  • Floor(楼层):某楼层上的全部 humidifier 实体;
  • Label(标签):共享同一个标签的全部 humidifier 实体。

Home Assistant 会对目标背后匹配的每一个 humidifier 实体执行该动作。此外,可以在同一个动作里组合多种目标类型:例如同时添加一个具体实体和一个区域作为目标,动作会同时作用于两者。这一点对批量管理多台加湿器(如“开启所有卧室设备的加湿功能”)非常实用。

用开发者工具直接验证

在把动作写入自动化之前,官方文档建议先在开发者工具中实测:打开Settings > Tools > Actions(开发者工具 > 动作),搜索humidifier.turn_on,填写字段后选择Perform action。这样无需写任何 YAML 就能看到动作在你真实实体上的效果。该入口由共享模板 try_it.md 提供,是所有动作页统一的验证路径。

实战示例:每天早上自动开启卧室加湿器

官方文档提供了一个完整的自动化示例:在固定时间开启加湿器,比如在你醒来前开始为房间加湿。

  • 触发条件(Trigger):Time: 07:00(时间 07:00)
  • 动作(Action):Turn on humidifier
    • 目标(Target):卧室加湿器

对应的完整 YAML 如下(triggers/actions为新版自动化 YAML 的键名写法):

- alias: "Turn on the bedroom humidifier in the morning" triggers: - trigger: time at: "07:00:00" actions: - action: humidifier.turn_on target: entity_id: humidifier.bedroom

按此结构,把at: "07:00:00"换成你的目标时间、entity_id换成实际的加湿器实体(或用area_iddevice_id等目标类型)即可直接复用。

配套动作:关闭、切换与设置目标湿度

humidifier.turn_on的 front matter 中声明了四个关联动作,它们共同构成加湿器域的完整控制面。以下均来自本仓库中对应的动作文档:

1.humidifier.turn_off(关闭加湿器)

来源:turn_off 文档。同样无额外选项,典型用法是夜间关闭以降噪:

- 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

2.humidifier.toggle(切换加湿器开/关)

来源:toggle 文档。开启时关闭、关闭时开启,适合绑定物理按钮,其官方示例使用input_button的状态触发:

- alias: "Toggle the bedroom humidifier with a button" triggers: - trigger: state entity_id: input_button.humidifier_toggle actions: - action: humidifier.toggle target: entity_id: humidifier.bedroom

3.humidifier.set_humidity(设置目标湿度)

来源:set_humidity 文档。这是同域中唯一带参数的动作,humidity为必填整数(0–100 百分比),官方示例:

- alias: "Raise the bedroom humidity in the morning" triggers: - trigger: time at: "07:15:00" actions: - action: humidifier.set_humidity target: entity_id: humidifier.bedroom data: humidity: 60

值得注意的是该文档 “Good to know” 中的限制说明:不同设备支持的湿度范围可能比 0–100 更窄,超出设备支持范围的动作会失败。这提示在组合使用turn_onset_humidity时,应以设备实际能力为准。

注意事项与常见误区

  • 仅对 humidifier 实体生效:对非 humidifier 域实体(如普通的 switch)调用该动作不会达到预期,这是官方文档明确列出的限制;
  • 无参数可配:不要试图在turn_ondata中传入湿度、模式等参数,参数化控制应交给humidifier.set_humidityhumidifier.set_mode等专门动作;
  • 目标可以批量:通过 area/floor/label 目标可一次开启多台设备,避免逐台编写entity_id
  • 先用开发者工具验证:在自动化正式启用前,通过Settings > Tools > Actions实测一次,确认目标实体响应正常。

文档站实现侧写:这个页面是如何生成的

对关注文档站本身的读者,本页的仓库结构值得了解:

  • 动作正文位于 source/_actions/humidifier.turn_on.markdown,属于 Jekyll 站点配置的actions集合,front matter 中的actiondomain字段是索引键;
  • 页面通过 Liquid include 复用共享段落:ui_header.md(UI 使用导语)、yaml_header.md(YAML 使用导语)、targets.md(目标类型说明)、try_it.md(开发者工具验证)、more_examples.md(更多示例引导)与 related.md(根据 front matter 的related_actions自动渲染关联动作链接列表);
  • doc_collections_data.rb 插件会在构建时把所有动作页扫描为actions_json,以<domain>.<name>(即humidifier.turn_on)为键,携带描述(d)、页面 URL(u)、标题(t)和参数映射(p),供前端 prism-doc-links.js 之类的能力在代码块中做动作链接提示;由于turn_on页面没有{% options_yaml %}块,其索引条目不包含参数映射,与“该动作无 YAML 选项”的事实一致;
  • 全部动作的可搜索总目录由 source/actions/index.html 提供,按 domain 分组渲染(humidifier 域即包含本文介绍的turn_on及其关联动作)。

综上,humidifier.turn_on是一个“零参数、强目标”的开关型动作:掌握target的多种指向方式(实体/设备/区域/楼层/标签)、开发者工具的验证流程,以及与turn_off/toggle/set_humidity的分工,就足以构建覆盖加湿器日常场景的完整自动化方案。

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 19:39:36

CSRF本质是浏览器信任机制的副产品

1. CSRF不是“跨站请求伪造”的缩写&#xff0c;而是浏览器信任机制的意外副产品很多人一看到CSRF就条件反射背出那句教科书定义&#xff1a;“Cross-Site Request Forgery&#xff0c;跨站请求伪造”。但这句话本身已经埋下了理解偏差的种子——它把CSRF描述成一种“主动攻击行…

作者头像 李华
网站建设 2026/9/16 19:39:17

自考学习AI工具全攻略:8大高效应用与避坑指南

1. 自考学习中的AI工具应用现状作为一名自考过来人&#xff0c;我深刻理解自考生面临的三大困境&#xff1a;时间碎片化、资料繁杂、缺乏学习监督。近年来AI工具的爆发式发展为自考学习带来了全新可能&#xff0c;但同时也出现了工具选择困难、使用效率低下等新问题。根据2023年…

作者头像 李华
网站建设 2026/9/16 19:39:13

HBase Shell命令全攻略:从建表、数据读写到运维实战

做HBase开发或者运维的人&#xff0c;应该都有过这种经历&#xff1a;查资料看官方文档&#xff0c;满屏的英文命令看得头晕&#xff1b;要么就是上网搜教程&#xff0c;结果搜出来的文章要么太浅&#xff0c;只贴个命令不给解释&#xff0c;要么太散&#xff0c;东一块西一块根…

作者头像 李华
网站建设 2026/9/16 19:37:54

Typora个性化设置全攻略:主题换肤、CSS定制与图片路径管理

Typora 的默认界面&#xff0c;第一眼确实干净&#xff0c;但真拿它当主力写作工具用上两三个月&#xff0c;你多半会跟我一样冒出几个念头&#xff1a;代码块背景能不能再深一点&#xff1f;标题颜色这个蓝色实在晃眼&#xff1b;插图老被复制到乱七八糟的目录里&#xff1b;导…

作者头像 李华