Skip to content

API Reference

end_manual_control(zone)

End the manual control of a zone.

get_air_comfort()

Get all zones of your home.

Returns:

Name Type Description
freshness dict

A dictionary with the freshness of your home.

comfort list

A list of dictionaries with the comfort of each zone.

Example
{
    "freshness":{
        "value":"FAIR",
        "lastOpenWindow":"2020-09-04T10:38:57Z"
    },
    "comfort":[
        {
            "roomId":1,
            "temperatureLevel":"COMFY",
            "humidityLevel":"COMFY",
            "coordinate":{
                "radial":0.36,
                "angular":323
            }
        },
        {
            "roomId":4,
            "temperatureLevel":"COMFY",
            "humidityLevel":"COMFY",
            "coordinate":{
                "radial":0.43,
                "angular":324
            }
        }
    ]
}

get_air_comfort_geoloc(latitude, longitude)

Get all zones of your home.

Parameters:

Name Type Description Default
latitude float

The latitude of the home.

required
longitude float

The longitude of the home.

required

Returns:

Type Description
list

A dict of lists of dictionaries with all your rooms.

Example
{
    "roomMessages":[
        {
            "roomId":4,
            "message":"Bravo ! L’air de cette pièce est proche de la perfection.",
            "visual":"success",
            "link":null
        },
        {
            "roomId":1,
            "message":"Continuez à faire ce que vous faites ! L'air de cette pièce est parfait.",
            "visual":"success",
            "link":null
        }
    ],
    "outdoorQuality":{
        "aqi":{
            "value":81,
            "level":"EXCELLENT"
        },
        "pollens":{
            "dominant":{
                "level":"LOW"
            },
            "types":[
                {
                    "localizedName":"Graminées",
                    "type":"GRASS",
                    "localizedDescription":"Poaceae",
                    "forecast":[
                        {
                            "localizedDay":"Auj.",
                            "date":"2020-09-06",
                            "level":"NONE"
                        },
                        {
                            "localizedDay":"Lun",
                            "date":"2020-09-07",
                            "level":"NONE"
                        },
                        {
                            "localizedDay":"Mar",
                            "date":"2020-09-08",
                            "level":"NONE"
                        }
                    ]
                },
                {
                    "localizedName":"Herbacées",
                    "type":"WEED",
                    "localizedDescription":"Armoise, Ambroisie, Pariétaire",
                    "forecast":[
                        {
                            "localizedDay":"Auj.",
                            "date":"2020-09-06",
                            "level":"NONE"
                        },
                        {
                            "localizedDay":"Lun",
                            "date":"2020-09-07",
                            "level":"NONE"
                        },
                        {
                            "localizedDay":"Mar",
                            "date":"2020-09-08",
                            "level":"NONE"
                        }
                    ]
                },
                {
                    "localizedName":"Arbres",
                    "type":"TREE",
                    "localizedDescription":"Aulne, Frêne, Bouleau, Noisetier, Cyprès, Olivier",
                    "forecast":[
                        {
                            "localizedDay":"Auj.",
                            "date":"2020-09-06",
                            "level":"NONE"
                        },
                        {
                            "localizedDay":"Lun",
                            "date":"2020-09-07",
                            "level":"NONE"
                        },
                        {
                            "localizedDay":"Mar",
                            "date":"2020-09-08",
                            "level":"NONE"
                        }
                    ]
                }
            ]
        },
        "pollutants":[
            {
                "localizedName":"Matière particulaire",
                "scientificName":"PM<sub>10</sub>",
                "level":"EXCELLENT",
                "concentration":{
                    "value":8.75,
                    "units":"μg/m<sup>3</sup>"
                }
            },
            {
                "localizedName":"Matière particulaire",
                "scientificName":"PM<sub>2.5</sub>",
                "level":"EXCELLENT",
                "concentration":{
                    "value":5.04,
                    "units":"μg/m<sup>3</sup>"
                }
            },
            {
                "localizedName":"Ozone",
                "scientificName":"O<sub>3</sub>",
                "level":"EXCELLENT",
                "concentration":{
                    "value":23.86,
                    "units":"ppb"
                }
            },
            {
                "localizedName":"Dioxyde de soufre",
                "scientificName":"SO<sub>2</sub>",
                "level":"EXCELLENT",
                "concentration":{
                    "value":1.19,
                    "units":"ppb"
                }
            },
            {
                "localizedName":"Monoxyde de carbone",
                "scientificName":"CO",
                "level":"EXCELLENT",
                "concentration":{
                    "value":266.8,
                    "units":"ppb"
                }
            },
            {
                "localizedName":"Dioxyde d'azote",
                "scientificName":"NO<sub>2</sub>",
                "level":"EXCELLENT",
                "concentration":{
                    "value":5.76,
                    "units":"ppb"
                }
            }
        ]
    }
}

