news 2026/9/16 11:47:40

使用 Home Assistant cover.open_cover 动作打开卷帘、百叶窗与车库门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 Home Assistant cover.open_cover 动作打开卷帘、百叶窗与车库门

使用 Home Assistant cover.open_cover 动作打开卷帘、百叶窗与车库门

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

cover.open_cover是 Home Assistant 中 cover(覆盖物)域的核心动作之一,用于将支持打开能力的 cover 实体(如卷帘、百叶窗、遮阳篷、车库门)完全打开。本指南基于 cover.open_cover 动作文档 完整讲解该动作的 UI 操作、YAML 参数、目标选择方式与实战自动化示例,并结合 cover 集成文档 说明 cover 实体的状态模型与设备类划分,帮助你快速把"定时开窗帘""早晨放光"这类场景落地。

一、cover.open_cover 动作概述

cover.open_cover是一个由 Home Assistant 核心(ha_domain: cover,内部质量等级)提供的标准动作,适用于任何实现了 cover 实体的设备。文档开篇明确其适用范围:卷帘(roller shutter)、百叶窗(blind)、遮阳篷(awning)或车库门(garage door)

在 cover 集成文档 中,cover 实体被定义为"为卷帘、百叶窗和车库门提供控制接口"的基础能力,其设备类(device class)包括:

  • None:通用 cover,默认值,无需设置
  • awning:遮阳篷(如户外可伸缩窗、门或露台遮蔽物)
  • blind:百叶窗(可伸缩或倾斜的板条)
  • curtain:窗帘或帷幔
  • damper:减少气流、声音或光线的机械风门
  • door:提供通道的门或大门
  • garage:车库门
  • gate:栅栏门(户外)
  • shade:遮光帘
  • shutter:卷帘(可升降或外摆)
  • window:可开合或倾斜的窗户

cover 实体的状态包括Opening(正在打开)、Open(已完全打开)、Closing(正在关闭)、Closed(已完全关闭),以及Unavailable(不可用)和Unknown(未知),前端如何呈现这些状态取决于实体的设备类。理解这些状态有助于判断cover.open_cover触发后实体的流转过程。

二、从界面(UI)创建"打开 cover"动作

如果你习惯可视化构建自动化,Home Assistant 会逐步引导你完成该动作的配置:选择目标、微调选项并保存,全程无需编写 YAML。

按照 UI 使用说明,在自动化或脚本中使用cover.open_cover的操作步骤如下:

  1. 进入设置(Settings)>自动化与场景(Automations & scenes)
  2. 打开现有的自动化或脚本;如果是新建,选择创建自动化(Create automation)>创建新自动化(Create new automation)
  3. 如果正在配置新自动化,在When(何时触发)部分添加触发器。脚本(Script)不需要触发器,它们在被其他内容调用时运行。
  4. Then do(然后执行)部分,选择添加动作(Add action)
  5. 选择要控制的设备:在按目标(By target)下(参见下文"动作的目标"),选择要打开的 cover。
  6. 从该目标显示的动作中选择打开覆盖物(Open cover)
  7. 可选:如果你的 cover 支持多档速度,设置Speed(速度)
  8. 选择保存(Save)

界面中的选项

在 UI 中,cover.open_cover仅有一个可选参数:

选项描述是否必填
Speed打开 cover 的速度。仅当 cover 支持速度选择时该选项才会出现,可用的速度值列在 cover 实体的supported_speeds属性中

注意:速度选项属于条件性出现——它依赖实体是否声明了supported_speeds属性(该属性同样被 cover.set_cover_position 和 cover.close_cover 引用,是 cover 域多档速度能力的统一约定)。只有设备固件或集成实现了多速控制时,才会暴露该属性。

三、在 YAML 中使用 cover.open_cover

在 YAML 中,该动作以cover.open_cover引用。根据 YAML 技术参考说明,YAML 方式能精确控制 Home Assistant 底层行为,需要明确字段名、类型与必填性。

基础示例

action: cover.open_cover target: entity_id: cover.living_room_blind

该示例打开cover.living_room_blind这一实体。

带速度的示例

如果 cover 支持多档速度,可以在data段中指定速度:

action: cover.open_cover target: entity_id: cover.living_room_blind data: speed: "fast"

YAML 参数说明

参数类型是否必填说明
targetobject动作的目标对象(见下节"动作的目标")
data.speedstring打开 cover 的速度。使用 cover 实体supported_speeds属性中列出的值之一,仅当 cover 支持时才使用

四、动作的目标(Targets)

cover.open_cover必须指定目标。根据 Targets 说明,目标即动作的作用对象,你可以将动作指向单个实体、设备、区域、楼层或标签,Home Assistant 会对目标背后所有匹配的 cover 实体执行动作:

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

