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. |
get_consumption_overview(monthYear, country, ngsw_bypass=True)
¶
Get energy consumption overview of your home by month and year
Returns:
Name | Type | Description |
---|---|---|
consumptionInputState |
Consumption input state |
|
currency |
Currency |
|
customTariff |
Custom tariff |
|
energySavingsReport |
Energy savings report |
|
monthlyAggregation |
Monthly aggregation |
|
tariffInfo |
Tariffication information |
|
unit |
Measurement unit |
Example:
{
"currency": "EUR",
"tariff": "0.104 €/kWh",
"tariffInfo": {
"currencySign": "€",
"consumptionUnit": "kWh",
"tariffInCents": 10.36,
"customTariff": false
},
"customTariff": false,
"consumptionInputState": "full",
"unit": "m3",
"energySavingsReport": {
"totalSavingsInPercent": 4.7,
"yearMonth": "2023-09"
},
"monthlyAggregation": {
"endOfMonthForecast": {
"startDate": "2023-10-13",
"endDate": "2023-10-31",
"totalConsumption": 3.82,
"totalCostInCents": 417.52,
"consumptionPerDate": [
{
"date": "2023-10-14",
"consumption": 0.2122222222222222,
"costInCents": 23.2
},
[...] // 17 more days
{
"date": "2023-10-31",
"consumption": 0.2122222222222222,
"costInCents": 23.2
}
]
},
"requestedMonth": {
"startDate": "2023-10-01",
"endDate": "2023-10-13",
"totalConsumption": 1.5,
"totalCostInCents": 163.95,
"consumptionPerDate": [
{
"date": "2023-10-01",
"consumption": 0,
"costInCents": 0
},
[...] // 12 more days
{
"date": "2023-10-13",
"consumption": 0,
"costInCents": 0
}
]
},
"monthBefore": {
"startDate": "2023-09-01",
"endDate": "2023-09-30",
"totalConsumption": 1.2799999999999998,
"totalCostInCents": 139.9,
"consumptionPerDate": [
{
"date": "2023-09-01",
"consumption": 0,
"costInCents": 0
},
[...] // 29 more days
{
"date": "2023-09-30",
"consumption": 0.36,
"costInCents": 39.35
}
]
},
"yearBefore": {
"startDate": "2022-10-01",
"endDate": "2022-10-31",
"totalConsumption": 22.569999999999997,
"totalCostInCents": 2466.86,
"consumptionPerDate": [
{
"date": "2022-10-01",
"consumption": 0.67,
"costInCents": 73.23
},
[...] // 30 more days
{
"date": "2022-10-31",
"consumption": 0.65,
"costInCents": 71.04
}
]
}
}
}
get_default_overlay(zone)
¶
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_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_insights(start_date, end_date, country, ngsw_bypass=True)
¶
Get energy insights of your home
Returns:
Type | Description |
---|---|
Energy insights. |
Example:
{
"consumptionComparison": {
"currentMonth": {
"consumed": {
"energy": [
{
"toEndOfRange": 1.5,
"unit": "m3",
"perZone": [
{
"zone": 1,
"toEndOfRange": 0.6025913295286759
}
]
},
{
"toEndOfRange": 15.83,
"unit": "kWh",
"perZone": [
{
"zone": 1,
"toEndOfRange": 6.36
}
]
}
]
},
"dateRange": {
"start": "2023-10-01",
"end": "2023-10-13"
}
},
"comparedTo": {
"consumed": {
"energy": [
{
"toEndOfRange": 16.9,
"unit": "m3",
"perZone": [
{
"zone": 1,
"toEndOfRange": 6.098444101091741
}
]
},
{
"toEndOfRange": 178.3,
"unit": "kWh",
"perZone": [
{
"zone": 1,
"toEndOfRange": 64.34
}
]
}
]
},
"dateRange": {
"start": "2022-10-01",
"end": "2022-10-13"
}
}
},
"costForecast": {
"costEndOfMonthInCents": 417.5
},
"weatherComparison": {
"currentMonth": {
"averageTemperature": 17.2,
"dateRange": {
"start": "2023-10-01",
"end": "2023-10-13"
}
},
"comparedTo": {
"averageTemperature": 12.7,
"dateRange": {
"start": "2022-10-01",
"end": "2022-10-13"
}
}
},
"heatingTimeComparison": {
"currentMonth": {
"heatingTimeHours": 13,
"dateRange": {
"start": "2023-10-01",
"end": "2023-10-14"
}
},
"comparedTo": {
"heatingTimeHours": 155,
"dateRange": {
"start": "2022-10-01",
"end": "2022-10-14"
}
}
},
"awayTimeComparison": {
"currentMonth": {
"awayTimeInHours": 39,
"dateRange": {
"start": "2023-10-01",
"end": "2023-10-13"
}
},
"comparedTo": {
"awayTimeInHours": 74,
"dateRange": {
"start": "2022-10-01",
"end": "2022-10-13"
}
}
},
"heatingHotwaterComparison": null
}
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":123456,
"hideCommunityNews":false
}
get_enery_settings(ngsw_bypass=True)
¶
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_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. |
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.
get_schedule_block_by_day_type(zone, schedule, day_type)
¶
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 |
day_type |
str
|
The day_type to fetch. e.g. MONDAY_TO_FRIDAY, "MONDAY", "TUESDAY" etc |
required |
Returns:
Type | Description |
---|---|
list
|
The blocks for the requested day type schedule. |
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. |
Example
[
{
"dayType": "MONDAY_TO_FRIDAY",
"start": "00:00",
"end": "06:30",
"geolocationOverride": false,
"setting": {
"type": "HEATING",
"power": "ON",
"temperature": {
"celsius": 21.2,
"fahrenheit": 70.16
}
}
},
{
"dayType": "MONDAY_TO_FRIDAY",
"start": "06:30",
"end": "00:00",
"geolocationOverride": false,
"setting": {
"type": "HEATING",
"power": "ON",
"temperature": {
"celsius": 21.0,
"fahrenheit": 69.8
}
}
},
{
"dayType": "SATURDAY",
"start": "00:00",
"end": "08:00",
"geolocationOverride": false,
"setting": {
"type": "HEATING",
"power": "ON",
"temperature": {
"celsius": 21.0,
"fahrenheit": 69.8
}
}
},
[...]
{
"dayType": "SUNDAY",
"start": "08:00",
"end": "00:00",
"geolocationOverride": false,
"setting": {
"type": "HEATING",
"power": "ON",
"temperature": {
"celsius": 21.0,
"fahrenheit": 69.8
}
}
}
]
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)
¶
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_away_configuration(zone, equipment_type, preheating_level, minimumAwayTemperatureCelcius)
¶
Set the away configuration for a zone
Parameters:
Name | Type | Description | Default |
---|---|---|---|
zone |
int
|
The zone ID. |
required |
equipment_type |
str
|
The change type. e.g. HEATING, HOT_WATER |
required |
preheating_level |
str
|
The preheating level. e.g. OFF, ECO, MEDIUM, CONFORT |
required |
minimumAwayTemperatureCelcius |
float
|
The minimum temperature in celsius. |
required |
set_cost_simulation(country, ngsw_bypass=True, payload=None)
¶
Trigger Cost Simulation of your home
Returns:
Name | Type | Description |
---|---|---|
consumptionUnit |
Consumption unit |
|
estimationPerZone |
List of cost estimation per zone |
Example:
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. |
set_heating_system_boiler(payload)
¶
Set heating system boiler status
Parameters:
Name | Type | Description | Default |
---|---|---|---|
found |
bool | None
|
Does the system knows your boiler. (default null) |
required |
present |
(bool): Is your own boiler present. (default true) |
required |
Returns:
Type | Description |
---|---|
Heating system boiler status. |
Example
No returned value.
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_block_by_day_type(zone, schedule, day_type, blocks)
¶
Sets the block for the current schedule on a zone
Parameters:
Name | Type | Description | Default |
---|---|---|---|
zone |
int
|
The zone ID. |
required |
schedule |
int
|
The schedule ID. |
required |
day_type |
str
|
The day_type to fetch. e.g. MONDAY_TO_FRIDAY, "MONDAY", "TUESDAY" etc |
required |
blocks |
list
|
The new blocks. |
required |
Returns:
Type | Description |
---|---|
list
|
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.
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. |