get_away_configuration(zone)

Get the away configuration for a zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Type Description
dict

A dictionary with the away configuration.

get_capabilities(zone)

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Name Type Description
temperatures dict

The temperature capabilities of the zone.

type str

The temperature type of the zone.

Example
{
  'temperatures': {
    'celsius': {'max': 25, 'min': 5, 'step': 1.0},
    'fahrenheit': {'max': 77, 'min': 41, 'step': 1.0}
  },
  'type': 'HEATING'
}

get_default_overlay(zone)

Get the default overlay settings of a zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Type Description
dict

A dictionary with the default overlay settings of the zone.

Example
{
   "terminationCondition": {
     "type": "TADO_MODE"
   }
}

get_device_usage()

Get all devices of your home with how they are used

Returns:

Type Description
list

All devices of home as list of dictionaries.

get_devices()

Returns:

Type Description
list

All devices of the home as a list of dictionaries.

Example
[
  {
    'characteristics': { 'capabilities': [] },
    'connectionState': {
      'timestamp': '2017-02-20T18:51:47.362Z',
      'value': True
    },
    'currentFwVersion': '25.15',
    'deviceType': 'GW03',
    'gatewayOperation': 'NORMAL',
    'serialNo': 'SOME_SERIAL',
    'shortSerialNo': 'SOME_SERIAL'
  },
  {
    'characteristics': {
      'capabilities': [ 'INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']
    },
    'connectionState': {
      'timestamp': '2017-01-22T16:03:00.773Z',
      'value': False
    },
    'currentFwVersion': '36.15',
    'deviceType': 'VA01',
    'mountingState': {
      'timestamp': '2017-01-22T15:12:45.360Z',
      'value': 'UNMOUNTED'
    },
    'serialNo': 'SOME_SERIAL',
    'shortSerialNo': 'SOME_SERIAL'
  },
  {
    'characteristics': {
      'capabilities': [ 'INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']
    },
    'connectionState': {
      'timestamp': '2017-02-20T18:33:49.092Z',
      'value': True
    },
    'currentFwVersion': '36.15',
    'deviceType': 'VA01',
    'mountingState': {
      'timestamp': '2017-02-12T13:34:35.288Z',
      'value': 'CALIBRATED'},
    'serialNo': 'SOME_SERIAL',
    'shortSerialNo': 'SOME_SERIAL'
  },
  {
    'characteristics': {
      'capabilities': [ 'INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']
    },
    'connectionState': {
      'timestamp': '2017-02-20T18:51:28.779Z',
      'value': True
    },
    'currentFwVersion': '36.15',
    'deviceType': 'VA01',
    'mountingState': {
      'timestamp': '2017-01-12T13:22:11.618Z',
      'value': 'CALIBRATED'
     },
    'serialNo': 'SOME_SERIAL',
    'shortSerialNo': 'SOME_SERIAL'
  }
]

get_early_start(zone)

Get the early start configuration of a zone.

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Name Type Description
enabled bool

Whether early start is enabled or not.

Example
{
  'enabled': True
}

get_energy_consumption(startDate, endDate, country, ngsw_bypass=True)

