Skip to content

Models Reference

All models are dataclasses with JSON serialization support via mashumaro.

tadoasync.models

Models for the Tado API.

GetMe Objects

python
@dataclass
class GetMe(DataClassORJSONMixin)

GetMe model represents the user's profile information.

name: str

email: str

id: str

username: str

locale: str

homes: list[Home]

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Home Objects

python
@dataclass
class Home(DataClassORJSONMixin)

Home model represents the user's home information.

id: int

name: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

DeviceMetadata Objects

python
@dataclass
class DeviceMetadata(DataClassORJSONMixin)

DeviceMetadata model represents the metadata of a device.

platform: str

os_version: str

model: str

locale: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

MobileDevice Objects

python
@dataclass
class MobileDevice(DataClassORJSONMixin)

MobileDevice model represents the user's mobile device information.

name: str

id: int

device_meta_data: DeviceMetadata

settings: MobileSettings

location: MobileLocation | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

MobileLocation Objects

python
@dataclass
class MobileLocation(DataClassORJSONMixin)

MobileLocation model represents the user's mobile device location.

stale: bool

at_home: bool

bearing_from_home: MobileBearingFromHome

relative_distance_from_home_fence: float

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

MobileBearingFromHome Objects

python
@dataclass
class MobileBearingFromHome(DataClassORJSONMixin)

MobileBearingFromHome model represents the bearing from home.

degrees: float

radians: float

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

MobileSettings Objects

python
@dataclass
class MobileSettings(DataClassORJSONMixin)

MobileSettings model represents the user's mobile device settings.

geo_tracking_enabled: bool

special_offers_enabled: bool

on_demand_log_retrieval_enabled: bool

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

ConnectionState Objects

python
@dataclass
class ConnectionState(DataClassORJSONMixin)

ConnectionState model represents the connection state of a device.

value: bool

timestamp: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Characteristics Objects

python
@dataclass
class Characteristics(DataClassORJSONMixin)

Characteristics model represents the capabilities of a device.

capabilities: list[str]

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

MountingState Objects

python
@dataclass
class MountingState(DataClassORJSONMixin)

MountingState model represents the mounting state of a device.

value: str

timestamp: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Device Objects

python
@dataclass
class Device(DataClassORJSONMixin)

Device model represents a device in a zone.

device_type: str

serial_no: str

short_serial_no: str

current_fw_version: str

connection_state: ConnectionState

characteristics: Characteristics

in_pairing_mode: bool | None

mounting_state: MountingState | None

mounting_state_with_error: str | None

battery_state: str | None

orientation: str | None

child_lock_enabled: bool | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

DazzleMode Objects

python
@dataclass
class DazzleMode(DataClassORJSONMixin)

DazzleMode model represents the dazzle mode settings of a zone.

supported: bool

enabled: bool

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

OpenWindowDetection Objects

python
@dataclass
class OpenWindowDetection(DataClassORJSONMixin)

OpenWindowDetection model represents the open window detection settings.

supported: bool

enabled: bool

timeout_in_seconds: int

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Zone Objects

python
@dataclass
class Zone(DataClassORJSONMixin)

Zone model represents a zone in a home.

id: int

name: str

type: str

date_created: str

device_types: list[str]

devices: list[Device]

dazzle_mode: DazzleMode | None

open_window_detection: OpenWindowDetection | None

report_available: bool

show_schedule_setup: bool

supports_dazzle: bool

dazzle_enabled: bool

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Precision Objects

python
@dataclass
class Precision(DataClassORJSONMixin)

Precision model represents the precision of a temperature.

celsius: float

fahrenheit: float

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

InsideTemperature Objects

python
@dataclass
class InsideTemperature(DataClassORJSONMixin)

InsideTemperature model represents the temperature in Celsius and Fahrenheit.

celsius: float

fahrenheit: float

precision: Precision

type: str | None

timestamp: str | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Temperature Objects

