@homebridge-plugins/homebridge-tado 8.6.0 → 8.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## v8.6.1 — 2025-11-01
4
+ - Fix: Improve error logging for failed API requests (#179)
5
+
3
6
  ## v8.6.0 — 2025-11-01
4
7
  - BREAKING CHANGE: `tadoApiUrl` and `skipAuth` must now be defined under each home configuration for proper multi-home support (#176)
5
8
  - New parameter `preferSiriTemperature` for improved Siri handling — allows temperature changes via Siri without forcing Auto mode (#178). See [#178 (comment)](https://github.com/homebridge-plugins/homebridge-tado/issues/178#issuecomment-3476646430) for a detailed explanation
@@ -10,7 +13,7 @@
10
13
  - Fixed multi-home polling and individual API handling (#176)
11
14
  - Added enhanced debug logs for zone updates and API interactions
12
15
  - Note: This update resets the Tado API counter for the current day
13
- - Apologies for the unexpected behavior introduced in 8.4.x–8.5.x — this release restores consistent and reliable behavior, with an optional fix for Siri users. Full statement: [#178 (comment)](https://github.com/homebridge-plugins/homebridge-tado/issues/178#issuecomment-3476646430)
16
+ - Apologies for the unexpected behavior introduced in v8.4.x–8.5.x — this release restores consistent and reliable behavior, with an optional fix for Siri users. Full statement: [#178 (comment)](https://github.com/homebridge-plugins/homebridge-tado/issues/178#issuecomment-3476646430)
14
17
 
15
18
  ## v8.5.0 - 2025-10-27
16
19
  - Change minimum polling interval to 30s due to improvements made in v8.2.0
@@ -41,8 +44,8 @@
41
44
  - Fix config UI not working on HOOBS 5 (#177)
42
45
 
43
46
  ## v8.1.0 - 2025-10-19
44
- - Add option to use a custom tado api url (#176)
45
- - Add option to skip authentication for tado api (#176)
47
+ - Add option to use a custom tado API url (#176)
48
+ - Add option to skip authentication for tado API (#176)
46
49
  - Update dependencies
47
50
 
48
51
  ## v8.0.2 - 2025-07-22
@@ -87,7 +90,7 @@
87
90
  - Updated changelog
88
91
 
89
92
  ## v7.4.0 - 2025-03-14
90
- - Implemented the new authentication workflow for the tado° REST API based on their [official instructions](https://support.tado.com/en/articles/8565472-how-do-i-authenticate-to-access-the-rest-api)
93
+ - Implemented the new authentication workflow for the tado° REST API based on their [official instructions](https://support.tado.com/en/articles/8565472-how-do-i-authenticate-to-access-the-rest-API)
91
94
  - Added full support for Homebridge v2.0 (it is also shown as compatible when using Homebridge v1.X)
92
95
  - Updated all dependencies to their latest version
93
96
  - Added new authentication workflow to config-ui
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homebridge-plugins/homebridge-tado",
3
- "version": "8.6.0",
3
+ "version": "8.6.1",
4
4
  "description": "Homebridge plugin for controlling tado° devices.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -563,8 +563,8 @@ export default (api, accessories, config, tado, telegram) => {
563
563
  );
564
564
  break;
565
565
  }
566
- } catch (err) {
567
- errorHandler(err);
566
+ } catch (error) {
567
+ Logger.error(`Failed to set states: ${error.message || error}`);
568
568
  } finally {
569
569
  delete helpers[config.homeId].activeSettingStateRuns[runId];
570
570
  //update zones to ensure correct state in Apple Home
@@ -795,8 +795,8 @@ export default (api, accessories, config, tado, telegram) => {
795
795
 
796
796
  //Child Lock
797
797
  if (config.childLock.length) await updateDevices();
798
- } catch (err) {
799
- errorHandler(err);
798
+ } catch (error) {
799
+ Logger.error(`Failed to get states: ${error.message || error}`);
800
800
  } finally {
801
801
  void refreshHistoryServices();
802
802
  }
@@ -1554,48 +1554,6 @@ export default (api, accessories, config, tado, telegram) => {
1554
1554
  });
1555
1555
  }
1556
1556
 
1557
- function errorHandler(err) {
1558
- let error;
1559
-
1560
- if (err.options)
1561
- Logger.debug(
1562
- 'API request ' + err.options.method + ' ' + err.options.url.pathname + ' <error> ' + err.message,
1563
- config.homeName
1564
- );
1565
-
1566
- if (err.response) {
1567
- // The request was made and the server responded with a status code
1568
- // that falls out of the range of 2xx
1569
- if (err.response.data) {
1570
- error = {
1571
- status: err.response.status,
1572
- message: err.response.statusText,
1573
- data: err.response.data,
1574
- };
1575
- } else {
1576
- error = {
1577
- status: err.response.status,
1578
- message: err.response.statusText,
1579
- };
1580
- }
1581
- } else if (err.request) {
1582
- error = {
1583
- code: err.code,
1584
- message: 'Cannot reach Tado. No response received.',
1585
- };
1586
- } else if (err.output && err.output.payload && Object.keys(err.output.payload).length) {
1587
- //simple-oauth2 boom error
1588
- error = err.output.payload;
1589
- } else {
1590
- // Something happened in setting up the request that triggered an Error
1591
- error = err;
1592
- }
1593
-
1594
- Logger.error("Error:", error, config.homeName);
1595
-
1596
- return;
1597
- }
1598
-
1599
1557
  return {
1600
1558
  initTasks: initTasks,
1601
1559
  getStates: getStates,
@@ -300,12 +300,6 @@ export default class Tado {
300
300
  return response.body;
301
301
  } catch (error) {
302
302
  Logger.error(`API Request [${method} ${path}] - FAILED: ${error.message}`, this.name);
303
- if (error.response) {
304
- Logger.error(`HTTP Status: ${error.response.statusCode} - Response: ${JSON.stringify(error.response.body)}`, this.name);
305
- }
306
- if (error.request) {
307
- Logger.error(`Request failed - Config: ${JSON.stringify(config)}`, this.name);
308
- }
309
303
  throw error;
310
304
  }
311
305
  }