news 2026/9/17 21:39:14

Home Assistant Sensibo 集成指南:使用 sensibo.full_state 一键下发空调完整状态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant Sensibo 集成指南:使用 sensibo.full_state 一键下发空调完整状态

Home Assistant Sensibo 集成指南:使用 sensibo.full_state 一键下发空调完整状态

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

导读

本篇文章聚焦 Home Assistant 中 Sensibo 集成提供的sensibo.full_state动作(action),讲解如何通过一次调用把完整的空调工作状态(HVAC 模式、目标温度、风速、摆动方向、指示灯等)一次性下发到 Sensibo 设备,替代逐个设置参数的繁琐操作。读完本文,你将掌握该动作在自动化界面与 YAML 中的两种配置方式、全部可选参数的取值与类型、取值大小写敏感的注意事项,以及结合sensibo.get_device_capabilities查询设备支持项的最佳实践。

动作背景:为什么需要“完整状态”下发

Sensibo 是一个通过云端控制空调(HVAC)的智能控制器,其设备包括 Sensibo Sky、Sensibo Air、Sensibo Air Pro、Sensibo Pure 空气净化器、Sensibo Elements 空气监测仪及 Room Sensor 等(详见 Sensibo 集成文档)。在 Home Assistant 中,Sensibo 集成通过climate实体暴露设备控制能力,同时提供了一批扩展动作,其中sensibo.full_state的作用是:在一条命令里把空调的完整状态一次性发送给设备,而无需逐个修改每个设置项。

该动作的典型应用场景包括:

  • 每天定时恢复某个“标准工作状态”(例如晚间 18:00 将客厅空调切到制热、23 ℃、中风、固定摆风);
  • 回家 / 离家场景切换时,把温度、风速、摆风、指示灯一次到位;
  • 从其他系统(脚本、模板开关、语音助手)同步设备状态。

注意:sensibo.full_statesensibo.assume_state是两种不同语义的动作。assume_state只更新 Sensibo 云端对设备“开/关”状态的认知,不向设备发送任何控制指令(当设备同时被实体遥控器控制、导致 Sensibo 与设备状态不同步时使用);而full_state则会把整套状态真实下发到设备。两者在 sensibo.assume_state 中作为相关动作相互关联。

动作的前置条件:查询设备能力

full_state的所有取值必须与 Sensibo API 期望的值完全一致,且区分大小写,并且只能提供你的设备实际支持的字段。因此官方强烈建议先调用sensibo.get_device_capabilities动作,拿到当前设备在指定 HVAC 模式下的合法取值清单,再把这些值复制到full_state中。

sensibo.get_device_capabilities会以 响应数据(response data) 的形式返回该模式下的支持项(如风速档位、摆风模式、水平摆风模式、目标温度范围、指示灯选项等),且该动作不会对设备做任何更改。其 YAML 调用示例为:

action: sensibo.get_device_capabilities target: entity_id: climate.living_room data: hvac_mode: cool response_variable: capabilities

其中hvac_mode为必填项,类型为字符串,取值从coolheatdryfanauto中选择。执行后,cool 模式下设备支持的设置项会保存在名为capabilities的变量中(详见 sensibo.get_device_capabilities)。返回的取值是大小写敏感的,复制时应原样保留。

从自动化界面调用该动作

在 UI 中配置该动作的操作步骤如下:

  1. 进入 {% my automations title="设置>自动化与场景" %}。
  2. 打开一个现有的自动化或脚本,或选择创建自动化>创建新自动化
  3. 如果是新建自动化,在**何时(When)**区域添加触发器;脚本不需要触发器,它们在被其他对象调用时运行。
  4. 那么做(Then do)区域,选择添加动作(Add action)
  5. 选择你要控制的设备。在**按目标(By target)**下(见下文动作的目标),选择 Sensibo 空调 climate 实体。
  6. 在该目标显示的动作列表中,选择Sensibo: Set full state(设置完整状态)
  7. 选择HVAC 模式,并设置你的设备支持的其他选项。
  8. 选择保存

UI 中的可用选项

选项说明是否必填
HVAC 模式要设置的 HVAC 模式,从 cool、heat、fan、auto、dry、off 中选择
目标温度要设置的目标温度(若设备支持)
风速模式要设置的风速模式(若设备支持)
摆动模式要设置的垂直摆动模式(若设备支持)
水平摆动模式要设置的水平摆动模式(若设备支持)
指示灯打开、关闭或调暗设备指示灯(若设备支持)

YAML 配置方式与完整参数说明

在 YAML 中,该动作的标识为sensibo.full_state。一个基础示例:

action: sensibo.full_state target: entity_id: climate.living_room data: mode: heat target_temperature: 23

参数一览(YAML)

参数说明必填类型
mode要设置的 HVAC 模式,从 cool、heat、fan、auto、dry、off 中选择字符串
target_temperature要设置的目标温度(若设备支持)整数
fan_mode要设置的风速模式(若设备支持)字符串
swing_mode要设置的摆动模式(若设备支持)字符串
horizontal_swing_mode要设置的水平摆动模式(若设备支持)字符串
light打开、关闭或调暗设备指示灯,从 on、off、dim 中选择字符串

动作的目标(targets)

该动作必须指定目标,目标是动作的作用对象。你可以把动作指向单个实体、设备、区域、楼层或标签,Home Assistant 会对其背后所有匹配的 climate 实体执行该动作:

  • 实体:某个具体的 climate 实体,例如climate.living_room
  • 设备:属于某设备的全部 climate 实体;
  • 区域:某个房间/区域内的全部 climate 实体;
  • 楼层:某个楼层上的全部 climate 实体;
  • 标签:共享某个标签的全部 climate 实体。

也可以在同一个动作中混合选择不同类型的目标,例如同时指定一个具体实体和一个区域(详见 targets 模板)。

自动化实战:每晚 18:00 一键恢复空调完整状态

官方在 Sensibo 集成文档 中给出了对应的完整自动化示例,该示例每天 18:00 将空调恢复到制热 23 ℃、中风、固定摆风的完整状态:

  • 触发器:每天 18:00
  • 动作:Sensibo: Set full state(设置完整状态)
    • 目标:客厅(living room)空调

对应 YAML 如下:

automation: alias: "Example full state" triggers: - trigger: time at: "18:00:00" actions: - action: sensibo.full_state target: entity_id: climate.hvac_device data: mode: heat target_temperature: 23 fan_mode: medium swing_mode: fixedMiddleTop horizontal_swing_mode: fixedCenter light: "off"

从示例可见,swing_mode: fixedMiddleTophorizontal_swing_mode: fixedCenter这类取值保持了 Sensibo API 风格的驼峰命名,印证了“取值必须与 API 期望完全一致且区分大小写”的要求——这正是先调用sensibo.get_device_capabilities获取准确取值的原因。

快速验证与排障

手动试运行

无需编写任何 YAML,你可以直接在 {% my developer_services title="设置>工具>动作" %} 中搜索该动作,填写字段后点击执行动作(Perform action),在真实实体上立即查看效果(参见 try_it 模板)。

常见问题

  • 取值不对 / 动作失败:检查取值是否为你的设备所支持,并且大小写是否与sensibo.get_device_capabilities返回的内容完全一致;只提供设备支持的字段。
  • 设备无法选择任何 HVAC 模式:这通常是设备在 Sensibo 云端未正确注册remote(遥控器)导致。首次设置设备时,需要在 Sensibo App 中为设备定义遥控器(自动或手动),否则设备虽会出现在 Home Assistant 中,但无法使用任何 HVAC 模式(详见 Sensibo 集成排障章节)。
  • 数据未更新:Sensibo 集成每分钟对所有设备执行一次云端轮询;若因网络或 API 故障导致轮询失败,可在解决连接问题后使用homeassistant.update_entity动作手动触发更新。

相关动作

  • sensibo.get_device_capabilities:返回指定 HVAC 模式下设备支持的设置项及其合法取值,是使用full_state前必查的动作。
  • sensibo.assume_state:仅更新 Sensibo 云端对设备开/关的认知,不向设备发送控制指令,适用于设备被实体遥控器等其他方式控制、导致状态不同步的场景。

【免费下载链接】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/17 21:37:41

Windows批量重命名实战:用bat脚本一键处理跨目录同名文件

做素材整理的时候,我经常遇到这种局面:几十个项目文件夹里都躺着一个config.ini或者readme.txt,内容各不相同,但文件名永远一样。平时看没问题,真要批量归档、统一管理的时候就头大了——总不能一个一个文件夹点进去手…

作者头像 李华
网站建设 2026/9/17 21:35:27

Colibri CMS:无需数据库的Markdown文件型CMS实践指南

如果你在开源社区搜“colibri”这个词,会碰到好几个同名项目,有音频工具、有可视化库,但我今天要说的这个,是一只连数据库都不要的“蜂鸟”——Colibri CMS。它是一款基于PHP的极简内容管理系统,核心卖点就一个&#x…

作者头像 李华
网站建设 2026/9/17 21:34:54

认证失败的 MCP 客户端?TaoToken 这样填 Base URL

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/17 21:32:11

STM32 IAP Bootloader实战:UART+XMODEM零基础跑通固件升级

1. 为什么这个“超简单” bootloader 讲解,真能让你当天就跑通 IAP?你是不是也经历过这样的场景:在 STM32 项目里,客户突然提需求——“固件得支持远程升级,别每次都要拆壳接 ST-Link”;或者自己做的智能鱼…

作者头像 李华
网站建设 2026/9/17 21:31:35

LoopX 发布流程揭秘:能力使用门槛与发布就绪检查清单

LoopX 发布流程揭秘:能力使用门槛与发布就绪检查清单 【免费下载链接】loopx Long-horizon agent control plane for durable, governed work across Codex, Claude Code, and other harnesses. 项目地址: https://gitcode.com/GitHub_Trending/lo/loopx Loo…

作者头像 李华
网站建设 2026/9/17 21:28:33

企业多抖音账号统一管理:避免频繁登录与账号关联风险

随着企业在抖音的布局从单账号转向矩阵化运营,几十个子账号分散管理的痛点逐渐凸显:运营人员反复切换账号登录效率低下,同一设备、同一网络频繁切换触发平台风控,更严重的是单个账号违规牵连全矩阵限流封禁。如何在实现统一管控的…

作者头像 李华