python
@dataclass
class Temperature(DataClassORJSONMixin)

Temperature model represents the temperature in Celsius and Fahrenheit.

celsius: float

fahrenheit: float

type: str | None

timestamp: str | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

SolarIntensity Objects

python
@dataclass
class SolarIntensity(DataClassORJSONMixin)

SolarIntensity model represents the solar intensity.

percentage: float

timestamp: str

type: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

WeatherState Objects

python
@dataclass
class WeatherState(DataClassORJSONMixin)

WeatherState model represents the weather state.

timestamp: str

type: str

value: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Weather Objects

python
@dataclass
class Weather(DataClassORJSONMixin)

Weather model represents the weather information.

outside_temperature: Temperature

solar_intensity: SolarIntensity

weather_state: WeatherState

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

HomeState Objects

python
@dataclass
class HomeState(DataClassORJSONMixin)

HomeState model represents the state of a home.

presence: str

presence_locked: bool

show_home_presence_switch_button: bool | None

show_switch_to_auto_geofencing_button: bool | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

TemperatureRange Objects

python
@dataclass
class TemperatureRange(DataClassORJSONMixin)

TemperatureRange model represents the range of a temperature.

min: float

max: float

step: float

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Temperatures Objects

python
@dataclass
class Temperatures(DataClassORJSONMixin)

Temperatures model represents the temperatures in Celsius and Fahrenheit.

celsius: TemperatureRange

fahrenheit: TemperatureRange

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Capabilities Objects

python
@dataclass
class Capabilities(DataClassORJSONMixin)

Capabilities model represents the capabilities of a zone.

type: str

temperatures: Temperatures | None

can_set_temperature: bool | None

auto: AutoAC | None

cool: CoolAC | None

dry: DryAC | None

fan: FanAC | None

heat: HeatAC | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

AutoAC Objects

python
@dataclass
class AutoAC(DataClassORJSONMixin)

AutoAC model represents the auto AC capabilities of a zone.

fan_level: list[str] | None

fan_speeds: list[str] | None

vertical_swing: list[str] | None

horizontal_swing: list[str] | None

light: list[str] | None

temperatures: Temperatures | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

CoolAC Objects

python
@dataclass
class CoolAC(DataClassORJSONMixin)

CoolAC model represents the cool AC capabilities of a zone.

fan_level: list[str] | None

fan_speeds: list[str] | None

vertical_swing: list[str] | None

horizontal_swing: list[str] | None

light: list[str] | None

temperatures: Temperatures | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

DryAC Objects

python
@dataclass
class DryAC(DataClassORJSONMixin)

DryAC model represents the dry AC capabilities of a zone.

fan_level: list[str] | None

fan_speeds: list[str] | None

vertical_swing: list[str] | None

horizontal_swing: list[str] | None

light: list[str] | None

temperatures: Temperatures | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

FanAC Objects

python
@dataclass
class FanAC(DataClassORJSONMixin)

FanAC model represents the fan AC capabilities of a zone.

fan_level: list[str] | None

fan_speeds: list[str] | None

vertical_swing: list[str] | None

horizontal_swing: list[str] | None

light: list[str] | None

temperatures: Temperatures | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

HeatAC Objects

python
@dataclass
class HeatAC(DataClassORJSONMixin)

HeatAC model represents the heat AC capabilities of a zone.

fan_level: list[str] | None

fan_speeds: list[str] | None

vertical_swing: list[str] | None

horizontal_swing: list[str] | None

light: list[str] | None

temperatures: Temperatures | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

TemperatureOffset Objects

python
@dataclass
class TemperatureOffset(DataClassORJSONMixin)

TemperatureOffset model represents the temperature offset.

celsius: float

fahrenheit: float

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Setting Objects

python
@dataclass
class Setting(DataClassORJSONMixin)

TemperatureSetting model represents the temperature setting.

type: str

power: str

mode: str | None

temperature: Temperature | None

fan_speed: str | None

