Adds an energy IQ meter reading for a given home.
The ID of the home.
The date of the meter reading in ISO format.
The meter reading value.
A promise that resolves to the response of the API call.
Adds a new energy IQ tariff for a specified home.
The identifier of the home.
The unit of energy measurement.
The start date of the tariff in ISO format.
The end date of the tariff in ISO format.
The tariff amount in cents.
A promise that resolves to the API response.
TadoError if the unit is not valid.
Makes an API call to the provided URL with the specified method and data.
The endpoint to which the request is sent. If the URL contains "https", it will be used as is.
The HTTP method to use for the request (e.g., "get", "post").
Optional
data: TThe payload to send with the request, if applicable.
A promise that resolves to the response data.
Authenticate with the Oauth server. A refresh token may be supplied to bypass the device auth flow if it is still valid, otherwise the device flow is initiaited.
Optional
refreshToken: stringAttempt to use this refresh token to re-authenticate
Optional
timeout: numberIgnore the Tado provided timeout for device auth and use this value
A promise that resolves to either a DeviceVerification
object for device auth flows
and a promise of a token, or an undefined auth flow and a promise of a token, if the refresh token
was supplied
Clears the overlay for a specific zone in a home.
The unique identifier of the home.
The unique identifier of the zone within the home.
A promise that resolves when the operation is complete.
Use clearZoneOverlays instead.
Clears overlays for specified zones in a home.
The ID of the home.
An array of IDs of the zones to clear overlays for.
A promise that resolves when the overlays are cleared.
Creates an invitation for a specified home.
The unique identifier of the home to which the invitation will be sent.
The email address of the invitee.
A promise that resolves to an Invitation object.
Creates a push notification registration for a given home and mobile device.
Note: Do not use this unless you know what you are doing, you might want to consider registering a dummy device.
The identifier for the home.
The identifier for the mobile device.
The push notification token for the device.
A promise that resolves to the push notification registration (AWS SNS Endpoint ARN).
Deletes a specific energy meter reading for a given home.
The unique identifier of the home.
The unique identifier of the meter reading to be deleted.
A promise that resolves when the meter reading has been successfully deleted.
Deletes an invitation associated with a home.
The unique identifier of the home.
The token associated with the invitation.
A promise that resolves when the invitation is successfully deleted.
Retrieves the air comfort details for a given home.
The ID of the home for which to get the air comfort details.
A promise that resolves to an AirComfort object containing the air comfort details.
Fetches detailed air comfort information for a specific home.
The unique identifier of the home.
A promise that resolves to detailed air comfort data.
Retrieves the away configuration for a specific home and zone.
The unique identifier of the home.
The unique identifier of the zone within the home.
A promise that resolves to the away configuration object.
Retrieves information about the specified boiler system. This includes model name, image used by the app, and manufacturer names.
The unique identifier of the boiler system as retrieved in getHomeHeatingSystem.
A promise that resolves to an object containing the boiler system information.
Retrieves a list of devices associated with the given home ID.
The unique identifier of the home.
A promise that resolves to an array of Device objects.
Fetches the temperature offset of a device using its serial number.
The serial number of the device.
A promise that resolves to the temperature offset of the device.
Retrieves energy consumption details for a specified home, month, and year.
The unique identifier of the home.
The specific month for which the consumption details are requested.
The specific year for which the consumption details are requested.
A promise resolving to the energy consumption details for the specified time period.
Fetches the Energy IQ meter readings for a specified home.
The unique identifier of the home for which the meter readings are to be retrieved.
A promise that resolves to the Energy IQ meter readings for the specified home.
Fetches the energy consumption overview for a specified home, month, and year.
The unique identifier of the home.
The month for which the energy overview is needed.
The year for which the energy overview is needed.
A promise that resolves to an EnergyIQOverview object containing the energy consumption details.
Fetches the EnergyIQ tariff for a given home.
The unique identifier of the home.
A promise that resolves to the EnergyIQTariffs object.
Fetches the energy savings report for a specific home and time period.
The unique identifier of the home.
The year for the report.
The month for the report.
The country code of the home.
A promise that resolves to the energy savings report.
Retrieves the heating circuits associated with a given home based on the home ID.
The ID of the home for which to retrieve heating circuits.
A promise that resolves to a HeatingCircuit object.
Fetches and returns the home details for the specified home ID.
The ID of the home to be retrieved.
A promise that resolves to the details of the home.
Retrieves the heating system information for a specific home.
The unique identifier of the home.
A promise that resolves to the heating system information of the specified home.
Fetches incident detection details for the specified home.
The unique identifier of the home.
A promise that resolves to the incident detection details of the home.
Fetches the list of installations for a given home.
The ID of the home for which to fetch installations.
A promise that resolves to an array of installations.
Retrieves an invitation based on the provided home ID and token.
The ID of the home for which the invitation is to be retrieved.
The unique token (invitation id) associated with the invitation.
A promise that resolves to the invitation details.
Fetches the list of invitations for a specified home.
The ID of the home for which to retrieve invitations.
A promise that resolves to an array of Invitation objects.
Fetches a mobile device associated with the given home ID and mobile device ID.
The ID of the home.
The ID of the mobile device.
A promise that resolves to the mobile device data.
Fetches the geo-location configuration for a specific mobile device in a home.
The unique identifier of the home.
The unique identifier of the mobile device.
A promise that resolves to the mobile device's geo-location configuration.
Retrieves a list of mobile devices associated with a given home ID.
The unique identifier of the home.
A promise that resolves to an array of MobileDevice objects.
Fetches the settings for a specific mobile device within a given home.
The unique identifier of the home.
The unique identifier of the mobile device.
A promise that resolves to the mobile device's settings.
Retrieves the running times for a specific home within a given date range.
The unique identifier for the home.
The start date of the range in ISO 8601 format.
The end date of the range in ISO 8601 format.
The method of aggregation for the running times.
Indicates that only a summary of the running times is to be returned.
A promise that resolves to a summary of the running times.
Retrieves the running times of a specific home within a specified date range.
The unique identifier of the home.
The start date of the range in ISO 8601 format.
The end date of the range in ISO 8601 format.
The type of aggregation to apply to the running times.
If false, detailed running times are included; otherwise, only the summary is provided.
A promise that resolves to the running times data for the specified home and date range.
Fetches the state of a home based on the provided home ID.
The unique identifier of the home for which the state is to be retrieved.
A promise that resolves to the state of the specified home.
Retrieves a timetable for the specified home, zone, and timetable IDs.
The unique identifier for the home.
The unique identifier for the zone.
The unique identifier for the timetable.
A promise that resolves to the requested TimeTable object.
Fetches the active timetable for a specific zone in a home.
The unique identifier of the home.
The unique identifier of the zone within the home.
A promise that resolves to the active timetable.
Fetches the list of users associated with a given home.
The ID of the home for which to fetch users.
A promise that resolves to an array of User objects.
Fetches the weather information for a specified home.
The unique identifier of the home for which to retrieve the weather data.
A promise that resolves to a Weather object containing the weather information for the specified home.
Retrieves the capabilities of a specific zone within a home.
The ID of the home containing the zone.
The ID of the zone whose capabilities are to be retrieved.
A promise that resolves to the capabilities of the specified zone.
Fetches the control settings for a specific zone within a home.
The unique identifier of the home.
The unique identifier of the zone within the home.
A promise that resolves to the ZoneControl object containing the zone's control settings.
Retrieves the daily report for a specified zone in a given home on a specific date.
The unique identifier of the home.
The unique identifier of the zone within the home.
The date for which the report is requested, in the format 'YYYY-MM-DD'.
A promise that resolves to the ZoneDayReport object containing the daily report data.
Fetches the default overlay for a specified zone in a specified home.
The identifier of the home.
The identifier of the zone within the home.
A promise that resolves to the default overlay of the specified zone.
Retrieves the overlay information for a specific zone within a home.
The unique identifier of the home.
The unique identifier of the zone.
A promise that resolves to the zone's overlay information, or an empty object if the zone is not found.
Fetches the zones for a given home.
The ID of the home for which to fetch the zones.
A promise that resolves to an array of Zone objects.
Fetches the state of a specified zone in a home.
The ID of the home.
The ID of the zone within the home.
A promise that resolves to the state of the specified zone.
Retrieves the states of zones for a specified home.
The ID of the home for which to retrieve zone states.
A promise that resolves to the states of the zones.
Identifies a device using its serial number.
The serial number of the device.
A promise that resolves when the device has been successfully identified.
Checks if anyone is at home based on the geo-tracking data of mobile devices.
The unique identifier of the home.
A promise that resolves to a boolean indicating if any tracked device is at home.
Checks if the early start feature is enabled for a given home.
The unique identifier of the home.
A promise that resolves to a boolean indicating whether the early start feature is enabled.
Checks if the early start feature is enabled for a given zone.
The unique identifier of the home.
The ID of the zone whose early start feature status is to be checked.
A promise that resolves to a boolean indicating whether the early start feature is enabled.
Resends an invitation to a specific home.
The ID of the home for which the invitation is to be resent.
The token representing the invitation to be resent.
A promise that resolves once the invitation has been resent.
Sets the active timetable for a specific zone in a given home.
The unique identifier of the home.
The unique identifier of the zone within the home.
The timetable object to be set as active.
A promise that resolves to the updated timetable object.
Sets the away configuration for a specified zone in the home.
The unique identifier of the home.
The unique identifier of the zone within the home.
The configuration settings for away mode.
A promise that resolves when the configuration has been successfully set.
Sets the away radius for a specific home.
The ID of the home.
The away radius in meters.
A promise that resolves when the away radius is successfully set.
Sets the child lock feature for a specified device.
The serial number of the device.
Boolean value to enable or disable the child lock.
A promise that resolves when the child lock has been set.
Sets the temperature offset for a specified device.
The serial number of the device.
The temperature offset to be set, in degrees Celsius.
A promise that resolves to the updated temperature object.
Sets the early start feature for a specified home.
The unique identifier of the home.
A boolean indicating whether the early start feature should be enabled or disabled.
A promise that resolves when the early start setting has been successfully updated.
Sets the geo-tracking settings for a specified mobile device in a given home.
The ID of the home.
The ID of the mobile device.
A flag indicating whether geo-tracking should be enabled.
A promise that resolves to the updated mobile device settings.
Enables or disables incident detection for a specified home.
The unique identifier of the home.
Indicates whether incident detection should be enabled (true) or disabled (false).
A promise that resolves when the operation is complete.
Sets the open window mode for a specified home and zone.
Identifier for the home.
Identifier for the zone within the home.
If true, activates the open window mode; if false, deactivates it.
A promise that resolves when the operation is complete.
Updates the presence status for a specified home.
The unique identifier for the home.
The new presence state which must be "HOME", "AWAY", or "AUTO".
Resolves when the presence status has been successfully updated.
TadoError if the supplied presence state is not "HOME", "AWAY", or "AUTO".
Sets the time table for a specified zone in a home.
The ID of the home.
The ID of the zone within the home.
The ID of the timetable to be set.
The timetable data to be set.
The type of day for the timetable.
A promise that resolves to the updated timetables.
Set the callback function that is called when the Oauth token changes.
Optional
cb: (token: Token) => voidThe callback function
Configures the window detection feature for a specified zone within a home.
The unique identifier of the home.
The unique identifier of the zone within the home.
A flag indicating whether the window detection should be enabled or not.
The time period in seconds before the window detection should timeout.
A promise that resolves when the window detection setting has been updated.
Enables or disables window detection for a specified home and zone.
The unique identifier for the home.
The unique identifier for the zone within the home.
A flag indicating whether window detection should be enabled (true) or disabled (false).
A promise that resolves when the operation is complete.
Sets the default overlay for a specified zone within a home.
The unique identifier of the home.
The unique identifier of the zone within the home.
An object representing the default overlay settings to be applied.
A promise that resolves to the updated default overlay settings.
Sets the early start feature for a specified zone.
The unique identifier of the home.
The ID of the zone whose early start feature status is to be set.
A boolean indicating whether the early start feature should be enabled or disabled.
A promise that resolves when the early start setting has been successfully updated.
Sets the overlay configuration for a specific zone in a home.
The identifier of the home.
The identifier of the zone within the home.
The power state, either 'ON' or 'OFF'.
Optional
temperature: numberThe desired temperature for the overlay, in celsius.
Optional
termination: number | TerminationThe termination condition for the overlay. Options include 'MANUAL', 'AUTO', 'NEXT_TIME_BLOCK', or a number representing duration in seconds.
Optional
fan_speed: The desired fan speed or level.
Optional
ac_mode: ACModeThe air conditioning mode (e.g., 'COOL', 'HEAT').
Optional
verticalSwing: VerticalSwingThe vertical swing setting for air conditioning.
Optional
horizontalSwing: HorizontalSwingThe horizontal swing setting for air conditioning.
A promise that resolves to the created zone overlay.
Use setZoneOverlays instead.
Applies multiple zone overlays to a home's zones with specified termination settings.
The unique identifier for the home.
An array of configurations for each zone overlay.
Optional termination configuration which can be a string or a number, determining how the overlay should end.
A promise that resolves when the operation is complete.
Each overlay item of the type SetZoneOverlaysArg.
const zoneOverlay = {
zone_id: 123, # Required
power: "ON", # HEATING and AC
temperature: { # HEATING and AC
celsius: 24,
fahrenheit: 75.2
},
mode: "HEAT", # AC only
fanLevel: "LEVEL1", # AC only
verticalSwing: "OFF", # AC only
horizontalSwing: "OFF", # AC only
light: "OFF", # AC only
}
tado.setZoneOverlays(1907, [ overlay ], 1800);
It is not required to use upper case in the values, the library will convert the strings for you. It is also not required to supply both celsius and fahrenheit, the Tado API is able to convert for you.
The termination
argument should be one of the following:
See also Termination.
Updates the Energy IQ tariff for a specified home.
The unique identifier for the home.
The unique identifier for the tariff.
The unit of the tariff, either "m3" or "kWh."
The start date of the tariff in the format 'YYYY-MM-DD.'
The end date of the tariff in the format 'YYYY-MM-DD.'
The tariff rate in cents.
A promise that resolves to the response of the API call.
TadoError if the unit is not "m3" or "kWh."
Updates the presence state of the specified home.
This method checks if anyone is currently at home and compares it with the current presence state. If there is a discrepancy, it updates the presence state accordingly. If the presence state is already accurate, it returns a message indicating no change was needed.
The unique identifier of the home whose presence state is to be updated.
A promise that resolves when the operation is complete, or returns a message if the presence state was already accurate.
Tado class provides functions to interact with the Tado API, including user authentication and various home and device management operations.
Example: Fetch user information (javascript)