@homebridge-plugins/homebridge-tado 8.7.5 → 8.7.7

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,12 @@
1
1
  # Changelog
2
2
 
3
+ ## v8.7.7 - 2026-01-01
4
+ - Update dependencies due to vulnerability
5
+
6
+ ## v8.7.6 - 2025-12-27
7
+ - Fix: Error logging for objects
8
+ - Update dependencies
9
+
3
10
  ## v8.7.5 - 2025-12-04
4
11
  - Update dependencies due to vulnerability
5
12
 
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@homebridge-plugins/homebridge-tado",
3
- "version": "8.7.5",
3
+ "version": "8.7.7",
4
4
  "description": "Homebridge plugin for controlling tado° devices.",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "eslint": "eslint --fix ."
7
+ "lint": "eslint",
8
+ "lint:fix": "npm run lint -- --fix"
8
9
  },
9
10
  "type": "module",
10
11
  "repository": {
@@ -35,20 +36,20 @@
35
36
  "@homebridge/plugin-ui-utils": "^2.1.2",
36
37
  "fakegato-history": "^0.6.7",
37
38
  "form-data": "^4.0.5",
38
- "fs-extra": "^11.3.2",
39
- "got": "^14.6.5",
39
+ "fs-extra": "^11.3.3",
40
+ "got": "^14.6.6",
40
41
  "moment": "^2.30.1"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@babel/core": "7.28.5",
44
45
  "@babel/eslint-parser": "7.28.5",
45
46
  "@babel/eslint-plugin": "7.27.1",
46
- "@eslint/js": "^9.39.1",
47
- "eslint": "^9.39.1",
47
+ "@eslint/js": "^9.39.2",
48
+ "eslint": "^9.39.2",
48
49
  "eslint-config-prettier": "^10.1.8",
49
50
  "eslint-plugin-import": "^2.32.0",
50
51
  "eslint-plugin-prettier": "^5.5.4",
51
- "globals": "^16.5.0",
52
+ "globals": "^17.0.0",
52
53
  "prettier": "^3.7.4"
53
54
  }
54
55
  }
@@ -564,7 +564,7 @@ export default (api, accessories, config, tado, telegram) => {
564
564
  break;
565
565
  }
566
566
  } catch (error) {
567
- Logger.error(`Failed to set states: ${error.message || error}`);
567
+ Logger.error(`Failed to set states: ${error.message || JSON.stringify(error)}`);
568
568
  } finally {
569
569
  delete helpers[config.homeId].activeSettingStateRuns[runId];
570
570
  //update zones to ensure correct state in Apple Home
@@ -744,7 +744,7 @@ export default (api, accessories, config, tado, telegram) => {
744
744
  Logger.warn(`Skipping persistence of tado states file for home ${homeId}: zone states are empty.`);
745
745
  }
746
746
  } catch (error) {
747
- Logger.error(`Error while updating the tado states file for home ${homeId}: ${error.message || error}`);
747
+ Logger.error(`Error while updating the tado states file for home ${homeId}: ${error.message || JSON.stringify(error)}`);
748
748
  }
749
749
  }
750
750
 
@@ -757,7 +757,7 @@ export default (api, accessories, config, tado, telegram) => {
757
757
  refreshHistory();
758
758
  }
759
759
  } catch (error) {
760
- Logger.error(`Error while refreshing history services: ${error.message || error}`);
760
+ Logger.error(`Error while refreshing history services: ${error.message || JSON.stringify(error)}`);
761
761
  }
762
762
  }
763
763
 
@@ -796,7 +796,7 @@ export default (api, accessories, config, tado, telegram) => {
796
796
  //Child Lock
797
797
  if (config.childLock.length) await updateDevices();
798
798
  } catch (error) {
799
- Logger.error(`Failed to get states: ${error.message || error}`);
799
+ Logger.error(`Failed to get states: ${error.message || JSON.stringify(error)}`);
800
800
  } finally {
801
801
  void refreshHistoryServices();
802
802
  }
@@ -850,7 +850,7 @@ export default (api, accessories, config, tado, telegram) => {
850
850
  try {
851
851
  await _updateZones();
852
852
  } catch (error) {
853
- Logger.error(`Failed to update zones: ${error.message || error}`);
853
+ Logger.error(`Failed to update zones: ${error.message || JSON.stringify(error)}`);
854
854
  }
855
855
  if (helpers[config.homeId].updateZonesNextQueued) {
856
856
  helpers[config.homeId].updateZonesNextQueued = false;
@@ -59,7 +59,7 @@ export default class Tado {
59
59
  if (data) return JSON.parse(data);
60
60
  } catch (error) {
61
61
  //no persisted counter data => ignore
62
- Logger.debug(`Failed to read tado API file for user ${this.hashedUsername}: ${error.message || error}`);
62
+ Logger.debug(`Failed to read tado API file for user ${this.hashedUsername}: ${error.message || JSON.stringify(error)}`);
63
63
  }
64
64
  }
65
65
 
@@ -82,7 +82,7 @@ export default class Tado {
82
82
  this._counter++;
83
83
  this._counterTimestamp = new Date().toISOString();
84
84
  } catch (error) {
85
- Logger.warn(`Failed to increase tado API counter: ${error.message || error}`);
85
+ Logger.warn(`Failed to increase tado API counter: ${error.message || JSON.stringify(error)}`);
86
86
  }
87
87
  }
88
88
 
@@ -100,7 +100,7 @@ export default class Tado {
100
100
  data.counterData = await this._getCounterData();
101
101
  await writeFile(join(this.storagePath, `tado-api-${this.hashedUsername}.json`), JSON.stringify(data, null, 2), "utf-8");
102
102
  } catch (error) {
103
- Logger.error(`Error while updating the tado API file for user ${this.hashedUsername}: ${error.message || error}`);
103
+ Logger.error(`Error while updating the tado API file for user ${this.hashedUsername}: ${error.message || JSON.stringify(error)}`);
104
104
  }
105
105
  }
106
106
 
@@ -109,7 +109,7 @@ export default class Tado {
109
109
  const counter = (await this._getCounterData()).counter;
110
110
  Logger.info(`tado API counter: ${counter.toLocaleString('en-US')}`);
111
111
  } catch (error) {
112
- Logger.warn(`Failed to get tado API counter: ${error.message || error}`);
112
+ Logger.warn(`Failed to get tado API counter: ${error.message || JSON.stringify(error)}`);
113
113
  }
114
114
  }
115
115
 
@@ -135,7 +135,7 @@ export default class Tado {
135
135
 
136
136
  return this._tadoBearerToken.access_token;
137
137
  } catch (error) {
138
- throw new Error(`API call failed. Could not get access token: ${error.message || error}`);
138
+ throw new Error(`API call failed. Could not get access token: ${error.message || JSON.stringify(error)}`);
139
139
  }
140
140
  }
141
141
 
@@ -184,7 +184,7 @@ export default class Tado {
184
184
  await writeFile(this._tadoInternalTokenFilePath, JSON.stringify({ access_token, refresh_token }));
185
185
  this._tadoBearerToken = { access_token, refresh_token, timestamp: Date.now() };
186
186
  } catch (error) {
187
- Logger.warn(`Error while refreshing token: ${error.message || error}`);
187
+ Logger.warn(`Error while refreshing token: ${error.message || JSON.stringify(error)}`);
188
188
  return this._authenticateUser();
189
189
  }
190
190
  }