ecobee 恒温器 Alexa 麦克风开关实战:Home Assistantecobee.set_mic_mode动作完全指南
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
ecobee.set_mic_mode是 Home Assistant 中用于控制 ecobee 4 恒温器内置 Alexa 语音助手麦克风的核心动作。本指南将完整讲解如何通过可视化界面和 YAML 两种方式调用该动作、各参数的含义与取值,并结合当前仓库中的 ecobee 集成文档 说明其在自动化与脚本中的典型应用场景。读完本文,你将能够精准地为任意 ecobee 温控实体开启或关闭 Alexa 麦克风,并理解这一动作与整套 ecobee 动作体系之间的关系。
动作概述:作用范围与适用设备
根据 官方动作文档 的说明,ecobee.set_mic_mode动作用于启用或禁用 Alexa 麦克风(Enables or disables the Alexa microphone),并且仅适用于 ecobee 4 恒温器。
这一点是使用该动作时的关键前提:ecobee 4 是 ecobee 产品线中内置 Amazon Alexa 语音助手的型号,其麦克风硬件与恒温器本体集成在一起。而其他 ecobee 型号(如 ecobee 3、ecobee SmartThermostat 等)不具备相同的麦克风硬件形态,因此该动作的 target 实体必须落在 ecobee 4 对应的climate实体上。
在 Home Assistant 中,ecobee 集成属于Cloud Polling(云轮询)类型的 hub 集成,ha_domain: ecobee,提供climate、binary_sensor、humidifier、notify、sensor、switch、number、weather等多个平台(见 source/_integrations/ecobee.markdown)。麦克风开关动作正是作用于其中的climate实体,例如本文示例中的climate.living_room。
从可视化界面使用该动作
如果你的自动化或脚本是在 Home Assistant 的图形界面中构建的(不需要手写 YAML),actions/ui_header.md指出可视化方式会引导你逐步完成目标选择、参数设置与保存。具体步骤如下:
- 进入Settings>Automations & scenes(设置 > 自动化与场景)。
- 打开一个已有的自动化或脚本,或选择Create automation>Create new automation(创建自动化 > 创建新自动化)。
- 如果正在创建新自动化,在When(何时)部分添加一个触发器。脚本(Script)不需要触发器,它们在被其他内容调用时运行。
- 在Then do(那么做)部分,选择Add action(添加动作)。
- 选择你想要控制的设备。在By target(按目标,见下文 动作的目标)下,选择要更改的 ecobee 恒温器。
- 在该目标显示的动作列表中,选择ecobee: Set mic mode。
- 将Mic enabled(麦克风启用)开关打开或关闭。
- 选择Save(保存)。
界面中的选项
在 UI 中该动作只有一个选项:
| 选项 | 描述 | 是否必填 |
|---|---|---|
| Mic enabled | 打开以启用 Alexa 麦克风 | 必填 |
在 YAML 中使用该动作
如果你直接编写 YAML,或者想知道 Home Assistant 在底层究竟做了什么,则参考actions/yaml_header.md提供的技术参考:它列出了 YAML 中使用的字段名、类型以及哪些是必填项。
在 YAML 中,该动作的标识为ecobee.set_mic_mode。一个基础示例如下:
action: ecobee.set_mic_mode target: entity_id: climate.living_room data: mic_enabled: true上面的示例会启用climate.living_room上的 Alexa 麦克风。
YAML 中的参数
| 参数 | 描述 | 是否必填 | 类型 | 默认值 |
|---|---|---|---|---|
mic_enabled | 设置为true以启用 Alexa 麦克风,设置为false以禁用它 | 必填 | boolean | true |
从参数定义可以看出,该动作的核心数据字段只有一个mic_enabled布尔值:
true:打开麦克风,Alexa 语音助手可以听到用户的语音指令;false:关闭麦克风,此时 Alexa 无法拾取语音(典型场景是隐私保护,例如就寝时段或家中有访客时)。
默认值为true,即只要调用该动作且不显式传参,麦克风会被视为启用状态;但由于该字段标记为必填(required: true),实际使用时建议总是显式传递mic_enabled的值,以确保行为符合预期。
动作的目标
根据actions/targets.md的说明,该动作必须指定目标(target),目标是动作的作用对象。你可以将动作指向单个实体、设备、区域、楼层或标签,Home Assistant 会对该目标背后匹配的每一个climate实体执行动作:
- 实体(Entity):一个特定的
climate实体,例如climate.living_room; - 设备(Device):属于某台设备的所有
climate实体; - 区域(Area):某个房间或区域内的所有
climate实体; - 楼层(Floor):某一层楼上的所有
climate实体; - 标签(Label):共享某个标签的所有
climate实体。
你还可以在同一个动作中混合选择不同类型的多个目标。例如,可以在同一次调用中同时指定一个具体实体和一个区域,让该动作同时作用于两者。这意味着你可以一次关闭家中所有 ecobee 4 恒温器的麦克风,只需将目标设置为一个覆盖所有相关恒温器的区域或标签即可。
典型实战场景:隐私自动化
将ecobee.set_mic_mode与触发器和条件组合,可以构建实用的隐私自动化。以下示例展示了如何让恒温器麦克风与睡眠状态联动——在夜晚自动关闭麦克风,清晨自动重新启用:
alias: "Sleep time: disable ecobee mic" triggers: - trigger: time at: "23:00:00" actions: - action: ecobee.set_mic_mode target: area: living_room data: mic_enabled: falsealias: "Morning: enable ecobee mic" triggers: - trigger: time at: "07:00:00" actions: - action: ecobee.set_mic_mode target: entity_id: climate.living_room data: mic_enabled: true这里可以看到目标体系的实际价值:夜晚关闭时使用area作为目标覆盖整个客厅区域,清晨重新启用时精确到单个entity_id。脚本(Script)场景下同样可以直接调用该动作——脚本本身不需要触发器,它在被自动化或其他脚本调用时运行。
与其他 ecobee 动作的关系
ecobee.set_mic_mode属于 ecobee 集成动作家族的一员。在 source/_actions 目录下,ecobee 集成共提供了 8 个动作文档,该动作通过 front matter 中的related_actions字段与两个动作建立了关联:
| 动作 | 作用 |
|---|---|
| ecobee.set_dst_mode | 启用或禁用 ecobee 恒温器的自动夏令时切换(参数dst_enabled) |
| ecobee.set_occupancy_modes | 设置恒温器的占用模式 |
其余动作还包括ecobee.create_vacation、ecobee.delete_vacation、ecobee.resume_program、ecobee.set_fan_min_on_time、ecobee.set_sensors_used_in_climate,以及ecobee集成文档 source/_integrations/ecobee.markdown 中提到的标准 Climate 动作。
从仓库中的这些动作文档可以观察到一套统一的模式:每个 ecobee 动作都采用ecobee.<动作名>的命名方式,都接收一个布尔型(或专用枚举型)数据字段,且都以climate域实体作为目标。这为编写跨恒温器的统一自动化提供了便利——例如同时调用ecobee.set_mic_mode(关闭麦克风)与ecobee.set_occupancy_modes(切换到 Away 占用模式)来构建完整的"离家模式"。
调用注意事项
- 仅限 ecobee 4:该动作对非 ecobee 4 型号的实体执行时不会产生实际效果,因此请确认目标实体对应的设备型号。
- 字段为必填:
mic_enabled在 YAML 参数表中标记为必填(required: true),类型为 boolean,默认值true。建议始终显式传入true或false,避免歧义。 - 与通知能力无关:ecobee 的麦克风开关独立于该集成的
notify平台(见 source/_integrations/ecobee.markdown)。关闭麦克风不会影响通过notify.ecobee发送到恒温器的文本通知功能。
总结
ecobee.set_mic_mode是一个参数精简、语义清晰的隐私控制动作:它通过单个mic_enabled布尔字段,让你能够在自动化或脚本中以编程方式控制 ecobee 4 恒温器上的 Alexa 麦克风。配合 Home Assistant 灵活的目标体系(实体、设备、区域、楼层、标签),你可以将麦克风状态纳入就寝、离家、访客等各类场景的自动化编排中,实现真正的"隐私自动化"。其完整参数定义与使用步骤均可在 动作文档 及 ecobee 集成文档 中进一步查阅。
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考