你还可以在同一次动作中混合选择不同类型的多个目标。例如,同时添加一个具体实体和一个区域作为目标,让动作一次性作用于两者——这非常适合"一键打开整层窗帘"这类批量场景。

五、实战示例:早晨定时打开窗帘

在自动化与脚本的实际场景中,cover.open_cover最常见的用法是"定时开帘"。原文档提供了以下完整示例——每天 07:15 打开客厅百叶窗,让晨光进入房间:

  • 触发器:时间 07:15
  • 动作:打开 cover
    • 目标:客厅百叶窗(Living room blind)

展开的完整 YAML 如下:

automation: - alias: "Open the living room blind in the morning" triggers: - trigger: time at: "07:15:00" actions: - action: cover.open_cover target: entity_id: cover.living_room_blind

复制该示例即可适配你的设备,只需把entity_id换成你自己的 cover 实体,并调整at的触发时间。

六、Good to know:适用条件与限制

  • 该动作仅对支持打开(opening)能力的 cover 实体生效。如果某个 cover 设备只实现了关闭或位置控制,cover.open_cover不会产生预期效果——此时应检查实体支持的能力,并考虑改用 cover.set_cover_position(如"打开到一半")或 cover.toggle。
  • 在 cover 集成文档 的自动化示例中可以看到,cover 域还提供配套触发器(如cover.blind_opened)和条件(如cover.shutter_is_open),可与cover.open_cover组合出更智能的逻辑,例如"日出后盲打开则关灯""日落时若百叶窗仍开则自动关闭"。值得注意的是,该页标注的触发器与条件仅对awningblindcurtainshadeshutter这五类设备类生效。

七、自行测试:开发者工具中的 Actions

无需编写 YAML 即可验证该动作的实际效果:进入设置(Settings)>工具(Tools)>动作(Actions),搜索cover.open_cover,填写字段后点击执行动作(Perform action),即可在你的真实实体上观察结果(参见 Try it yourself)。这是调试目标选择、速度取值等配置的最快捷方式。

八、相关动作

cover.open_cover与以下动作配合使用效果最佳(对应文档中的 related_actions 定义):

  • 关闭 cover(cover.close_cover):将 cover 完全关闭,参数结构与本动作一致(target+ 可选data.speed),配套示例为"日落时关闭卧室卷帘"。
  • 停止 cover(cover.stop_cover):在开合过程中随时中止,常用于行程中间急停。
  • 切换 cover(cover.toggle):根据当前状态自动在打开与关闭之间切换。
  • 设置 cover 位置(cover.set_cover_position):将 cover 移动到指定百分比位置(0 表示关闭,100 表示打开),支持position(必填,integer)与speed(可选,string)参数,例如"将百叶窗开至 50%"。

这些动作共享同一套目标选择机制与supported_speeds速度约定,掌握cover.open_cover后即可举一反三。

【免费下载链接】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 11:46:55

Cocos Creator 3.x 预制体点击事件通信全解

简介:本资源是一个面向Cocos2d-x游戏开发者的交互式UI实践案例,聚焦于父子节点间事件通信这一核心难点,特别适用于需要实现弹窗列表点击响应并动态更新主界面的中高级开发者。项目完整演示了如何在父级Home脚本中监听子预制体(Pre…

作者头像 李华
网站建设 2026/9/16 11:46:15

遗传算法优化SVM参数:原理与MATLAB实现

1. 项目概述:当遗传算法遇上SVM上周六凌晨调试完最后一个参数时,屏幕上的分类准确率突然从87.6%跃升到93.2%,这个瞬间让我决定把这次实验记录下来。传统SVM调参就像在黑暗里摸索旋钮,而遗传算法给了我们一套系统化的寻优策略——这…

作者头像 李华
网站建设 2026/9/16 11:45:59

LSTM股票价格预测实战:特斯拉股价时间序列建模全流程

简介:本资源是一套面向机器学习初学者与进阶实践者的特斯拉股票价格分析与预测实战项目,聚焦时间序列建模与金融数据应用,覆盖数据清洗、特征工程、传统回归、LSTM/GRU深度学习建模及多维度可视化全流程。压缩包共22个文件,含20个…

作者头像 李华
网站建设 2026/9/16 11:44:06

抖音作品批量下载:从单条到全量收藏的完整指南

抖音作品批量下载:从单条到全量收藏的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…

作者头像 李华
网站建设 2026/9/16 11:43:16

UC1698与Arduino电表显示实践:从接线到刷新策略

简介:一套面向UC1698液晶控制器的电表显示方案资料,适合嵌入式开发者和Arduino/STM32爱好者,用于实现电表图形界面的驱动与定制,尤其适用于智能电表、工业仪表等需要图形显示的场景。方案将UC1698与Arduino、STM32平台结合&#x…

作者头像 李华