Releases: kritsel/tado-openapispec-v2
Release version v2.2024.12.28.0
All changes are relative to the previously released version.
Operation tagging (a.k.a. grouping) changes
These changes can have impact on API client code which is generated from the API definition.
POST /homes/{homeId}/overlay
: moved from home control to zone controlDELETE /homes/{homeId}/overlay
: moved from home control to zone control
Release version v2.2024.12.24.1
All changes are relative to the previously released version.
Schema model changes
Home
: added possible valueLINE_X
to the documentation ofHome.generation
Release version v2.2024.12.24.0
All changes are relative to the previously released version.
Schema model changes
Device
: added enum valueCALIBRATING
to bothDevice.mountingState.value
andDevice.mountingStateWithError
Release version v2.2024.12.21.0
All changes are relative to the previously released version.
Schema model changes
ZoneState
: added propertylink.reason
Release v2.2024.12.16.0
All changes are relative to the previous released version.
Schema model changes
WeatherState
: added additional enum values (credits to clambin)
Release v2.2024.12.9.0
All changes are relative to the previous released version.
Schema model changes
MobileDeviceSettings.pushNotifications
: new propertiestariffHighPriceAlert
andtariffLowPriceAlert
Release v2.2024.11.24.0
All changes are relative to the previous released version.
Note: status identifiers like 'new' and 'unchanged' does not apply to the API itself; it only applies to this specification of the API.
Schema model changes
WeatherState
: added enum valueSNOW
Paths covered
home
GET /homes
: unchangedGET /homes/{homeId}/airComfort
: unchangedPUT /homes/{homeId}/awayRadiusInMeters
: unchangedPUT /homes/{homeId}/details
: unchangedGET /homes/{homeId}/heatingSystem
: unchangedPUT /homes/{homeId}/heatingSystem/boiler
: unchangedPUT /homes/{homeId}/heatingSystem/underfloorHeating
: unchangedGET /homes/{homeId}/incidentDetection
: unchangedPUT /homes/{homeId}/incidentDetection
: unchangedGET /homes/{homeId}/weather
: unchanged
home control
POST /homes/{homeId}/overlay
: unchangedDELETE /homes/{homeId}/overlay
: unchangedPUT /homes/{homeId}/presenceLock
: unchangedDELETE /homes/{homeId}/presenceLock
: unchangedGET /homes/{homeId}/state
: unchanged
heating circuit (new section)
GET /homes/{homeId}/heatingCircuits
: unchangedPUT /homes/{homeId}/zones/{zoneId}/control/heatingCircuit
:unchanged
zone
GET /homes/{homeId}/zones
: unchangedPOST /homes/{homeId}/zones
: unchangedGET /homes/{homeId}/zones/{zoneId}/capabilities
: unchangedPUT /homes/{homeId}/zones/{zoneId}/dazzle
: unchangedPUT /homes/{homeId}/zones/{zoneId}/details
unchangedPUT /homes/{homeId}/zones/{zoneId}/openWindowDetection
unchangedGET /homes/{homeId}/zones/{zoneId}/state
: unchangedGET /homes/{homeId}/zoneStates
: unchanged
zone control
GET /homes/{homeId}/zones/{zoneId}/defaultOverlay
: unchangedPUT /homes/{homeId}/zones/{zoneId}/defaultOverlay
: unchangedGET /homes/{homeId}/zones/{zoneId}/earlyStart
: unchangedPUT /homes/{homeId}/zones/{zoneId}/earlyStart
: unchangedGET /homes/{homeId}/zones/{zoneId}/overlay
: unchangedPUT /homes/{homeId}/zones/{zoneId}/overlay
: unchangedDELETE /homes/{homeId}/zones/{zoneId}/overlay
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: unchanged
device
GET /devices/{deviceId}
: unchangedGET /devices/{deviceId}/temperatureOffset
: unchangedPUT /devices/{deviceId}/temperatureOffset
: unchangedGET /homes/{homeId}/devices
: unchangedPOST /homes/{homeId}/identify
: unchangedGET /homes/{homeId}/deviceList
: unchangedGET /homes/{homeId}/installations
: unchangedGET /homes/{homeId}/zones/{zoneId}/control
: unchangedPUT /homes/{homeId}/zones/{zoneId}/control/heatingCircuit
: unchangedPOST /homes/{homeId}/zones/{zoneId}/devices
: unchangedGET /homes/{homeId}/zones/{zoneId}/measuringDevice
: unchangedPUT /homes/{homeId}/zones/{zoneId}/measuringDevice
: unchanged
user
GET /me
: unchangedGET /users
: unchanged
mobile device
GET /homes/{homeId}/mobileDevices
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedDELETE /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: unchangedPUT /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: unchanged
report
GET /homes/{homeId}/zones/{zoneId}/dayReport
: unchanged
Release v2.2024.11.10.0
All changes are relative to the previous released version.
Note: status identifiers like 'new' and 'unchanged' does not apply to the API itself; it only applies to this specification of the API.
Acknowledgements
Many thanks to Christophe Lambin for contributing these API spec improvements.
Schema model changes - affecting the API contract
ErrorResponse
andErrorResponse422
: fixed error related to incorrect error array definitionpercentage
property ofPercentageDatapoint
changed from integer to float
Schema model changes - schema component design changes not affecting the API contract
location
property ofMobileDevice
modelled as a separate schema componentactivityDataPoints
andsensorDataPoints
properties ofZoneState
modelled as separate schema componentsopenWindow
property ofZoneState
modelled as a separate schema componenttermination
property ofZoneOverlay
modelled as a separate schema component
Paths covered
home
GET /homes
: unchangedGET /homes/{homeId}/airComfort
: unchangedPUT /homes/{homeId}/awayRadiusInMeters
: unchangedPUT /homes/{homeId}/details
: unchangedGET /homes/{homeId}/heatingSystem
: unchangedPUT /homes/{homeId}/heatingSystem/boiler
: unchangedPUT /homes/{homeId}/heatingSystem/underfloorHeating
: unchangedGET /homes/{homeId}/incidentDetection
: unchangedPUT /homes/{homeId}/incidentDetection
: unchangedGET /homes/{homeId}/weather
: unchanged
home control
POST /homes/{homeId}/overlay
: unchangedDELETE /homes/{homeId}/overlay
: unchangedPUT /homes/{homeId}/presenceLock
: unchangedDELETE /homes/{homeId}/presenceLock
: newGET /homes/{homeId}/state
: unchanged
heating circuit (new section)
GET /homes/{homeId}/heatingCircuits
: unchangedPUT /homes/{homeId}/zones/{zoneId}/control/heatingCircuit
:unchanged
zone
GET /homes/{homeId}/zones
: unchangedPOST /homes/{homeId}/zones
: unchangedGET /homes/{homeId}/zones/{zoneId}/capabilities
: unchangedPUT /homes/{homeId}/zones/{zoneId}/dazzle
: unchangedPUT /homes/{homeId}/zones/{zoneId}/details
unchangedPUT /homes/{homeId}/zones/{zoneId}/openWindowDetection
unchangedGET /homes/{homeId}/zones/{zoneId}/state
: unchangedGET /homes/{homeId}/zoneStates
: unchanged
zone control
GET /homes/{homeId}/zones/{zoneId}/defaultOverlay
: unchangedPUT /homes/{homeId}/zones/{zoneId}/defaultOverlay
: unchangedGET /homes/{homeId}/zones/{zoneId}/earlyStart
: unchangedPUT /homes/{homeId}/zones/{zoneId}/earlyStart
: unchangedGET /homes/{homeId}/zones/{zoneId}/overlay
: unchangedPUT /homes/{homeId}/zones/{zoneId}/overlay
: unchangedDELETE /homes/{homeId}/zones/{zoneId}/overlay
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: unchanged
device
GET /devices/{deviceId}
: unchangedGET /devices/{deviceId}/temperatureOffset
: unchangedPUT /devices/{deviceId}/temperatureOffset
: unchangedGET /homes/{homeId}/devices
: unchangedPOST /homes/{homeId}/identify
: unchangedGET /homes/{homeId}/deviceList
: unchangedGET /homes/{homeId}/installations
: unchangedGET /homes/{homeId}/zones/{zoneId}/control
: unchangedPUT /homes/{homeId}/zones/{zoneId}/control/heatingCircuit
: unchangedPOST /homes/{homeId}/zones/{zoneId}/devices
: unchangedGET /homes/{homeId}/zones/{zoneId}/measuringDevice
: unchangedPUT /homes/{homeId}/zones/{zoneId}/measuringDevice
: unchanged
user
GET /me
: unchangedGET /users
: unchanged
mobile device
GET /homes/{homeId}/mobileDevices
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedDELETE /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: unchangedPUT /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: unchanged
report
GET /homes/{homeId}/zones/{zoneId}/dayReport
: unchanged
Release v2.2024.09.20.0
All changes are relative to the previous released version.
Note: status identifiers like 'new' and 'unchanged' does not apply to the API itself; it only applies to this specification of the API.
General
Paths covered
home
GET /homes
: added new propertysupportsFlowTemperatureOptimization
GET /homes/{homeId}/airComfort
: unchangedPUT /homes/{homeId}/awayRadiusInMeters
: unchangedPUT /homes/{homeId}/details
: operationId changeGET /homes/{homeId}/heatingSystem
: unchangedPUT /homes/{homeId}/heatingSystem/boiler
: operationId changePUT /homes/{homeId}/heatingSystem/underfloorHeating
: operationId changeGET /homes/{homeId}/incidentDetection
: unchangedPUT /homes/{homeId}/incidentDetection
: operationId changeGET /homes/{homeId}/weather
: unchanged
home control
POST /homes/{homeId}/overlay
: operationId changeDELETE /homes/{homeId}/overlay
: operationId changePUT /homes/{homeId}/presenceLock
: operationId changeGET /homes/{homeId}/state
: unchanged
heating circuit (new section)
GET /homes/{homeId}/heatingCircuits
: moved from the 'home' sectionPUT /homes/{homeId}/zones/{zoneId}/control/heatingCircuit
: moved from the 'device' section
zone
GET /homes/{homeId}/zones
: unchangedPOST /homes/{homeId}/zones
: unchangedGET /homes/{homeId}/zones/{zoneId}/capabilities
: unchangedPUT /homes/{homeId}/zones/{zoneId}/dazzle
: unchangedPUT /homes/{homeId}/zones/{zoneId}/details
unchangedPUT /homes/{homeId}/zones/{zoneId}/openWindowDetection
unchangedGET /homes/{homeId}/zones/{zoneId}/state
: unchangedGET /homes/{homeId}/zoneStates
: unchanged
zone control
GET /homes/{homeId}/zones/{zoneId}/defaultOverlay
: operationId changePUT /homes/{homeId}/zones/{zoneId}/defaultOverlay
: operationId changeGET /homes/{homeId}/zones/{zoneId}/earlyStart
: unchangedPUT /homes/{homeId}/zones/{zoneId}/earlyStart
: operationId changeGET /homes/{homeId}/zones/{zoneId}/overlay
: operationId changePUT /homes/{homeId}/zones/{zoneId}/overlay
: operationId changeDELETE /homes/{homeId}/zones/{zoneId}/overlay
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: operationId changePUT /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: operationId changeGET /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: operationId changeGET /homes/{homeId}/zones/{zoneId}/schedule/timetables
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: operationId changePUT /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: operationId change
device
GET /devices/{deviceId}
: newGET /devices/{deviceId}/temperatureOffset
: unchangedPUT /devices/{deviceId}/temperatureOffset
: operationId changeGET /homes/{homeId}/devices
: unchangedPOST /homes/{homeId}/identify
: unchangedGET /homes/{homeId}/deviceList
: unchangedGET /homes/{homeId}/installations
: newGET /homes/{homeId}/zones/{zoneId}/control
: unchangedPUT /homes/{homeId}/zones/{zoneId}/control/heatingCircuit
: unchangedPOST /homes/{homeId}/zones/{zoneId}/devices
: unchangedGET /homes/{homeId}/zones/{zoneId}/measuringDevice
: unchangedPUT /homes/{homeId}/zones/{zoneId}/measuringDevice
: operationId change
user
GET /me
: unchangedGET /users
: unchanged
mobile device
GET /homes/{homeId}/mobileDevices
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedDELETE /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: unchangedPUT /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: operationId change
report
GET /homes/{homeId}/zones/{zoneId}/dayReport
: unchanged
Release v2024.08.25.0
All changes are relative to the previous released version.
Note: status identifiers like 'new' and 'unchanged' does not apply to the API itself; it only applies to this specification of the API.
General
Paths covered
user
GET /me
: unchangedGET /users
: unchanged
mobile device
GET /homes/{homeId}/mobileDevices
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedDELETE /homes/{homeId}/mobileDevices/{mobileDeviceId}
: unchangedGET /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: unchangedPUT /homes/{homeId}/mobileDevices/{mobileDeviceId}/settings
: unchanged
home
GET /homes
: unchangedGET /homes/{homeId}/airComfort
: unchangedPUT /homes/{homeId}/awayRadiusInMeters
: newPUT /homes/{homeId}/details
: unchangedGET /homes/{homeId}/heatingCircuits
: unchangedGET /homes/{homeId}/heatingSystem
: unchangedPUT /homes/{homeId}/heatingSystem/boiler
: changed operationId (putHeatingSystemBoiler -> putBoiler)PUT /homes/{homeId}/heatingSystem/underfloorHeating
: unchangedGET /homes/{homeId}/incidentDetection
: unchangedPUT /homes/{homeId}/incidentDetection
: changed response code 200 into 204, changed request schema component (InputDetection -> InputDetectionInput)GET /homes/{homeId}/weather
: unchanged
home control
POST /homes/{homeId}/overlay
: fixed response schema error (was an array)DELETE /homes/{homeId}/overlay
: unchangedPUT /homes/{homeId}/presenceLock
: unchangedGET /homes/{homeId}/state
: unchanged
zone
GET /homes/{homeId}/zones
: unchangedPOST /homes/{homeId}/zones
: newGET /homes/{homeId}/zones/{zoneId}/capabilities
: unchangedPUT /homes/{homeId}/zones/{zoneId}/dazzle
: newPUT /homes/{homeId}/zones/{zoneId}/details
newPUT /homes/{homeId}/zones/{zoneId}/openWindowDetection
newGET /homes/{homeId}/zones/{zoneId}/state
: unchangedGET /homes/{homeId}/zoneStates
: unchanged
zone control
GET /homes/{homeId}/zones/{zoneId}/defaultOverlay
: unchangedPUT /homes/{homeId}/zones/{zoneId}/defaultOverlay
: unchangedGET /homes/{homeId}/zones/{zoneId}/earlyStart
: unchangedPUT /homes/{homeId}/zones/{zoneId}/earlyStart
: unchangedGET /homes/{homeId}/zones/{zoneId}/overlay
: unchangedPUT /homes/{homeId}/zones/{zoneId}/overlay
: unchangedDELETE /homes/{homeId}/zones/{zoneId}/overlay
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/awayConfiguration
: fixed response http status: 204 instead of 200GET /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/activeTimetable
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks
: unchangedGET /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: unchangedPUT /homes/{homeId}/zones/{zoneId}/schedule/timetables/{timetableTypeId}/blocks/{dayType}
: unchanged
device
GET /devices/{deviceId}
: newGET /devices/{deviceId}/temperatureOffset
: fixed response schemaPUT /devices/{deviceId}/temperatureOffset
: unchangedGET /homes/{homeId}/devices
: unchangedPOST /homes/{homeId}/identify
: unchangedGET /homes/{homeId}/deviceList
: unchangedGET /homes/{homeId}/installations
: newGET /homes/{homeId}/zones/{zoneId}/control
: unchangedPUT /homes/{homeId}/zones/{zoneId}/control/heatingCircuit
: newPOST /homes/{homeId}/zones/{zoneId}/devices
: newGET /homes/{homeId}/zones/{zoneId}/measuringDevice
: unchangedPUT /homes/{homeId}/zones/{zoneId}/measuringDevice
: unchanged
report
GET /homes/{homeId}/zones/{zoneId}/dayReport
: unchanged