fan_level: str | None

swing: str | None

vertical_swing: str | None

horizontal_swing: str | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Overlay Objects

python
@dataclass
class Overlay(DataClassORJSONMixin)

Overlay model represents the overlay settings of a zone.

type: str

setting: Setting

termination: Termination | None

projected_expiry: str | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Termination Objects

python
@dataclass
class Termination(DataClassORJSONMixin)

Termination model represents the termination settings of a zone.

type: str

type_skill_based_app: str | None

projected_expiry: str | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

NextScheduleChange Objects

python
@dataclass
class NextScheduleChange(DataClassORJSONMixin)

NextScheduleChange model represents the next schedule change.

start: str

setting: Setting

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str
python
@dataclass
class Link(DataClassORJSONMixin)

Link model represents the link of a zone.

state: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

HeatingPower Objects

python
@dataclass
class HeatingPower(DataClassORJSONMixin)

HeatingPower model represents the heating power.

type: str

percentage: float

timestamp: str

value: str | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

AcPower Objects

python
@dataclass
class AcPower(DataClassORJSONMixin)

AcPower model represents the AC power.

type: str

timestamp: str

value: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

Humidity Objects

python
@dataclass
class Humidity(DataClassORJSONMixin)

Humidity model represents the humidity.

type: str

percentage: float

timestamp: str

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

SensorDataPoints Objects

python
@dataclass
class SensorDataPoints(DataClassORJSONMixin)

SensorDataPoints model represents the sensor data points.

inside_temperature: InsideTemperature

humidity: Humidity

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

ZoneState Objects

python
@dataclass
class ZoneState(DataClassORJSONMixin)

ZoneState model represents the state of a zone.

setting: Setting

activity_data_points: ActivityDataPoints

tado_mode: str

geolocation_override: bool

overlay_type: str | None

next_time_block: dict[str, str]

sensor_data_points: SensorDataPoints | None

overlay: Overlay | None

geolocation_override_disable_time: str | None

open_window: OpenWindow | None

next_schedule_change: NextScheduleChange | None

termination_condition: TerminationCondition | None

current_temp: float | None

current_temp_timestamp: str | None

current_humidity: float | None

current_humidity_timestamp: str | None

target_temp: float | None

precision: float | None

current_hvac_action: str | None

current_hvac_mode: str | None

current_fan_speed: str | None

current_fan_level: str | None

current_swing_mode: str | None

current_vertical_swing_mode: str | None

current_horizontal_swing_mode: str | None

connection: str | None

available: bool

power: str | None

ac_power: str | None

heating_power: str | None

ac_power_timestamp: str | None

heating_power_timestamp: str | None

heating_power_percentage: float | None

overlay_active: bool | None

overlay_termination_type: str | None

overlay_termination_timestamp: str | None

default_overlay_termination_type: str | None

default_overlay_termination_duration: int | None

preparation: bool | None

open_window_detected: bool | None

open_window_attr: OpenWindow | None

is_away: bool

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

OpenWindow Objects

python
@dataclass
class OpenWindow(DataClassORJSONMixin)

OpenWindow model represents the open window settings of a zone.

detected_time: str

duration_in_seconds: int

expiry: str

remaining_time_in_seconds: int

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

TerminationCondition Objects

python
@dataclass
class TerminationCondition(DataClassORJSONMixin)

TerminationCondition model represents the termination condition.

type: str | None

duration_in_seconds: int | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

ActivityDataPoints Objects

python
@dataclass
class ActivityDataPoints(DataClassORJSONMixin)

ActivityDataPoints model represents the activity data points.

ac_power: AcPower | None

heating_power: HeatingPower | None

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str

ZoneStates Objects

python
@dataclass
class ZoneStates(DataClassORJSONMixin)

ZoneStates model represents the states of the zones.

zone_states: dict[str, ZoneState]

Inherited from base class:

to_json

python
def to_json(self: ~T, **kwargs: Any) -> str