Get enery consumption of your home by range date

Parameters:

Name Type Description Default
startDate str

Start date of the range date.

required
endDate str

End date of the range date.

required
country str

Country code.

required
ngsw_bypass bool

Bypass the ngsw cache.

True

Returns:

Type Description
list

A dict of your energy consumption.

Example

`json { "tariff": "0.104 €/kWh", "unit": "m3", "consumptionInputState": "full", "customTariff": false, "currency": "EUR", "tariffInfo":{ "consumptionUnit": "kWh", "customTariff": false, "tariffInCents": 10.36, "currencySign": "€", "details":{ "totalCostInCents": 1762.98, "totalConsumption": 16.13, "perDay": [ { "date": "2022-09-01", "consumption": 0, "costInCents": 0 },{ "date": "2022-09-02", "consumption": 0, "costInCents": 0 },{ "date": "2022-09-03", "consumption": 0.04, "costInCents": 0.4144 } ], } }

get_energy_savings(monthYear, country, ngsw_bypass=True)

Get energy savings of your home by month and year

Parameters:

Name Type Description Default
monthYear str

Month and year of the range date.

required
country str

Country code.

required
ngsw_bypass bool

Bypass the ngsw cache.

True

Returns:

Type Description
list

A dict of your energy savings.

Example
{
    "coveredInterval":{
        "start":"2022-08-31T23:48:02.675000Z",
        "end":"2022-09-29T13:10:23.035000Z"
    },
    "totalSavingsAvailable":true,
    "withAutoAssist":{
        "detectedAwayDuration":{
            "value":56,
            "unit":"HOURS"
        },
        "openWindowDetectionTimes":9
    },
    "totalSavingsInThermostaticMode":{
        "value":0,
        "unit":"HOURS"
    },
    "manualControlSaving":{
        "value":0,
        "unit":"PERCENTAGE"
    },
    "totalSavings":{
        "value":6.5,
        "unit":"PERCENTAGE"
    },
    "hideSunshineDuration":false,
    "awayDuration":{
        "value":56,
        "unit":"HOURS"
    },
    "showSavingsInThermostaticMode":false,
    "communityNews":{
        "type":"HOME_COMFORT_STATES",
        "states":[
            {
                "name":"humid",
                "value":47.3,
                "unit":"PERCENTAGE"
            },
            {
                "name":"ideal",
                "value":43.1,
                "unit":"PERCENTAGE"
            },
            {
                "name":"cold",
                "value":9.5,
                "unit":"PERCENTAGE"
            },
            {
                "name":"warm",
                "value":0.1,
                "unit":"PERCENTAGE"
            },
            {
                "name":"dry",
                "value":0,
                "unit":"PERCENTAGE"
            }
        ]
    },
    "sunshineDuration":{
        "value":112,
        "unit":"HOURS"
    },
    "hasAutoAssist":true,
    "openWindowDetectionTimes":5,
    "setbackScheduleDurationPerDay":{
        "value":9.100000381469727,
        "unit":"HOURS"
    },
    "totalSavingsInThermostaticModeAvailable":false,
    "yearMonth":"2022-09",
    "hideOpenWindowDetection":false,
    "home":283787,
    "hideCommunityNews":false
}

get_heating_circuits()

Gets the heating circuits in the current home

Returns:

Type Description
list

List of all dictionaries for all heating circuits.

get_heating_system()

Get all heating systems of your home.

Returns:

Type Description
list

A dict of your heating systems.

Example
{
    "boiler":{
        "present":true,
        "id":17830,
        "found":true
    },
    "underfloorHeating":{
        "present":false
    }
}

get_home()

Get information about the home.

Returns:

Name Type Description
id int

The ID of your home.

address dict

The address of your home.

contactDetails dict

The contact details of your home.

dateTimeZone str

The timezone of your home.

geolocation dict

The geolocation of your home.

installationCompleted bool

Whether the installation is completed or not.

name str

The name of your home.

partner dict

The partner of your home.

simpleSmartScheduleEnabled bool

Whether simple smart schedule is enabled or not.

temperatureUnit str

The temperature unit of your home.

Example
{
  'address': {
    'addressLine1': 'SOME_STREET',
    'addressLine2': None,
    'city': 'SOME_CITY',
    'country': 'SOME_COUNTRY',
    'state': None,
    'zipCode': 'SOME_ZIP_CODE'
  },
  'contactDetails': {
    'email': 'SOME_EMAIL',
    'name': 'SOME_NAME',
    'phone': 'SOME_PHONE'
  },
  'dateTimeZone': 'Europe/Berlin',
  'geolocation': {
    'latitude': SOME_LAT,
    'longitude': SOME_LONG
  },
  'id': SOME_ID,
  'installationCompleted': True,
  'name': 'SOME_NAME',
  'partner': None,
  'simpleSmartScheduleEnabled': True,
  'temperatureUnit': 'CELSIUS'
}

get_home_state()

Get information about the status of the home.

Returns:

Type Description
dict

A dictionary with the status of the home.

get_incidents()

Gets the ongoing incidents in the current home

Returns:

Type Description
dict

Incident information.

get_installations()

Gets the ongoing installations in the current home

Returns:

Type Description
list

List of all current installations

get_invitations()

Get active invitations.

Returns:

Type Description
list

A list of active invitations to your home.

Example
[
  {
    'email': 'SOME_INVITED_EMAIL',
    'firstSent': '2017-02-20T21:01:44.450Z',
    'home': {
      'address': {
        'addressLine1': 'SOME_STREET',
        'addressLine2': None,
        'city': 'SOME_CITY',
        'country': 'SOME_COUNTRY',
        'state': None,
        'zipCode': 'SOME_ZIP_CODE'
      },
      'contactDetails': {
        'email': 'SOME_EMAIL',
        'name': 'SOME_NAME',
        'phone': 'SOME_PHONE'
      },
      'dateTimeZone': 'Europe/Berlin',
      'geolocation': {
        'latitude': SOME_LAT,
        'longitude': SOME_LONG
      },
      'id': SOME_ID,
      'installationCompleted': True,
      'name': 'SOME_NAME',
      'partner': None,
      'simpleSmartScheduleEnabled': True,
      'temperatureUnit': 'CELSIUS'
    },
    'inviter': {
      'email': 'SOME_INVITER_EMAIL',
      'enabled': True,
      'homeId': SOME_ID,
      'locale': 'SOME_LOCALE',
      'name': 'SOME_NAME',
      'type': 'WEB_USER',
      'username': 'SOME_USERNAME'
    },
    'lastSent': '2017-02-20T21:01:44.450Z',
    'token': 'SOME_TOKEN'
  }
]

get_me()

Get information about the current user.

Returns:

Type Description
dict

A dictionary with information about the current user.

Example
{
  'email': 'SOME_EMAIL',
  'homes': [
    {
      'id': SOME_ID,
      'name': 'SOME_NAME'
    }
  ],
  'locale': 'en_US',
  'mobileDevices': [],
  'name': 'SOME_NAME',
  'username': 'SOME_USERNAME',
  'secret': 'SOME_CLIENT_SECRET'
}

get_measuring_device(zone)

Gets the active measuring device of a zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Type Description
dict

A dictionary with the current measuring informations.

get_mobile_devices()

Get all mobile devices.

get_report(zone, date)

Parameters:

Name Type Description Default
zone int

The zone ID.

required
date str

The date in ISO8601 format. e.g. "2019-02-14".

required

Returns:

Type Description
dict

The daily report.

get_running_times(from_date)

Get all running times of your home.

Returns:

Type Description
list

A dict of your running times.

Example
{
    "runningTimes":[
        {
            "runningTimeInSeconds":0,
            "startTime":"2022-08-18 00:00:00",
            "endTime":"2022-08-19 00:00:00",
            "zones":[
                {
                    "id":1,
                    "runningTimeInSeconds":0
                },
                {
                    "id":6,
                    "runningTimeInSeconds":0
                },
                {
                    "id":11,
                    "runningTimeInSeconds":0
                },
                {
                    "id":12,
                    "runningTimeInSeconds":0
                }
            ]
        }
    ],
    "summary":{
        "startTime":"2022-08-18 00:00:00",
        "endTime":"2022-08-19 00:00:00",
        "totalRunningTimeInSeconds":0
    },
    "lastUpdated":"2022-08-18T05:07:44Z"
}

get_schedule(zone)

Get the type of the currently configured schedule of a zone.

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Type Description
dict

A dictionary with the ID and type of the schedule of the zone.

Tado allows three different types of a schedule for a zone:

  • The same schedule for all seven days of a week.
  • One schedule for weekdays, one for saturday and one for sunday.
  • Seven different schedules - one for every day of the week.
Example
{
  'id': 1,
  'type': 'THREE_DAY'
}

get_schedule_blocks(zone, schedule)

Gets the blocks for the current schedule on a zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required
schedule int

The schedule ID to fetch.

required

Returns:

Type Description
list

The blocks for the requested schedule.

get_schedule_timetables(zone)

Gets the schedule timetables supported by the zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Type Description
dict

The schedule types.

get_state(zone)

Get the current state of a zone including its desired and current temperature. Check out the example output for more.

Parameters:

Name Type Description Default
zone int

The zone ID.

required

Returns:

Type Description
dict

A dictionary with the current settings and sensor measurements of the zone.

Example
{
  'activityDataPoints': {
    'heatingPower': {
      'percentage': 0.0,
      'timestamp': '2017-02-21T11:56:52.204Z',
      'type': 'PERCENTAGE'
    }
  },
  'geolocationOverride': False,
  'geolocationOverrideDisableTime': None,
  'link': {'state': 'ONLINE'},
  'overlay': None,
  'overlayType': None,
  'preparation': None,
  'sensorDataPoints': {
    'humidity': {
      'percentage': 44.0,
      'timestamp': '2017-02-21T11:56:45.369Z',
      'type': 'PERCENTAGE'
    },
    'insideTemperature': {
      'celsius': 18.11,
      'fahrenheit': 64.6,
      'precision': {
        'celsius': 1.0,
        'fahrenheit': 1.0
      },
      'timestamp': '2017-02-21T11:56:45.369Z',
      'type': 'TEMPERATURE'
    }
  },
  'setting': {
    'power': 'ON',
    'temperature': {
      'celsius': 20.0,
      'fahrenheit': 68.0
    },
    'type': 'HEATING'
  },
  'tadoMode': 'HOME'
}

get_temperature_offset(device_serial)

Gets the temperature offset of a device

Returns:

Type Description
dict

A dictionary that returns the offset in 'celsius' and 'fahrenheit'.

Example
{
     "celsius": 0.0,
     "fahrenheit": 0.0
}

get_users()

Get all users of your home.

get_weather()

Get the current weather of the location of your home.

Returns:

Type Description
dict

A dictionary with weather information for your home.

Example
{
  'outsideTemperature': {
    'celsius': 8.49,
    'fahrenheit': 47.28,
    'precision': {
      'celsius': 0.01,
      'fahrenheit': 0.01
    },
    'timestamp': '2017-02-21T12:06:11.296Z',
    'type': 'TEMPERATURE'
  },
  'solarIntensity': {
    'percentage': 58.4,
    'timestamp': '2017-02-21T12:06:11.296Z',
    'type': 'PERCENTAGE'
  },
  'weatherState': {
    'timestamp': '2017-02-21T12:06:11.296Z',
    'type': 'WEATHER_STATE',
    'value': 'CLOUDY_PARTLY'
  }
}

get_zone_states()

Get all zone states of your home.

Returns:

Type Description
list

A dict of your zone states.

Example
{
    "zoneStates":{
        "1":{
            "tadoMode":"HOME",
            "geolocationOverride":false,
            "geolocationOverrideDisableTime":"None",
            "preparation":"None",
            "setting":{
                "type":"HEATING",
                "power":"ON",
                "temperature":{
                    "celsius":19.0,
                    "fahrenheit":66.2
                }
            },
            "overlayType":"None",
            "overlay":"None",
            "openWindow":"None",
            "nextScheduleChange":{
                "start":"2022-08-18T16:00:00Z",
                "setting":{
                    "type":"HEATING",
                    "power":"ON",
                    "temperature":{
                        "celsius":20.0,
                        "fahrenheit":68.0
                    }
                }
            },
            "nextTimeBlock":{
                "start":"2022-08-18T16:00:00.000Z"
            },
            "link":{
                "state":"ONLINE"
            },
            "activityDataPoints":{
                "heatingPower":{
                    "type":"PERCENTAGE",
                    "percentage":0.0,
                    "timestamp":"2022-08-18T05:34:32.127Z"
                }
            },
            "sensorDataPoints":{
                "insideTemperature":{
                    "celsius":24.13,
                    "fahrenheit":75.43,
                    "timestamp":"2022-08-18T05:36:21.241Z",
                    "type":"TEMPERATURE",
                    "precision":{
                        "celsius":0.1,
                        "fahrenheit":0.1
                    }
                },
                "humidity":{
                    "type":"PERCENTAGE",
                    "percentage":62.2,
                    "timestamp":"2022-08-18T05:36:21.241Z"
                }
            }
        },
        "6":{
            "tadoMode":"HOME",
            "geolocationOverride":false,
            "geolocationOverrideDisableTime":"None",
            "preparation":"None",
            "setting":{
                "type":"HEATING",
                "power":"ON",
                "temperature":{
                    "celsius":19.5,
                    "fahrenheit":67.1
                }
            },
            "overlayType":"None",
            "overlay":"None",
            "openWindow":"None",
            "nextScheduleChange":{
                "start":"2022-08-18T07:00:00Z",
                "setting":{
                    "type":"HEATING",
                    "power":"ON",
                    "temperature":{
                        "celsius":18.0,
                        "fahrenheit":64.4
                    }
                }
            },
            "nextTimeBlock":{
                "start":"2022-08-18T07:00:00.000Z"
            },
            "link":{
                "state":"ONLINE"
            },
            "activityDataPoints":{
                "heatingPower":{
                    "type":"PERCENTAGE",
                    "percentage":0.0,
                    "timestamp":"2022-08-18T05:47:58.505Z"
                }
            },
            "sensorDataPoints":{
                "insideTemperature":{
                    "celsius":24.2,
                    "fahrenheit":75.56,
                    "timestamp":"2022-08-18T05:46:09.620Z",
                    "type":"TEMPERATURE",
                    "precision":{
                        "celsius":0.1,
                        "fahrenheit":0.1
                    }
                },
                "humidity":{
                    "type":"PERCENTAGE",
                    "percentage":64.8,
                    "timestamp":"2022-08-18T05:46:09.620Z"
                }
            }
        }
    }
}

get_zones()

Get all zones of your home.

Returns:

Type Description
list

A list of dictionaries with all your zones.

Example
[
  { 'dateCreated': '2016-12-23T15:53:43.615Z',
    'dazzleEnabled': True,
    'deviceTypes': ['VA01'],
    'devices': [
      {
        'characteristics': {
          'capabilities': [ 'INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']
        },
        'connectionState': {
          'timestamp': '2017-02-21T14:22:45.913Z',
          'value': True
        },
        'currentFwVersion': '36.15',
        'deviceType': 'VA01',
        'duties': ['ZONE_UI', 'ZONE_DRIVER', 'ZONE_LEADER'],
        'mountingState': {
          'timestamp': '2017-02-12T13:34:35.288Z',
          'value': 'CALIBRATED'
        },
        'serialNo': 'SOME_SERIAL',
        'shortSerialNo': 'SOME_SERIAL'
      }
    ],
    'id': 1,
    'name': 'SOME_NAME',
    'reportAvailable': False,
    'supportsDazzle': True,
    'type': 'HEATING'
  },
  {
    'dateCreated': '2016-12-23T16:16:11.390Z',
    'dazzleEnabled': True,
    'deviceTypes': ['VA01'],
    'devices': [
      {
        'characteristics': {
          'capabilities': [ 'INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']
        },
        'connectionState': {
          'timestamp': '2017-02-21T14:19:40.215Z',
          'value': True
        },
        'currentFwVersion': '36.15',
        'deviceType': 'VA01',
        'duties': ['ZONE_UI', 'ZONE_DRIVER', 'ZONE_LEADER'],
        'mountingState': {
          'timestamp': '2017-01-12T13:22:11.618Z',
          'value': 'CALIBRATED'
        },
        'serialNo': 'SOME_SERIAL',
        'shortSerialNo': 'SOME_SERIAL'
      }
    ],
    'id': 3,
    'name': 'SOME_NAME ',
    'reportAvailable': False,
    'supportsDazzle': True,
    'type': 'HEATING'
  }
]

refresh_auth()

Refresh the access token.

set_early_start(zone, enabled)

Enable or disable the early start feature of a zone.

Parameters:

Name Type Description Default
zone int

The zone ID.

required
enabled bool

Enable (True) or disable (False) the early start feature of the zone.

required

Returns:

Type Description
boolean

Whether the early start feature is enabled or not.

Example
{
  'enabled': True
}

set_home_state(at_home)

Set at-home/away state

Parameters:

Name Type Description Default
at_home bool

True for at HOME, false for AWAY.

required

set_open_window_detection(zone, enabled, seconds)

Get the open window detection for a zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required
enabled bool

If open window detection is enabled.

required
seconds int

timeout in seconds.

required

set_schedule(zone, schedule)

Set the type of the currently configured schedule of a zone.

Parameters:

Name Type Description Default
zone int

The zone ID.

required
schedule int

The schedule to activate. The supported zones are currently * 0: ONE_DAY * 1: THREE_DAY * 2: SEVEN_DAY But the actual mapping should be retrieved via get_schedule_timetables.

required

Returns:

Type Description
dict

The new configuration.

set_schedule_blocks(zone, schedule, blocks)

Sets the blocks for the current schedule on a zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required
schedule int

The schedule ID.

required
blocks list

The new blocks.

required

Returns:

Type Description
list

The new configuration.

set_temperature(zone, temperature, termination='MANUAL')

Set the desired temperature of a zone.

Parameters:

Name Type Description Default
zone int

The zone ID.

required
temperature float

The desired temperature in celsius.

required
termination str / int

The termination mode for the zone.

'MANUAL'

Returns:

Type Description
dict

A dictionary with the new zone settings.

If you set a desired temperature less than 5 celsius it will turn of the zone!

The termination supports three different mode:

  • "MANUAL": The zone will be set on the desired temperature until you change it manually.
  • "AUTO": The zone will be set on the desired temperature until the next automatic change.
  • INTEGER: The zone will be set on the desired temperature for INTEGER seconds.
Example
{
  'setting': {
    'power': 'ON',
    'temperature': {'celsius': 12.0, 'fahrenheit': 53.6},
    'type': 'HEATING'
  },
  'termination': {
    'projectedExpiry': None,
    'type': 'MANUAL'
  },
  'type': 'MANUAL'
}

set_temperature_offset(device_serial, offset)

Sets the temperature offset of a device

Parameters:

Name Type Description Default
device_serial Str

The serial number of the device.

required
offset float

the temperature offset to apply in celsius.

required

Returns:

Type Description
dict

A dictionary that returns the offset in 'celsius' and 'fahrenheit'.

set_zone_name(zone, new_name)

Sets the name of the zone

Parameters:

Name Type Description Default
zone int

The zone ID.

required
new_name str

The new name of the zone.

required

Returns:

Type Description
dict

A dictionary with the new name of the zone.