Skip to content

Commit

Permalink
Support TadoX
Browse files Browse the repository at this point in the history
  • Loading branch information
HGlab01 authored Oct 22, 2024
1 parent 9e6f7f1 commit 1ebfbf0
Show file tree
Hide file tree
Showing 7 changed files with 503 additions and 2,608 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG_OLD.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Older changes
## 0.5.4 (2024-04-18)
* (HGlab01) Add attribute 'runningOfflineSchedule'
* (HGlab01) Bump axios to 1.6.8

## 0.5.3 (2024-01-29)
* (HGlab01) Improve axios handling
* (HGlab01) Bump axios to 1.6.7
Expand Down
31 changes: 22 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ Tado° (https://www.tado.com) is the expert in smart heating and energy manageme
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.

## TADO° X
Tado X **is currently not supported** by this adapter. The adapter supports Tado V3, V3+ and V2.
If someone is supporting to add Tado X functionality, raise a ticket or send an email to <myiobrokeradapters@gmail.com>. You will need to support some debugging session and interact with the adapter developer.
Basic support for Tado° X available.
If your setup is not working, please raise a [ticket](https://github.com/DrozmotiX/ioBroker.tado/issues/new?assignees=HGlab01&labels=enhancement&projects=&template=Enhancement.md&title=). You will need to support some debugging session and interact with the adapter developer to improve Tado° X features.

## Things you can steer
## Things you can steer on Tado° V3+, V3, V2
| State | Description |
| ----- | ----------- |
| tado.[x].[yyyyyy].Rooms.[z].setting.power | Turn device on/off |
Expand All @@ -33,13 +33,27 @@ If someone is supporting to add Tado X functionality, raise a ticket or send an
| tado.[x].[yyyyyy].Rooms.[z].openWindowDetection.openWindowDetectionEnabled | Enable/Disable open window detection on thermostat |
| tado.[x].[yyyyyy].Rooms.[z].openWindowDetection.timeoutInSeconds | Timeout how long thermostats are turned off when an open window is detected |
| tado.[x].[yyyyyy].Rooms.[z].activateOpenWindow | Switch thermostats off when an open window is detected (only works if the thermostat detects an open window) |
| tado.[x].[yyyyyy].Home.state.presence | Set HOME, AWAY or AUTO mode |
| tado.[x].[yyyyyy].Home.masterswitch | Turn all devices on/off |
| tado.[x].[yyyyyy].Rooms.[z].setting.mode | AC mode (only AC devices) |
| tado.[x].[yyyyyy].Rooms.[z].setting.fanspeed | Fanspeed (only AC devices with V3 and older versions) |
| tado.[x].[yyyyyy].Rooms.[z].setting.fanLebel | Fanlebel (only AC devices with V3+ version) |
| tado.[x].[yyyyyy].Rooms.[z].setting.verticalSwing | Vertical swing (only AC devices with V3+ version) |
| tado.[x].[yyyyyy].Rooms.[z].setting.horizontalSwing | Horizontal swing (only AC devices with V3 and olderversions) |
| tado.[x].[yyyyyy].Home.state.presence | Set HOME, AWAY or AUTO mode |
| tado.[x].[yyyyyy].Home.masterswitch | Turn all devices on/off |
| tado.[x].[yyyyyy].meterReadings | JSON-Object with {"date":"YYYY-MM-DD","reading": 1234} can be used to upload meter-readings to Energy IQ |

## Things you can steer on Tado° X
| State | Description |
| ----- | ----------- |
| tado.[x].[yyyyyy].Rooms.[z].setting.power | Turn device on/off |
| tado.[x].[yyyyyy].Rooms.[z].setting.temperature.value | Define temperature |
| tado.[x].[yyyyyy].Rooms.[z].manualControlTermination.controlType | Set time table mode |
| tado.[x].[yyyyyy].Rooms.[z].manualControlTermination.remainingTimeInSeconds | Duration time for timer mode |
| tado.[x].[yyyyyy].Rooms.[z].resumeScheduleRoom | Back to automatic mode for this room |
| tado.[x].[yyyyyy].Rooms.resumeScheduleHome | Back to automatic mode for all rooms |
| tado.[x].[yyyyyy].Rooms.allOff | Switch all rooms of |
| tado.[x].[yyyyyy].Rooms.boost | Switch all rooms to boost mode |
| tado.[x].[yyyyyy].Home.state.presence | Set HOME, AWAY or AUTO mode |
| tado.[x].[yyyyyy].meterReadings | JSON-Object with {"date":"YYYY-MM-DD","reading": 1234} can be used to upload meter-readings to Energy IQ |

## Requires
Expand All @@ -51,6 +65,9 @@ If someone is supporting to add Tado X functionality, raise a ticket or send an
Placeholder for the next version (at the beginning of the line):
### __WORK IN PROGRESS__
-->
### 0.6.0-alpha.1 (2024-10-18)
* (HGlab01) Start supporting Tado° X

### 0.5.9 (2024-10-16)
* (HGlab01) Improve axios promise handling

Expand All @@ -70,10 +87,6 @@ If someone is supporting to add Tado X functionality, raise a ticket or send an
### 0.5.5 (2024-06-25)
* (HGlab01) Bump axios to 1.7.2

### 0.5.4 (2024-04-18)
* (HGlab01) Add attribute 'runningOfflineSchedule'
* (HGlab01) Bump axios to 1.6.8

## License
MIT License

Expand Down
28 changes: 14 additions & 14 deletions io-package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,21 @@
{
"common": {
"name": "tado",
"version": "0.5.9",
"version": "0.6.0-alpha.1",
"news": {
"0.6.0-alpha.1": {
"en": "Start supporting Tado° X",
"de": "Starthilfe Tado° X",
"ru": "Начало поддержки Tado° x",
"pt": "Iniciar suporte Tadoo X",
"nl": "Ondersteuning starten Tado° X",
"fr": "Commencer à soutenir Tado° X",
"it": "Avviare il supporto Tado X",
"es": "Comienzo de apoyo Tado° X",
"pl": "Zacznij wspierać Tado ° X",
"uk": "Старт підтримки Тадо ° X",
"zh-cn": "开始支持 塔多°X"
},
"0.5.9": {
"en": "Improve axios promise handling",
"de": "Axios Versprechen",
Expand Down Expand Up @@ -80,19 +93,6 @@
"pl": "Zmiana obsługiwanego atrybutu \"light\"\nDodaj połączenie atrybutu '\nDodaj atrybut 'supportsFlowTemperatureOptimization'\nAksykony bumpy do 1.7.7\nOdczyty mierników EnergyIQ mogą być wysłane",
"uk": "Зміна атрибуту \"light\"\nДодати атрибут 'connection Р\nДодати атрибут 'supportsFlowTemperatureOptimization Р\nБампер аксіос до 1.7.7\nЗавантажувати енергозберігання можна",
"zh-cn": "支持更改属性“ 光”\n添加属性“ 连接 '\n添加属性支持FlowTemperature Optimization '\n横轴改为1.7.7\nEnergyIQ 仪表读取可以上传"
},
"0.5.7-alpha.1": {
"en": "Change of attribute \"light\" supported\nAdd attribute 'connection'\nAdd attribute 'supportsFlowTemperatureOptimization'\nBump axios to 1.7.7\nEnergyIQ meter-readings can be uploaded",
"de": "Änderung des Attributs \"light\" unterstützt\nAttribut hinzufügen 'connection '\nAttribut hinzufügen 'supportsFlowTemperaturOptimization '\nBump axios bis 1.7.7\nEnergyIQ Messgeräte können hochgeladen werden",
"ru": "Изменение атрибута \"свет\" поддерживается\nДобавить атрибут \"\nДобавить атрибут \"supportsFlowTemperatureOptimization \"\nBump axios to 1.7.7\nЭнергоIQ можно загрузить",
"pt": "Mudança de atributo \"light\" suportada\nAdicionar atributo 'conexão '\nAdicionar atributo 'supportsFlowTemperatureOptimization '\nBump axios para 1.7.7\nAs leituras de medidores EnergyIQ podem ser carregadas",
"nl": "Wijziging van attribuut \"licht\" ondersteund\nAttribuut 'connectie' toevoegen '\nToevoegen attribuut 'ondersteuntFlowTemperatuurOptimisatie '\nBump axios naar 1.7.7\nEnergyIQ-meters kunnen worden geüpload",
"fr": "Changement d'attribut \"lumière\" pris en charge\nAjouter l'attribut 'connection' '\nAjouter l'attribut 'supportsFlowTemperatureOptimisation '\nAxios bouffés à 1.7.7\nLes lecteurs EnergyIQ peuvent être téléchargés",
"it": "Modifica dell'attributo \"light\" supportato\nAggiungi attributo 'collegamento '\nAggiungi attributo 'supportiFlowTemperatureOptimization '\nAssio di bump a 1.7.7\nEnergyIQ può essere caricato",
"es": "Cambio de atributo \"light\" soportado\nAgregar atributo 'conexión '\nAgregar atributo 'apoyosFlowTemperatureOptimization '\nBump axios a 1.7.7\nLas lecturas de medidores de EnergyIQ se pueden cargar",
"pl": "Zmiana obsługiwanego atrybutu \"light\"\nDodaj połączenie atrybutu '\nDodaj atrybut 'supportsFlowTemperatureOptimization'\nAksykony bumpy do 1.7.7\nOdczyty mierników EnergyIQ mogą być wysłane",
"uk": "Зміна атрибуту \"light\"\nДодати атрибут 'connection Р\nДодати атрибут 'supportsFlowTemperatureOptimization Р\nБампер аксіос до 1.7.7\nЗавантажувати енергозберігання можна",
"zh-cn": "支持更改属性“ 光”\n添加属性“ 连接 '\n添加属性支持FlowTemperature Optimization '\n横轴改为1.7.7\nEnergyIQ 仪表读取可以上传"
}
},
"titleLang": {
Expand Down
71 changes: 64 additions & 7 deletions lib/state_attr.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ const state_attrb = {
'role': 'state',
'type': 'string'
},
'allOff': {
'name': 'All off',
'role': 'button',
'type': 'boolean',
'write': true
},
'atHome': {
'name': 'atHome',
'role': 'state',
Expand Down Expand Up @@ -45,6 +51,12 @@ const state_attrb = {
'role': 'value',
'type': 'number'
},
'boost': {
'name': 'Boost',
'role': 'button',
'type': 'boolean',
'write': true
},
'canSetTemperature': {
'name': 'Can set temperature',
'role': 'info',
Expand Down Expand Up @@ -134,6 +146,17 @@ const state_attrb = {
'type': 'boolean',
'write': true
},
'controlType': {
'name': 'Control Type',
'role': 'state',
'type': 'string',
'write': true,
'states': {
'TIMER': 'Use Timer',
'MANUAL': 'Manual',
'NEXT_TIME_BLOCK': 'Next time block'
}
},
'dazzleMode': {
'name': 'Dazzle Mode',
'role': 'state',
Expand Down Expand Up @@ -243,6 +266,11 @@ const state_attrb = {
'role': 'info',
'type': 'string'
},
'firmwareVersion': {
'name': 'Firmware version',
'role': 'info',
'type': 'string'
},
'generation': {
'name': 'Generation',
'role': 'info'
Expand Down Expand Up @@ -556,8 +584,8 @@ const state_attrb = {
'name': 'Power',
'role': 'switch.power',
'states': {
'off': 'off',
'on': 'on'
'OFF': 'Off',
'ON': 'On'
},
'type': 'string',
'unit': '',
Expand Down Expand Up @@ -618,13 +646,26 @@ const state_attrb = {
'name': 'Online',
'role': 'value',
'type': 'number',
'unit': 's'
'unit': 's',
write: true
},
'reportAvailable': {
'name': 'Report Available',
'role': 'state',
'type': 'boolean'
},
'resumeScheduleHome': {
'name': 'Resume Schedule Home',
'role': 'button',
'type': 'boolean',
'write': true
},
'resumeScheduleRoom': {
'name': 'Resume Schedule Room',
'role': 'button',
'type': 'boolean',
'write': true
},
'runningOfflineSchedule': {
'name': 'Running offline schedule',
'role': 'info',
Expand All @@ -649,6 +690,11 @@ const state_attrb = {
'role': 'state',
'type': 'string'
},
'serialNumber': {
'name': 'Firmware version',
'role': 'info',
'type': 'string'
},
'shortSerialNo': {
'name': 'Serial Number short',
'role': 'state',
Expand Down Expand Up @@ -843,6 +889,16 @@ const state_attrb = {
'temperature': {
'blacklist': true
},
'temperatureAsMeasured': {
'name': 'Temperature as measured',
'role': 'info',
'type': 'number'
},
'temperatureOffset': {
'name': 'Temperature Offset',
'role': 'info',
'type': 'number'
},
'temperatureUnit': {
'name': 'temperature Unit',
'role': 'state',
Expand Down Expand Up @@ -889,15 +945,15 @@ const state_attrb = {
},
'type': {
'name': 'Type',
'role': 'state'
'role': 'state',
},
'typeSkillBasedApp': {
'name': 'Type Skill Based App',
'role': 'state',
'states': {
'Manual': 'Permanent',
'Next_Time_Block': 'Next Block',
'Timer': 'Use Timer'
'NEXT_TIME_BLOCK': 'Next Block',
'TIMER': 'Use Timer'
},
'unit': '',
'write': true
Expand All @@ -909,7 +965,8 @@ const state_attrb = {
},
'value': {
'name': 'Value',
'role': 'value'
'role': 'value',
write: true
},
'vattenfallBannerDiscountCode': {
'name': 'VattenfallBannerDiscountCode',
Expand Down
Loading

0 comments on commit 1ebfbf0

Please sign in to comment.