Models Reference
All models are dataclasses with JSON serialization support via mashumaro.
tadoasync.models
Models for the Tado API.
GetMe Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strHome Objects
@dataclass
class Home(DataClassORJSONMixin)Home model represents the user's home information.
id: int
name: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strDeviceMetadata Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strMobileDevice Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strMobileLocation Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strMobileBearingFromHome Objects
@dataclass
class MobileBearingFromHome(DataClassORJSONMixin)MobileBearingFromHome model represents the bearing from home.
degrees: float
radians: float
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strMobileSettings Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strConnectionState Objects
@dataclass
class ConnectionState(DataClassORJSONMixin)ConnectionState model represents the connection state of a device.
value: bool
timestamp: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strCharacteristics Objects
@dataclass
class Characteristics(DataClassORJSONMixin)Characteristics model represents the capabilities of a device.
capabilities: list[str]
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strMountingState Objects
@dataclass
class MountingState(DataClassORJSONMixin)MountingState model represents the mounting state of a device.
value: str
timestamp: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strDevice Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strDazzleMode Objects
@dataclass
class DazzleMode(DataClassORJSONMixin)DazzleMode model represents the dazzle mode settings of a zone.
supported: bool
enabled: bool
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strOpenWindowDetection Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strZone Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strPrecision Objects
@dataclass
class Precision(DataClassORJSONMixin)Precision model represents the precision of a temperature.
celsius: float
fahrenheit: float
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strInsideTemperature Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strTemperature Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strSolarIntensity Objects
@dataclass
class SolarIntensity(DataClassORJSONMixin)SolarIntensity model represents the solar intensity.
percentage: float
timestamp: str
type: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strWeatherState Objects
@dataclass
class WeatherState(DataClassORJSONMixin)WeatherState model represents the weather state.
timestamp: str
type: str
value: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strWeather Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strHomeState Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strTemperatureRange Objects
@dataclass
class TemperatureRange(DataClassORJSONMixin)TemperatureRange model represents the range of a temperature.
min: float
max: float
step: float
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strTemperatures Objects
@dataclass
class Temperatures(DataClassORJSONMixin)Temperatures model represents the temperatures in Celsius and Fahrenheit.
celsius: TemperatureRange
fahrenheit: TemperatureRange
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strCapabilities Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strAutoAC Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strCoolAC Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strDryAC Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strFanAC Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strHeatAC Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strTemperatureOffset Objects
@dataclass
class TemperatureOffset(DataClassORJSONMixin)TemperatureOffset model represents the temperature offset.
celsius: float
fahrenheit: float
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strSetting Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strOverlay Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strTermination Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strNextScheduleChange Objects
@dataclass
class NextScheduleChange(DataClassORJSONMixin)NextScheduleChange model represents the next schedule change.
start: str
setting: Setting
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strLink Objects
@dataclass
class Link(DataClassORJSONMixin)Link model represents the link of a zone.
state: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strHeatingPower Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strAcPower Objects
@dataclass
class AcPower(DataClassORJSONMixin)AcPower model represents the AC power.
type: str
timestamp: str
value: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strHumidity Objects
@dataclass
class Humidity(DataClassORJSONMixin)Humidity model represents the humidity.
type: str
percentage: float
timestamp: str
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strSensorDataPoints Objects
@dataclass
class SensorDataPoints(DataClassORJSONMixin)SensorDataPoints model represents the sensor data points.
inside_temperature: InsideTemperature
humidity: Humidity
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strZoneState Objects
@dataclass
class ZoneState(DataClassORJSONMixin)ZoneState model represents the state of a zone.
setting: Setting
link: Link
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
def to_json(self: ~T, **kwargs: Any) -> strOpenWindow Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strTerminationCondition Objects
@dataclass
class TerminationCondition(DataClassORJSONMixin)TerminationCondition model represents the termination condition.
type: str | None
duration_in_seconds: int | None
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> strActivityDataPoints Objects
@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
def to_json(self: ~T, **kwargs: Any) -> strZoneStates Objects
@dataclass
class ZoneStates(DataClassORJSONMixin)ZoneStates model represents the states of the zones.
zone_states: dict[str, ZoneState]
Inherited from base class:
to_json
def to_json(self: ~T, **kwargs: Any) -> str