API Documentation for PyTado
Module PyTado.interface.api
Tado
Interacts with a Tado thermostat via public my.tado.com API.
Example usage: http = Http() http.device_activation() # Activate the device t = Tado(http) t.get_climate(1) # Get climate, zone 1.
change_presence(self, presence: <enum 'Presence'>)
Sets HomeState to presence
Parameters:
- self (Unknown): Required
- presence (
<enum 'Presence'>): Required
device_activation(self)
Activates the device.
Parameters:
- self (Unknown): Required
device_activation_status(self)
Returns the status of the device activation.
Parameters:
- self (Unknown): Required
device_verification_url(self)
Returns the URL for device verification.
Parameters:
- self (Unknown): Required
get_air_comfort(self)
Gets air quality information
Parameters:
- self (Unknown): Required
get_auto_geofencing_supported(self)
Return whether the Tado Home supports auto geofencing
Parameters:
- self (Unknown): Required
get_boiler_install_state(self, bridge_id: <class 'str'>, auth_key: <class 'str'>)
Get the boiler wiring installation state from home by bridge endpoint
Parameters:
- self (Unknown): Required
- bridge_id (
<class 'str'>): Required - auth_key (
<class 'str'>): Required
get_boiler_max_output_temperature(self, bridge_id: <class 'str'>, auth_key: <class 'str'>)
Get the boiler max output temperature from home by bridge endpoint
Parameters:
- self (Unknown): Required
- bridge_id (
<class 'str'>): Required - auth_key (
<class 'str'>): Required
get_capabilities(self, zone: <class 'int'>)
Gets capabilities of the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_climate(self, zone: <class 'int'>)
Gets the climate for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_device_info(self, device_id: <class 'str'>, cmd: <class 'str'>)
Get information about a device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - cmd (
<class 'str'>): Required
get_devices(self)
Gets device information.
Parameters:
- self (Unknown): Required
get_eiq_meter_readings(self)
Get Energy IQ meter readings
Parameters:
- self (Unknown): Required
get_eiq_tariffs(self)
Get Energy IQ tariff history
Parameters:
- self (Unknown): Required
get_flow_temperature_optimization(self)
Get the current flow temperature optimization
Parameters:
- self (Unknown): Required
get_heating_circuits(self)
Gets available heating circuits
Parameters:
- self (Unknown): Required
get_historic(self, zone: <class 'int'>, day_report_date: <class 'datetime.date'>)
Gets historic information on given date for zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - day_report_date (
<class 'datetime.date'>): Required
get_home_state(self)
Gets current state of Home.
Parameters:
- self (Unknown): Required
get_me(self)
Gets home information.
Parameters:
- self (Unknown): Required
get_mobile_devices(self)
Gets information about mobile devices
Parameters:
- self (Unknown): Required
get_open_window_detected(self, zone: <class 'int'>)
Returns whether an open window is detected.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_running_times(self, from_date: <class 'datetime.date'>)
Get the running times from the Minder API
Parameters:
- self (Unknown): Required
- from_date (
<class 'datetime.date'>): 2025-10-09
get_schedule(self, zone: <class 'int'>, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Gets the schedule for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
get_state(self, zone: <class 'int'>)
Gets current state of Zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_temp_offset(self, device_id: <class 'str'>)
Get the Temperature offset on the device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required
get_timetable(self, zone: <class 'int'>)
Get the Timetable type currently active
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_users(self)
Gets active users in home
Parameters:
- self (Unknown): Required
get_weather(self)
Gets outside weather data
Parameters:
- self (Unknown): Required
get_window_state(self, zone: <class 'int'>)
Returns the state of the window for zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone(self, zone: <class 'int'>)
Gets the specified zone as a TadoZone or TadoRoom object.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_control(self, zone: <class 'int'>)
Get zone control information
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_overlay_default(self, zone: <class 'int'>)
Get current overlay default settings for zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_state(self, zone: <class 'int'>)
Gets current state of Zone as a TadoZone object.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_states(self)
Gets current states of all zones.
Parameters:
- self (Unknown): Required
get_zones(self)
Gets zones information.
Parameters:
- self (Unknown): Required
reset_open_window(self, zone: <class 'int'>)
Sets the window in zone to closed
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
reset_zone_overlay(self, zone: <class 'int'>)
Resets the zone overlay for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
set_auto(self)
Sets HomeState to AUTO
Parameters:
- self (Unknown): Required
set_away(self)
Sets HomeState to AWAY
Parameters:
- self (Unknown): Required
set_away_radius_in_meters(self, meters: <class 'int'>)
When the distance between home location and the location of a mobile device which can control this home is greater than this distance, tado considers the mobile device to be outside of home. Can be checked by calling get_installation().
Included is check to ignore request to less than 100 meters
Parameters:
- self (Unknown): Required
- meters (
<class 'int'>): Required
set_boiler_max_output_temperature(self, bridge_id: <class 'str'>, auth_key: <class 'str'>, temperature_in_celcius: <class 'float'>)
Set the boiler max output temperature with home by bridge endpoint
Parameters:
- self (Unknown): Required
- bridge_id (
<class 'str'>): Required - auth_key (
<class 'str'>): Required - temperature_in_celcius (
<class 'float'>): Required
set_child_lock(self, device_id: <class 'str'>, child_lock: <class 'bool'>)
Sets the child lock on a device
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - child_lock (
<class 'bool'>): Required
set_eiq_meter_readings(self, reading_date: <class 'datetime.date'>, reading: <class 'int'>)
Send Meter Readings to Tado, reading is without decimals
Parameters:
- self (Unknown): Required
- reading_date (
<class 'datetime.date'>): 2025-10-09 - reading (
<class 'int'>): 0
set_eiq_tariff(self, from_date: <class 'datetime.date'>, to_date: <class 'datetime.date'>, tariff: <class 'float'>, unit: <class 'str'>, is_period: <class 'bool'>)
Send Tariffs to Tado, tariff is with decimals, unit is either m3 or kWh, set is_period to true to set a period of price
Parameters:
- self (Unknown): Required
- from_date (
<class 'datetime.date'>): 2025-10-09 - to_date (
<class 'datetime.date'>): 2025-10-09 - tariff (
<class 'float'>): 0 - unit (
<class 'str'>): m3 - is_period (
<class 'bool'>): False
set_flow_temperature_optimization(self, max_flow_temperature: <class 'float'>)
Set the flow temperature optimization.
max_flow_temperature: float, the maximum flow temperature in Celsius
Parameters:
- self (Unknown): Required
- max_flow_temperature (
<class 'float'>): Required
set_home(self)
Sets HomeState to HOME
Parameters:
- self (Unknown): Required
set_open_window(self, zone: <class 'int'>)
Sets the window in zone to open Note: This can only be set if an open window was detected in this zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
set_schedule(self, zone: <class 'int'>, data: list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Sets the schedule for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - data (
list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
set_temp_offset(self, device_id: <class 'str'>, offset: <class 'float'>, measure: <class 'str'>)
Set the Temperature offset on the device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - offset (
<class 'float'>): 0 - measure (
<class 'str'>): celsius
set_timetable(self, zone: <class 'int'>, timetable: <enum 'Timetable'>)
Set the Timetable type currently active id = 0 : ONE_DAY (MONDAY_TO_SUNDAY) id = 1 : THREE_DAY (MONDAY_TO_FRIDAY, SATURDAY, SUNDAY) id = 3 : SEVEN_DAY (MONDAY, TUESDAY, WEDNESDAY ...)
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - timetable (
<enum 'Timetable'>): Required
set_zone_heating_circuit(self, zone: <class 'int'>, heating_circuit: <class 'int'>)
Sets the heating circuit for a zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - heating_circuit (
<class 'int'>): Required
set_zone_overlay(self, zone: <class 'int'>, overlay_mode: <enum 'OverlayMode'>, set_temp: float | None, duration: datetime.timedelta | None, power: <enum 'Power'>, is_boost: bool | None, device_type: PyTado.types.ZoneType | None, mode: PyTado.types.HvacMode | None, fan_speed: PyTado.types.FanSpeed | None, swing: typing.Any, fan_level: PyTado.types.FanLevel | None, vertical_swing: PyTado.types.VerticalSwing | None, horizontal_swing: PyTado.types.HorizontalSwing | None)
Sets a zone overlay for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - overlay_mode (
<enum 'OverlayMode'>): Required - set_temp (
float | None): None - duration (
datetime.timedelta | None): None - power (
<enum 'Power'>): ON - is_boost (
bool | None): None - device_type (
PyTado.types.ZoneType | None): None - mode (
PyTado.types.HvacMode | None): None - fan_speed (
PyTado.types.FanSpeed | None): None - swing (
typing.Any): None - fan_level (
PyTado.types.FanLevel | None): None - vertical_swing (
PyTado.types.VerticalSwing | None): None - horizontal_swing (
PyTado.types.HorizontalSwing | None): None
TadoBase
Base class for Tado API classes. Provides all common functionality for pre line X and line X systems.
Attributes:
- from_http (
classmethod):<classmethod(<function TadoBase.from_http at 0x7fcdac14d3a0>)>
change_presence(self, presence: <enum 'Presence'>)
Sets HomeState to presence
Parameters:
- self (Unknown): Required
- presence (
<enum 'Presence'>): Required
device_activation(self)
Activates the device.
Parameters:
- self (Unknown): Required
device_activation_status(self)
Returns the status of the device activation.
Parameters:
- self (Unknown): Required
device_verification_url(self)
Returns the URL for device verification.
Parameters:
- self (Unknown): Required
get_air_comfort(self)
Gets air quality information
Parameters:
- self (Unknown): Required
get_auto_geofencing_supported(self)
Return whether the Tado Home supports auto geofencing
Parameters:
- self (Unknown): Required
get_capabilities(self, zone: <class 'int'>)
Gets capabilities of the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_climate(self, zone: <class 'int'>)
Gets the climate for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_device_info(self, device_id: <class 'str'>, cmd: <class 'str'>)
Get information about a device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - cmd (
<class 'str'>): Required
get_devices(self)
Gets device information.
Parameters:
- self (Unknown): Required
get_eiq_meter_readings(self)
Get Energy IQ meter readings
Parameters:
- self (Unknown): Required
get_eiq_tariffs(self)
Get Energy IQ tariff history
Parameters:
- self (Unknown): Required
get_historic(self, zone: <class 'int'>, day_report_date: <class 'datetime.date'>)
Gets historic information on given date for zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - day_report_date (
<class 'datetime.date'>): Required
get_home_state(self)
Gets current state of Home.
Parameters:
- self (Unknown): Required
get_me(self)
Gets home information.
Parameters:
- self (Unknown): Required
get_mobile_devices(self)
Gets information about mobile devices
Parameters:
- self (Unknown): Required
get_open_window_detected(self, zone: <class 'int'>)
Returns whether an open window is detected.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_running_times(self, from_date: <class 'datetime.date'>)
Get the running times from the Minder API
Parameters:
- self (Unknown): Required
- from_date (
<class 'datetime.date'>): 2025-10-09
get_schedule(self, zone: <class 'int'>, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Gets the schedule for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
get_state(self, zone: <class 'int'>)
Gets current state of Zone as a ZoneState or RoomState object.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_users(self)
Gets active users in home
Parameters:
- self (Unknown): Required
get_weather(self)
Gets outside weather data
Parameters:
- self (Unknown): Required
get_window_state(self, zone: <class 'int'>)
Returns the state of the window for zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone(self, zone: <class 'int'>)
Gets the specified zone as a TadoZone or TadoRoom object.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_state(self, zone: <class 'int'>)
Gets current state of Zone as a ZoneState or RoomState object.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_states(self)
Gets current state of Zone as a TadoZone object.
Parameters:
- self (Unknown): Required
get_zones(self)
Gets zones information.
Parameters:
- self (Unknown): Required
reset_zone_overlay(self, zone: <class 'int'>)
Resets the zone overlay for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
set_auto(self)
Sets HomeState to AUTO
Parameters:
- self (Unknown): Required
set_away(self)
Sets HomeState to AWAY
Parameters:
- self (Unknown): Required
set_away_radius_in_meters(self, meters: <class 'int'>)
When the distance between home location and the location of a mobile device which can control this home is greater than this distance, tado considers the mobile device to be outside of home. Can be checked by calling get_installation().
Included is check to ignore request to less than 100 meters
Parameters:
- self (Unknown): Required
- meters (
<class 'int'>): Required
set_child_lock(self, device_id: <class 'str'>, child_lock: <class 'bool'>)
Set the child lock on the device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - child_lock (
<class 'bool'>): Required
set_eiq_meter_readings(self, reading_date: <class 'datetime.date'>, reading: <class 'int'>)
Send Meter Readings to Tado, reading is without decimals
Parameters:
- self (Unknown): Required
- reading_date (
<class 'datetime.date'>): 2025-10-09 - reading (
<class 'int'>): 0
set_eiq_tariff(self, from_date: <class 'datetime.date'>, to_date: <class 'datetime.date'>, tariff: <class 'float'>, unit: <class 'str'>, is_period: <class 'bool'>)
Send Tariffs to Tado, tariff is with decimals, unit is either m3 or kWh, set is_period to true to set a period of price
Parameters:
- self (Unknown): Required
- from_date (
<class 'datetime.date'>): 2025-10-09 - to_date (
<class 'datetime.date'>): 2025-10-09 - tariff (
<class 'float'>): 0 - unit (
<class 'str'>): m3 - is_period (
<class 'bool'>): False
set_home(self)
Sets HomeState to HOME
Parameters:
- self (Unknown): Required
set_schedule(self, zone: <class 'int'>, data: list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Sets the schedule for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - data (
list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
set_temp_offset(self, device_id: <class 'str'>, offset: <class 'float'>, measure: <class 'str'>)
Set the Temperature offset on the device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - offset (
<class 'float'>): 0 - measure (
<class 'str'>): celsius
set_zone_overlay(self, zone: <class 'int'>, overlay_mode: <enum 'OverlayMode'>, set_temp: float | None, duration: datetime.timedelta | None, power: <enum 'Power'>, is_boost: bool | None, device_type: PyTado.types.ZoneType | None, mode: PyTado.types.HvacMode | None, fan_speed: PyTado.types.FanSpeed | None, swing: typing.Any, fan_level: PyTado.types.FanLevel | None, vertical_swing: PyTado.types.VerticalSwing | None, horizontal_swing: PyTado.types.HorizontalSwing | None)
Sets a zone overlay for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - overlay_mode (
<enum 'OverlayMode'>): Required - set_temp (
float | None): None - duration (
datetime.timedelta | None): None - power (
<enum 'Power'>): ON - is_boost (
bool | None): None - device_type (
PyTado.types.ZoneType | None): None - mode (
PyTado.types.HvacMode | None): None - fan_speed (
PyTado.types.FanSpeed | None): None - swing (
typing.Any): None - fan_level (
PyTado.types.FanLevel | None): None - vertical_swing (
PyTado.types.VerticalSwing | None): None - horizontal_swing (
PyTado.types.HorizontalSwing | None): None
TadoX
Interacts with a Tado thermostat via hops.tado.com (Tado X) API.
Example usage: http = Http() http.device_activation() # Activate the device t = TadoX(http) t.get_climate(1) # Get climate, room 1.
boost_all_heating(self)
Boost mode, expires after 30 minutes.
Parameters:
- self (Unknown): Required
change_presence(self, presence: <enum 'Presence'>)
Sets HomeState to presence
Parameters:
- self (Unknown): Required
- presence (
<enum 'Presence'>): Required
delete_eiq_tariff(self, reader_id: <class 'int'>)
Delete an earlier provided reading-id, like "8c46366f-f3a8-4aed-be08-ebe1de3ff260"
Parameters:
- self (Unknown): Required
- reader_id (
<class 'int'>): Required
device_activation(self)
Activates the device.
Parameters:
- self (Unknown): Required
device_activation_status(self)
Returns the status of the device activation.
Parameters:
- self (Unknown): Required
device_verification_url(self)
Returns the URL for device verification.
Parameters:
- self (Unknown): Required
disable_all_heating(self)
Sets all rooms off, frost protection.
Parameters:
- self (Unknown): Required
get_air_comfort(self)
Gets air quality information
Parameters:
- self (Unknown): Required
get_auto_geofencing_supported(self)
Return whether the Tado Home supports auto geofencing
Parameters:
- self (Unknown): Required
get_capabilities(self, zone: <class 'int'>)
Gets capabilities of the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_climate(self, zone: <class 'int'>)
Gets the climate for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_device_info(self, device_id: <class 'str'>, cmd: <class 'str'>)
Gets information about devices
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - cmd (
<class 'str'>):
get_devices(self)
Gets device information.
Parameters:
- self (Unknown): Required
get_eiq_meter_readings(self)
Get Energy IQ meter readings
Parameters:
- self (Unknown): Required
get_eiq_tariffs(self)
Get Energy IQ tariff history
Parameters:
- self (Unknown): Required
get_flow_temperature_optimization(self)
Get the current flow temperature optimization
Parameters:
- self (Unknown): Required
get_historic(self, zone: <class 'int'>, day_report_date: <class 'datetime.date'>)
Gets historic information on given date for zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - day_report_date (
<class 'datetime.date'>): Required
get_home_state(self)
Gets current state of Home.
Parameters:
- self (Unknown): Required
get_installation(self)
Gets home installation details.
Parameters:
- self (Unknown): Required
get_me(self)
Gets home information.
Parameters:
- self (Unknown): Required
get_mobile_devices(self)
Gets information about mobile devices
Parameters:
- self (Unknown): Required
get_open_window_detected(self, zone: <class 'int'>)
Returns whether an open window is detected.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_running_times(self, from_date: <class 'datetime.date'>)
Get the running times from the Minder API
Parameters:
- self (Unknown): Required
- from_date (
<class 'datetime.date'>): 2025-10-09
get_schedule(self, zone: <class 'int'>, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Gets the schedule for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
get_state(self, zone: <class 'int'>)
Gets current state of zone/room.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_users(self)
Gets active users in home
Parameters:
- self (Unknown): Required
get_weather(self)
Gets outside weather data
Parameters:
- self (Unknown): Required
get_window_state(self, zone: <class 'int'>)
Returns the state of the window for zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone(self, zone: <class 'int'>)
Gets zone/room.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_state(self, zone: <class 'int'>)
Gets current state of zone/room as a TadoXZone object.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
get_zone_states(self)
Gets current states of all zones/rooms.
Parameters:
- self (Unknown): Required
get_zones(self)
Gets zones (or rooms in Tado X API) information.
Parameters:
- self (Unknown): Required
reset_open_window(self, zone: <class 'int'>)
Sets the window in zone to closed
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
reset_zone_overlay(self, zone: <class 'int'>)
Resets the zone overlay for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
resume_all_schedules(self)
Resumes regular schedule for all rooms, undo boost, disable heating and manual settings.
Parameters:
- self (Unknown): Required
set_auto(self)
Sets HomeState to AUTO
Parameters:
- self (Unknown): Required
set_away(self)
Sets HomeState to AWAY
Parameters:
- self (Unknown): Required
set_away_radius_in_meters(self, meters: <class 'int'>)
When the distance between home location and the location of a mobile device which can control this home is greater than this distance, tado considers the mobile device to be outside of home. Can be checked by calling get_installation().
Included is check to ignore request to less than 100 meters
Parameters:
- self (Unknown): Required
- meters (
<class 'int'>): Required
set_boiler_presence(self, b_present: <class 'bool'>)
Sets boiler present or not.
When setting the boiler presence to true with a boiler id, the tado api does not seem to generate any errors when you supply an unknown boiler id.
The call assists the user in finding the boiler by brand and model. This is supported by tado's graphql API, and NOT VIA THE API described in this definition.
Parameters:
- self (Unknown): Required
- b_present (
<class 'bool'>): True
set_child_lock(self, device_id: <class 'str'>, child_lock: <class 'bool'>)
" Set and toggle the child lock on the device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - child_lock (
<class 'bool'>): Required
set_eiq_meter_readings(self, reading_date: <class 'datetime.date'>, reading: <class 'int'>)
Send Meter Readings to Tado, reading is without decimals
Parameters:
- self (Unknown): Required
- reading_date (
<class 'datetime.date'>): 2025-10-09 - reading (
<class 'int'>): 0
set_eiq_tariff(self, from_date: <class 'datetime.date'>, to_date: <class 'datetime.date'>, tariff: <class 'float'>, unit: <class 'str'>, is_period: <class 'bool'>)
Send Tariffs to Tado, tariff is with decimals, unit is either m3 or kWh, set is_period to true to set a period of price
Parameters:
- self (Unknown): Required
- from_date (
<class 'datetime.date'>): 2025-10-09 - to_date (
<class 'datetime.date'>): 2025-10-09 - tariff (
<class 'float'>): 0 - unit (
<class 'str'>): m3 - is_period (
<class 'bool'>): False
set_flow_temperature_optimization(self, max_flow_temperature: <class 'float'>)
Set the flow temperature optimization.
max_flow_temperature: float, the maximum flow temperature in Celsius
Parameters:
- self (Unknown): Required
- max_flow_temperature (
<class 'float'>): Required
set_home(self)
Sets HomeState to HOME
Parameters:
- self (Unknown): Required
set_incident_detection(self, b_present: <class 'bool'>)
Enable or disable incident detection setting for this home. {'supported': True, 'enabled': True}
Parameters:
- self (Unknown): Required
- b_present (
<class 'bool'>): True
set_manual_control(self, room_id: <class 'int'>, power: <class 'str'>, termination_type: <class 'str'>, m_temp: <class 'int'>, m_sec: <class 'int'>, m_boost: <class 'bool'>)
Sets manual control for a specific room.
room_id : obtain from get_rooms() power : ON, OFF Terminationtype: TIMER, NEXT_TIME_BLOCK, MANUAL m_boost : True or False
Remarks : m_temp : can NOT be zero when power = ON m_sec : can not be zero when setting termination type TIMER m_sec : do not include to Tado X if not TIMER power OFF : will enable frost protection, do NOT include BOOST and TEMPERATURE to Tado X
return : 0 all good -1 missing temperature -2 missing seconds for timer
Parameters:
- self (Unknown): Required
- room_id (
<class 'int'>): 0 - power (
<class 'str'>): ON - termination_type (
<class 'str'>): MANUAL - m_temp (
<class 'int'>): 18 - m_sec (
<class 'int'>): 600 - m_boost (
<class 'bool'>): False
set_open_window(self, zone: <class 'int'>)
Sets the window in zone to open Note: This can only be set if an open window was detected in this zone
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required
set_schedule(self, zone: <class 'int'>, data: list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Sets the schedule for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - data (
list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
set_temp_offset(self, device_id: <class 'str'>, offset: <class 'float'>, measure: <class 'str'>)
Set the Temperature offset on the device.
Parameters:
- self (Unknown): Required
- device_id (
<class 'str'>): Required - offset (
<class 'float'>): 0 - measure (
<class 'str'>):
set_underfloor_heating_presence(self, b_present: <class 'bool'>)
Sets boiler present or not. Inform about the presence of underfloor heating in this home
Parameters:
- self (Unknown): Required
- b_present (
<class 'bool'>): True
set_zone_overlay(self, zone: <class 'int'>, overlay_mode: <enum 'OverlayMode'>, set_temp: float | None, duration: datetime.timedelta | None, power: <enum 'Power'>, is_boost: bool | None, device_type: PyTado.types.ZoneType | None, mode: PyTado.types.HvacMode | None, fan_speed: PyTado.types.FanSpeed | None, swing: typing.Any, fan_level: PyTado.types.FanLevel | None, vertical_swing: PyTado.types.VerticalSwing | None, horizontal_swing: PyTado.types.HorizontalSwing | None)
Sets a zone overlay for the specified zone.
Parameters:
- self (Unknown): Required
- zone (
<class 'int'>): Required - overlay_mode (
<enum 'OverlayMode'>): Required - set_temp (
float | None): None - duration (
datetime.timedelta | None): None - power (
<enum 'Power'>): ON - is_boost (
bool | None): None - device_type (
PyTado.types.ZoneType | None): None - mode (
PyTado.types.HvacMode | None): None - fan_speed (
PyTado.types.FanSpeed | None): None - swing (
typing.Any): None - fan_level (
PyTado.types.FanLevel | None): None - vertical_swing (
PyTado.types.VerticalSwing | None): None - horizontal_swing (
PyTado.types.HorizontalSwing | None): None
Module PyTado.interface
Tado
Interacts with a Tado thermostat via public API.
Example usage: t = Tado() t.device_activation() # Activate device t.get_climate(1) # Get climate, zone 1.
device_activation(self)
Activates the device and initializes the API client.
Raises: TadoException: If device activation fails
Parameters:
- self (Unknown): Required
device_activation_status(self)
Returns the status of the device activation.
Returns: DeviceActivationStatus: The current activation status of the device
Parameters:
- self (Unknown): Required
device_verification_url(self)
Returns the URL for device verification.
Returns: str | None: The verification URL or None if not available
Parameters:
- self (Unknown): Required
get_refresh_token(self)
Retrieve the refresh token from the current api connection.
Returns: str | None: The current refresh token, or None if not available.
Parameters:
- self (Unknown): Required
Module PyTado.zone
TadoRoom
Base class for Tado zone/room control.
This class provides the foundation for interacting with Tado zones/rooms, implementing common functionality and defining the interface that specific zone implementations must follow.
Attributes: id: The unique identifier of the zone/room _home: Reference to the parent Tado/TadoX instance _http: HTTP client for making API requests
Attributes:
- name (
property):<property object at 0x7fcdac1963e0> - devices (
property):<property object at 0x7fcdac0ecfe0> - current_temp (
property):<property object at 0x7fcdac0ed030> - target_temp (
property):<property object at 0x7fcdac0ed080> - current_humidity (
property):<property object at 0x7fcdac0ed0d0> - open_window (
property):<property object at 0x7fcdac0ed120> - open_window_expiry_seconds (
property):<property object at 0x7fcdac0ed170> - current_hvac_mode (
property):<property object at 0x7fcdac0ed1c0> - current_hvac_action (
property):<property object at 0x7fcdac0ed210> - heating_power_percentage (
property):<property object at 0x7fcdac0ed260> - tado_mode (
property):<property object at 0x7fcdac0ed2b0> - tado_mode_setting (
property):<property object at 0x7fcdac0ed300> - available (
property):<property object at 0x7fcdac0ed350> - overlay_termination_type (
property):<property object at 0x7fcdac0ed3a0> - overlay_termination_expiry_seconds (
property):<property object at 0x7fcdac0ed3f0> - overlay_termination_timestamp (
property):<property object at 0x7fcdac0ed440> - default_overlay_termination_type (
property):<property object at 0x7fcdac0ed490> - default_overlay_termination_duration (
property):<property object at 0x7fcdac0ed4e0> - boost (
property):<property object at 0x7fcdac0ed530> - next_time_block_start (
property):<property object at 0x7fcdac0ed580> - overlay_active (
property):<property object at 0x7fcdac0ed5d0> - zone_type (
property):<property object at 0x7fcdac0ed620>
get_capabilities(self)
Gets capabilities of the zone/room.
Parameters:
- self (Unknown): Required
get_climate(self)
Gets temp (centigrade) and humidity (% RH) for zone/room.
Parameters:
- self (Unknown): Required
get_historic(self, day_report_date: <class 'datetime.date'>)
Gets historic information on given date for zone/room
Parameters:
- self (Unknown): Required
- day_report_date (
<class 'datetime.date'>): Required
get_schedule(self, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Get the JSON representation of the schedule for a zone. Zone has 3 different schedules, one for each timetable (see setTimetable)
Parameters:
- self (Unknown): Required
- timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
reset_zone_overlay(self)
Delete current overlay
Parameters:
- self (Unknown): Required
set_schedule(self, data: list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Set heating schedule.
Tado X API args: - data: SetSchedule
Tado V3/V2 API args: - data: list[Schedule] - timetable: Timetable - day: DayType
Parameters:
- self (Unknown): Required
- data (
list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
set_zone_overlay(self, overlay_mode: <enum 'OverlayMode'>, set_temp: float | None, duration: datetime.timedelta | None, power: <enum 'Power'>, is_boost: bool | None, device_type: PyTado.types.ZoneType | None, mode: PyTado.types.HvacMode | None, fan_speed: PyTado.types.FanSpeed | None, swing: typing.Any, fan_level: PyTado.types.FanLevel | None, vertical_swing: PyTado.types.VerticalSwing | None, horizontal_swing: PyTado.types.HorizontalSwing | None)
Set zone overlay (manual control).
Tado X API args: - overlay_mode: OverlayMode - set_temp: float | None = None - duration: timedelta | None = None - power: Power = Power.ON - is_boost: bool = False
Tado V3/V2 API args: - overlay_mode: OverlayMode - set_temp: float | None = None - duration: timedelta | None = None - power: Power = Power.ON - device_type: ZoneType = ZoneType.HEATING - mode: HvacMode | None = None - fan_speed: FanSpeed | None = None - swing: Any = None - fan_level: FanLevel | None = None - vertical_swing: VerticalSwing | None = None - horizontal_swing: HorizontalSwing | None = None
Parameters:
- self (Unknown): Required
- overlay_mode (
<enum 'OverlayMode'>): Required - set_temp (
float | None): None - duration (
datetime.timedelta | None): None - power (
<enum 'Power'>): ON - is_boost (
bool | None): None - device_type (
PyTado.types.ZoneType | None): None - mode (
PyTado.types.HvacMode | None): None - fan_speed (
PyTado.types.FanSpeed | None): None - swing (
typing.Any): None - fan_level (
PyTado.types.FanLevel | None): None - vertical_swing (
PyTado.types.VerticalSwing | None): None - horizontal_swing (
PyTado.types.HorizontalSwing | None): None
update(self)
Force update of the zone's cached state.
This method clears the cached state and room data, forcing a fresh fetch on the next access. This is useful when the zone's state might have changed externally.
Parameters:
- self (Unknown): Required
TadoZone
Tado Zone data structure for my.tado.com.
Attributes:
- devices (
property):<property object at 0x7fcdac0eda80> - current_temp (
property):<property object at 0x7fcdac0ede90> - current_temp_timestamp (
property):<property object at 0x7fcdac0edee0> - current_humidity (
property):<property object at 0x7fcdac0edf80> - current_humidity_timestamp (
property):<property object at 0x7fcdac0ee020> - target_temp (
property):<property object at 0x7fcdac0ee070> - open_window (
property):<property object at 0x7fcdac0ee110> - open_window_expiry_seconds (
property):<property object at 0x7fcdac0ee480> - current_hvac_mode (
property):<property object at 0x7fcdac0ee200> - current_hvac_action (
property):<property object at 0x7fcdac0ee250> - heating_power_percentage (
property):<property object at 0x7fcdac0ee2f0> - tado_mode (
property):<property object at 0x7fcdac0ee2a0> - tado_mode_setting (
property):<property object at 0x7fcdac0ef4c0> - overlay_termination_type (
property):<property object at 0x7fcdac0ee340> - overlay_termination_expiry_seconds (
property):<property object at 0x7fcdac0ef880> - overlay_termination_timestamp (
property):<property object at 0x7fcdac0ef8d0> - default_overlay_termination_type (
property):<property object at 0x7fcdac0ef9c0> - default_overlay_termination_duration (
property):<property object at 0x7fcdac0efa10> - boost (
property):<property object at 0x7fcdac0efa60> - available (
property):<property object at 0x7fcdac0efab0> - next_time_block_start (
property):<property object at 0x7fcdac0efb00> - name (
property):<property object at 0x7fcdac0efb50> - preparation (
property):<property object at 0x7fcdac0efba0> - overlay_active (
property):<property object at 0x7fcdac0efbf0> - ac_power (
property):<property object at 0x7fcdac0efc40> - ac_power_timestamp (
property):<property object at 0x7fcdac0efc90> - current_fan_level (
property):<property object at 0x7fcdac0efce0> - current_horizontal_swing_mode (
property):<property object at 0x7fcdac0efd30> - current_vertical_swing_mode (
property):<property object at 0x7fcdac0efd80> - zone_type (
property):<property object at 0x7fcdac0efdd0>
get_capabilities(self)
Gets capabilities of the zone/room.
Parameters:
- self (Unknown): Required
get_climate(self)
Gets temp (centigrade) and humidity (% RH) for zone/room.
Parameters:
- self (Unknown): Required
get_historic(self, day_report_date: <class 'datetime.date'>)
Gets historic information on given date for zone/room
Parameters:
- self (Unknown): Required
- day_report_date (
<class 'datetime.date'>): Required
get_schedule(self, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Get the JSON representation of the schedule for a zone. Zone has 3 different schedules, one for each timetable (see setTimetable)
Parameters:
- self (Unknown): Required
- timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
get_timetable(self)
Get the Timetable type currently active
Parameters:
- self (Unknown): Required
get_zone_control(self)
Get zone control information
Parameters:
- self (Unknown): Required
reset_open_window(self)
Sets the window in zone to closed
Parameters:
- self (Unknown): Required
reset_zone_overlay(self)
Delete current overlay (Resume Schedule)
Parameters:
- self (Unknown): Required
set_open_window(self)
Sets the window in zone to open Note: This can only be set if an open window was detected in this zone
Parameters:
- self (Unknown): Required
set_schedule(self, data: list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule, timetable: PyTado.types.Timetable | None, day: PyTado.types.DayType | None)
Set the schedule for a zone, day is required
Parameters:
- self (Unknown): Required
- data (
list[PyTado.models.common.schedule.ScheduleElement[TempValue]] | PyTado.models.line_x.schedule.SetSchedule): Required - timetable (
PyTado.types.Timetable | None): None - day (
PyTado.types.DayType | None): None
set_zone_heating_circuit(self, heating_circuit: <class 'int'>)
Sets the heating circuit for a zone
Parameters:
- self (Unknown): Required
- heating_circuit (
<class 'int'>): Required
set_zone_overlay(self, overlay_mode: <enum 'OverlayMode'>, set_temp: float | None, duration: datetime.timedelta | None, power: <enum 'Power'>, is_boost: bool | None, device_type: PyTado.types.ZoneType | None, mode: PyTado.types.HvacMode | None, fan_speed: PyTado.types.FanSpeed | None, swing: typing.Any, fan_level: PyTado.types.FanLevel | None, vertical_swing: PyTado.types.VerticalSwing | None, horizontal_swing: PyTado.types.HorizontalSwing | None)
Set zone overlay (manual control).
Tado X API args: - overlay_mode: OverlayMode - set_temp: float | None = None - duration: timedelta | None = None - power: Power = Power.ON - is_boost: bool = False
Tado V3/V2 API args: - overlay_mode: OverlayMode - set_temp: float | None = None - duration: timedelta | None = None - power: Power = Power.ON - device_type: ZoneType = ZoneType.HEATING - mode: HvacMode | None = None - fan_speed: FanSpeed | None = None - swing: Any = None - fan_level: FanLevel | None = None - vertical_swing: VerticalSwing | None = None - horizontal_swing: HorizontalSwing | None = None
Parameters:
- self (Unknown): Required
- overlay_mode (
<enum 'OverlayMode'>): Required - set_temp (
float | None): None - duration (
datetime.timedelta | None): None - power (
<enum 'Power'>): ON - is_boost (
bool | None): None - device_type (
PyTado.types.ZoneType | None): None - mode (
PyTado.types.HvacMode | None): None - fan_speed (
PyTado.types.FanSpeed | None): None - swing (
typing.Any): None - fan_level (
PyTado.types.FanLevel | None): None - vertical_swing (
PyTado.types.VerticalSwing | None): None - horizontal_swing (
PyTado.types.HorizontalSwing | None): None
update(self)
Force update of the zone's cached state.
This method clears the cached state and room data, forcing a fresh fetch on the next access. This is useful when the zone's state might have changed externally.
Parameters:
- self (Unknown): Required