
Home Assistant Tado 集成深度解析:set_climate_temperature_offset 动作与温度偏移自动校准实战【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io在 Home Assistant 中,Tado 温控集成通过tado.set_climate_temperature_offset动作为 climate 实体校准温度读数:当 Tado 阀门贴装暖气片、读数系统性偏高或偏低时,可以为实体设置一个温度偏移量进行修正。读完本文,你将掌握该动作的完整配置参数、UI 与 YAML 两种写法,并能实现一个跟随房间温度传感器自动重算偏移量的生产级自动化方案。动作定位:它解决什么问题Tado 的室温读数来自设备本身(通常安装在散热器阀门上)。由于阀门紧邻散热源,其报告的温度往往比真实室温偏高;反之,装在阴凉角落的设备也可能系统性偏低。tado.set_climate_temperature_offset动作的作用就是给 Tado 的 climate 实体应用一个校准偏移量,使读数反映真实的室温。该动作定义在 tado.set_climate_temperature_offset 文档 中,front matter 声明其域为tado,描述为 Sets the temperature offset of Tado climate entities。它面向 climate 实体(climate.*),由 Tado 集成的 climate 平台承载——根据 Tado 集成文档,该集成为Cloud Polling型(ha_iot_class: Cloud Polling),每个 Tado 区域(zone)会生成一个 climate 实体,默认每 5 分钟轮询一次 API。因此,偏移量是写回 Tado 云端配置、再经由轮询周期同步到实体的,而不是本地瞬时生效的展示层修正。在 UI 中设置温度偏移通过自动化或脚本界面设置偏移的完整步骤(继承自原文档):打开SettingsAutomations scenes(设置 自动化与场景)。打开一个已有的自动化或脚本,或选择Create automationCreate new automation。如果是新建自动化,先在When区添加触发器;脚本不需要触发器,它由其他调用方触发。在Then do区选择Add action。在搜索框中搜索并选择Tado: Set climate temperature offset。在Targets下选择要调整的 climate 实体。输入Offset(偏移量)。点击Save。目标(Targets)说明:该动作必须有目标,目标可以是单个 climate 实体(如climate.living_room)、设备、区域(area)、楼层(floor)或标签(label),Home Assistant 会对目标匹配到的所有 climate 实体执行动作。同一个动作还可以混合多种目标类型,例如同时指定一个具体实体和一个区域。UI 选项选项说明是否必填Offset要应用到的温度偏移,单位与设备使用的温度单位一致否在 YAML 中调用动作在 YAML 中,该动作的名称为tado.set_climate_temperature_offset。一个基础示例:action: action: tado.set_climate_temperature_offset target: entity_id: climate.tado data: offset: -1.5上例将climate.tado实体的读数校准为报告值减去 1.5 度。target支持实体、设备、区域等所有目标类型,data中只暴露一个参数:YAML 选项参数类型必填默认值说明offsetfloat否0要应用到的温度偏移,单位与设备使用的温度单位一致;省略时偏移被置为 0,即取消所有修正两个值得注意的行为边界:省略offset等同于清零。原文档明确:留下该参数时,偏移量会被设为 0,意味着不做任何修正。因此如果你想恢复设备原始读数,发一个不带data的调用即可,而不是把offset设成当前值的负数。偏移量带符号、跟随设备单位。负值表示设备读数偏高需要往下降(上例的-1.5),正值表示读数偏低需要往上抬;单位随实体温度单位(摄氏度或华氏度)而定。进阶实战:用自动化跟随房间传感器自动同步偏移手动设一次偏移只能解决固定偏差。更好的做法是让偏移量随环境动态漂移:当位置更好的房间传感器与 Tado 读数之差超过阈值时,重算偏移,使 Tado 设备始终反映真实室温。方案结构:触发:房间传感器或 Tado 温度任一发生变化条件:两个读数相差超过 0.5°动作:Tado: Set climate temperature offset目标:Tado偏移:由两个传感器的差值计算得出完整 YAML 如下(继承自原文档,可直接作为模板改造):automation: alias: Sync Tado offset with room sensor triggers: - trigger: state entity_id: - sensor.temp_sensor_room - sensor.tado_temperature conditions: - condition: template value_template: {% set tado_temp states(sensor.tado_temperature) | float(20) %} {% set room_temp states(sensor.temp_sensor_room) | float(20) %} {{ (tado_temp - room_temp) | abs 0.5 }} actions: - action: tado.set_climate_temperature_offset target: entity_id: climate.tado data: offset: {% set tado_temp states(sensor.tado_temperature) | float(20) %} {% set room_temp states(sensor.temp_sensor_room) | float(20) %} {% set current_offset state_attr(climate.tado, offset_celsius) %} {{ (-(tado_temp - room_temp) current_offset) | round(1) }}逐段解读:触发器同时监听两个传感器:任一读数变化都会重新评估自动化,保证偏差出现时能及时修正。条件用模板判断两读数之差的绝对值是否超过 0.5°。0.5° 的滞回阈值避免在两个读数围绕某个值小幅抖动时频繁向 Tado API 写偏移——这一点在 Tado 有严格限流的环境下尤为重要(见下文限制与注意事项)。动作的 offset 计算是全文核心:-(tado_temp - room_temp)表示让 Tado 读数变成房间读数所需的修正量(注意取负号:若 Tado 比房间高 1°,偏移就应为 -1°);state_attr(climate.tado, offset_celsius)从 climate 实体读取当前已生效的偏移量,将其累加进新值,使计算是增量式的,兼容实体上已有校准的情况;| round(1)保留一位小数,避免向云端下发过密的浮点尾数。适用前提:实体上存在offset_celsius属性且存在独立的房间温度传感器(sensor.temp_sensor_room之类)。请把模板中的实体 ID 替换为你自己的实体。若你的实体以华氏度为单位,阈值与舍入策略也需相应调整。与其他 Tado 动作的协作该动作与 Tado 域的另外三个动作构成完整的场景控制面(原文档 front matter 的related_actions声明):tado.set_climate_timer — 让 Tado 气候实体在指定时间内升到目标温度(手动 boost,支持time_period或requested_overlay两种结束方式);tado.set_water_heater_timer — 对热水器区域做类似定时提升;tado.add_meter_reading — 向 Tado 提交抄表读数。典型组合:夜间用set_climate_timer提前升温,白天由本文的自动化持续保证阀门设备的读数不失真,两者互不干扰——offset 只校准读数,timer 控制目标温度,二者作用于 Tado 配置的不同维度。限制与注意事项结合 Tado 集成文档,使用本动作前需要了解的运行环境约束:API 限流(重要):自 2026 年 1 月 1 日起,Tado 对 API 实施了按日配额、按订阅类型区分的严格限流,配额在每天 12:00 CET 重置。若触发限流,集成可能认证失败或无法拉取/写入新数据——这意味着频繁的 offset 写入会被放大成限流风险,上文自动化中 0.5° 的条件阈值就是在控制写入频率。轮询周期:集成默认每 5 分钟更新一次数据,可通过interval配置自定义轮询间隔。offset 下发后,实体属性的刷新也受轮询节奏影响,不要期望写入后立即在状态里看到同步结果。认证方式:自 2025 年 3 月 21 日起 Tado 改为 Device Code 认证流程;若集成提示重新认证,按集成文档中的迁移步骤操作即可,这不影响本动作的调用方式。Tado X 设备不支持:新版 Tado X 设备不走本集成,需经 Matter 集成接入,因此这些设备没有tado.*动作可用。实体平台范围:offset 作用于 climate 实体;热水器区域的实体属于 water_heater 平台,本动作不对其生效。动手验证与求助渠道不写一行 YAML 就能测试该动作:打开SettingsToolsActions(开发者工具:动作),搜索tado.set_climate_temperature_offset,填入目标实体与 offset 后点击Perform action,即可在真实实体上观察读数变化。若动作执行后实体没有按预期修正,可排查的顺序是:目标实体是否确为 Tado 的 climate 实体、offset 符号方向是否符合偏差方向、集成日志中是否出现限流或认证错误。仍无解时,可参考仓库中的求助指引(见 stuck 说明),到社区论坛发帖时附上你调用的动作与预期行为,能显著加快定位。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考