Home Assistant ecobee 动作详解:ecobee.set_sensors_used_in_climate设置参与气候程序的传感器
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
ecobee.set_sensors_used_in_climate是 Home Assistant 为 ecobee 恒温器集成提供的动作,用于设定哪些传感器参与某个气候程序(climate program)的温度判定。本文将基于 source/_actions/ecobee.set_sensors_used_in_climate.markdown 文档,完整介绍该动作的 UI 操作步骤、YAML 参数、target 用法,并结合 ecobee 集成文档 中关于 climate、preset、hold 等概念,说明其底层原理与实战场景。读完本文,你将掌握如何让不同房间的传感器按程序(如 Sleep 用卧室、Home 用客厅)分别影响恒温器温度决策。
动作概述:为什么需要"按程序选择传感器"
ecobee 恒温器允许在同一台设备上配置多个温度传感器,分布在不同的房间。默认情况下,恒温器会综合所有启用传感器来决策目标温度,但有些场景下你希望只有特定房间的传感器参与特定气候程序的温度判定——例如:
- Sleep 程序:只让卧室传感器参与,避免客厅的温度拉高卧室的制冷/制热需求;
- Home 程序:只让客厅等公共区域传感器参与,让有人活动的空间主导温度;
- Away 程序:按离家场景选择传感器组合。
ecobee.set_sensors_used_in_climate动作正是为此设计:它设置哪些传感器参与某个气候程序。该动作自 Home Assistant Core 2024.11 起随 ecobee 集成提供(见 source/changelogs/core-2024.11.markdown)。
从文档的 front matter 可以确认该动作的完整定义:
- 动作名:
ecobee.set_sensors_used_in_climate - 所属域(domain):
ecobee - 官方描述:设置哪些传感器参与 ecobee 恒温器上的某个气候程序
从用户界面(UI)使用该动作
如果你习惯可视化地构建自动化或脚本,Home Assistant 会引导你逐步完成该动作的配置,无需编写 YAML。参照文档中的步骤:
- 进入设置 > 自动化与场景(Settings > Automations & scenes);
- 打开现有自动化或脚本,或选择创建自动化>创建新自动化;
- 若创建新自动化,需在When(触发条件)部分添加触发器;脚本则无需触发器,脚本由其他动作调用时运行;
- 在Then do(执行)部分选择添加动作(Add action);
- 选择要控制的设备:在目标(By target)下(详见后文 动作的目标),选择要修改的 ecobee 恒温器;
- 从该目标可用的动作中选择ecobee: Set sensors used in climate;
- 选择要参与的传感器(Sensors),可选设置气候程序(Climate program);
- 点击保存。
UI 中的选项
| 选项 | 说明 | 是否必填 |
|---|---|---|
| Sensors(传感器) | 设置为参与该气候程序的传感器 | 是 |
| Climate program(气候程序) | 要设置传感器生效的气候程序名称;默认为当前激活的程序 | 否 |
在 YAML 中使用该动作
在 YAML 中,该动作以ecobee.set_sensors_used_in_climate引用。文档给出的基本示例如下:
action: ecobee.set_sensors_used_in_climate target: entity_id: climate.living_room data: preset_mode: "Home" device_ids: - 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d该示例将device_ids指定的传感器设置为参与climate.living_room恒温器上Home程序的传感器。
YAML 选项详解
| 参数 | 类型 | 说明 | 是否必填 |
|---|---|---|---|
device_ids | list(字符串列表) | 要设置为参与该气候程序的传感器的设备 ID列表 | 是 |
preset_mode | string | 要设置传感器生效的气候程序名称;默认为当前激活的程序 | 否 |
关于preset_mode的补充说明:参数名虽为preset_mode,但它对应的是 ecobee 的"气候程序"(comfort setting)名称。ecobee 恒温器内置 Home、Away、Sleep 三个预定义气候,用户也可以自定义更多气候(详见 source/_integrations/ecobee.markdown)。因此该字段可填入诸如"Home"、"Away"、"Sleep"或自定义气候名称;若省略,则作用于当前正在激活的气候程序。
device_ids从哪里获取:这里的 ID 是 ecobee 传感器的设备标识,而不是 Home Assistant 的实体 ID。你可以在 Home Assistant 的设置 > 设备与服务 > ecobee下查看每个已发现的传感器设备的 ID,或通过开发者工具中的实体/设备信息确认。
与其他动作搭配的典型用法
该动作通常与下面两个动作协同工作(均收录于 source/_actions/):
- ecobee.set_occupancy_modes:启用或禁用 Smart Home/Away(智能离家/在家)与 Follow Me(跟随我)模式;
- ecobee.resume_program:恢复恒温器的程序调度(清除 hold)。
例如,一个完整的工作流可以是:在切换到 Sleep 程序时,先调用ecobee.set_sensors_used_in_climate让卧室传感器生效,再调用ecobee.set_occupancy_modes关闭 Follow Me,从而让睡眠场景完全由卧室传感器主导。
动作的目标(Targets)
该动作必须指定目标(target)。目标是动作的作用对象,你可以将动作指向单个实体、设备、区域、楼层或标签,Home Assistant 会对该目标下所有匹配的climate实体执行动作(规则定义见 source/_includes/actions/targets.md):
- 实体(Entity):单个 climate 实体,例如
climate.living_room; - 设备(Device):属于某设备的所有 climate 实体;
- 区域(Area):某个房间/区域内所有 climate 实体;
- 楼层(Floor):某个楼层上所有 climate 实体;
- 标签(Label):共享某标签的所有 climate 实体。
同一个动作中可以混合多种目标类型,例如同时指定一个具体实体和一个区域,让动作一次作用于两者。
底层原理:climate、preset 与 hold
要正确使用本动作,需要理解 ecobee 集成中的几个核心概念(来源:source/_integrations/ecobee.markdown):
- Climate(气候程序):恒温器目标设定值的预定义或自定义集合。ecobee 提供三个预定义气候:Home、Away、Sleep(ecobee 官方称之为 comfort settings),用户可定义更多气候;
- Preset(预设/覆盖):对当前激活气候中目标温度的临时覆盖。预设可能是显式设定的温度、派生自某个参考气候(如 home/away/sleep),或派生自恒温器定义的 vacation(假期)。所有 hold 都是临时的——温度和气候 hold 会在恒温器切换到程序中下一个气候时到期;
- 传感器参与:恒温器依据参与气候程序判定的传感器读数来决定目标温度是否达到。
ecobee.set_sensors_used_in_climate本质上是把"哪些传感器参与哪个气候程序"的决策权交给自动化,从而实现按时间/场景动态切换温度感知来源。
这正是文档开篇所述"让不同房间影响温度取决于程序"能力的技术基础。
快速验证:在开发者工具中试运行
想在不写 YAML 的情况下验证效果?按 source/_includes/actions/try_it.md 的说明:进入设置 > 工具 > 操作(Actions),搜索ecobee.set_sensors_used_in_climate,填写字段后点击执行操作(Perform action),即可在真实实体上立即看到效果。这非常适合在编写自动化前,先验证传感器设备 ID 与气候程序名称填写是否正确。
常见问题与注意事项
- 气候程序名称大小写:
preset_mode使用 ecobee 气候名称(如Home),请与 ecobee 应用/设备中显示的名称保持一致; - 设备 ID 而非实体 ID:
device_ids必须使用传感器设备 ID,误填 climate 实体 ID(如sensor.bedroom)将导致动作失败; - 默认行为:省略
preset_mode时作用于当前激活的气候程序,适合在自动化触发时"就地"调整当前程序参与的传感器; - 适用前提:该动作需要 ecobee 集成已正确配置(支持 API key 或账号密码登录,见 ecobee 集成配置),且目标恒温器与待设置的传感器已连接到 ecobee 账号。
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考