Created
February 11, 2026 16:28
-
-
Save lucaam/5411065dd078e0af3a48eac6c239b069 to your computer and use it in GitHub Desktop.
Homeassistant blueprint to set Tado Hijack offset using separate temperature sensor - Based on: https://gist.github.com/sanderma/1e9163c690e23bc8d32a8c9e9d89a910
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| blueprint: | |
| name: Tado temperature offset (tado_hijack) | |
| description: Ensure the Tado smart valve has the temp of a separate sensor (compatible with tado_hijack integration) | |
| domain: automation | |
| input: | |
| source_temp_sensor: | |
| name: Source Temperature sensor | |
| description: This sensor will be used as the source. | |
| selector: | |
| entity: | |
| domain: sensor | |
| device_class: temperature | |
| tado_temp_sensor: | |
| name: Tado Temperature Sensor | |
| description: The Tado thermostat temperature sensor (e.g., sensor.tado_smart_radiator_thermostat_va0231293696_temperature) | |
| selector: | |
| entity: | |
| domain: sensor | |
| device_class: temperature | |
| offset_number_entity: | |
| name: Temperature Offset Number Entity | |
| description: The number entity for temperature offset (e.g., number.tado_smart_radiator_thermostat_va0231293696_temperature_offset) | |
| selector: | |
| entity: | |
| domain: number | |
| variables: | |
| tado_temp_sensor: !input tado_temp_sensor | |
| source_temp_sensor: !input source_temp_sensor | |
| offset_number_entity: !input offset_number_entity | |
| tado_temp: "{{ states(tado_temp_sensor) | float }}" | |
| current_offset: "{{ states(offset_number_entity) | float(0) }}" | |
| actual_temp: "{{ states(source_temp_sensor) | float }}" | |
| offset: "{{ ( actual_temp - tado_temp ) | round }}" | |
| calculated_offset: "{{ ( ( actual_temp - tado_temp ) + current_offset ) | round }}" | |
| trigger: | |
| - platform: state | |
| entity_id: !input tado_temp_sensor | |
| - platform: state | |
| entity_id: !input source_temp_sensor | |
| condition: | |
| - condition: template | |
| value_template: "{{ offset != 0 }}" | |
| - condition: template | |
| value_template: "{{ actual_temp != 0 }}" | |
| action: | |
| - service: system_log.write | |
| data: | |
| message: > | |
| {{ tado_temp_sensor }} has temp difference of {{ offset }}. Setting offset to {{ calculated_offset }} | |
| level: info | |
| logger: blueprints.tado.offset | |
| - service: system_log.write | |
| data: | |
| message: > | |
| tado_sensor: {{ tado_temp_sensor }} | |
| source: {{ source_temp_sensor }} | |
| offset_entity: {{ offset_number_entity }} | |
| temp difference: {{ offset }} | |
| actual_temp: {{ actual_temp }} | |
| tado_temp: {{ tado_temp }} | |
| current_offset: {{ current_offset }} | |
| calculated_offset: {{ calculated_offset }} | |
| level: debug | |
| logger: blueprints.tado.offset | |
| - service: number.set_value | |
| target: | |
| entity_id: "{{ offset_number_entity }}" | |
| data: | |
| value: "{{ calculated_offset }}" | |
| mode: single |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment