Tado X Offset in Home Assistant

To se the heatingpower as a sensor in HA you need to add the following code in the config file:

  • remember to add Your HomeID and Device Names (in the documantation before you need to add also Your HomeID in the shell command)
  • create the file: tado_rooms.json
  • create the automation to update the tado_rooms.json eatch minute
shell_command:
 get_tado_rooms: >-
    curl -s "https://hops.tado.com/homes/>>>>YOUR HOME ID<<<</rooms?ngsw-bypass=true"
    -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0"
    -H "Accept: application/json, text/plain, */*"
    -H "Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3"
    -H "Accept-Encoding: gzip, deflate, br, zstd"
    -H "Referer: https://app.tado.com/"
    -H "X-Amzn-Trace-Id: tado=webapp-2025.3.10.10.52-release/v3678"
    -H "Origin: https://app.tado.com"
    -H "Sec-Fetch-Dest: empty"
    -H "Sec-Fetch-Mode: cors"
    -H "Sec-Fetch-Site: same-site"
    -H "Authorization: Bearer $(jq -r '.access_token' /config/tado_response.json)"
    -H "Connection: keep-alive"
    -H "TE: trailers"
    > /config/tado_rooms.json

command_line:
  - sensor:
      name: "Tado Device 1 Heatingpower"
      command: 'jq -r ''.[] | select(.name==">>>>YOUR DEVICE NAME<<<<") | .heatingPower.percentage // 0'' /config/tado_rooms.json'
      unit_of_measurement: "%"
      scan_interval: 10

  - sensor:
      name: "Tado Device 2 Heatingpower"
      command: 'jq -r ''.[] | select(.name==">>>>YOUR DEVICE NAME<<<<") | .heatingPower.percentage // 0'' /config/tado_rooms.json'
      unit_of_measurement: "%"
      scan_interval: 10

automation:

alias: Tado Rooms alle 60 sek. neu laden für HeatingPower
description: ""
triggers:
  - trigger: time_pattern
    seconds: /59
conditions: []
actions:
  - action: shell_command.get_tado_rooms
    metadata: {}
    data: {}
mode: single