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_state与sensibo.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为必填项类型为字符串取值从cool、heat、dry、fan、auto中选择。执行后cool 模式下设备支持的设置项会保存在名为capabilities的变量中详见 sensibo.get_device_capabilities。返回的取值是大小写敏感的复制时应原样保留。从自动化界面调用该动作在 UI 中配置该动作的操作步骤如下进入 {% my automations title设置自动化与场景 %}。打开一个现有的自动化或脚本或选择创建自动化创建新自动化。如果是新建自动化在**何时When**区域添加触发器脚本不需要触发器它们在被其他对象调用时运行。在那么做Then do区域选择添加动作Add action。选择你要控制的设备。在**按目标By target**下见下文动作的目标选择 Sensibo 空调 climate 实体。在该目标显示的动作列表中选择Sensibo: Set full state设置完整状态。选择HVAC 模式并设置你的设备支持的其他选项。选择保存。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: fixedMiddleTop、horizontal_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),仅供参考