@homebridge-plugins/homebridge-tado 8.7.4 → 8.7.6
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 +7 -0
- package/package.json +5 -5
- package/src/helper/handler.js +5 -5
- package/src/tado/tado-api.js +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v8.7.6 - 2025-12-27
|
|
4
|
+
- Fix: Error logging for objects
|
|
5
|
+
- Update dependencies
|
|
6
|
+
|
|
7
|
+
## v8.7.5 - 2025-12-04
|
|
8
|
+
- Update dependencies due to vulnerability
|
|
9
|
+
|
|
3
10
|
## v8.7.4 - 2025-12-01
|
|
4
11
|
- Fix: Color of re-sync button in config UI (#187)
|
|
5
12
|
- Update dependencies
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@homebridge-plugins/homebridge-tado",
|
|
3
|
-
"version": "8.7.
|
|
3
|
+
"version": "8.7.6",
|
|
4
4
|
"description": "Homebridge plugin for controlling tado° devices.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@homebridge/plugin-ui-utils": "^2.1.2",
|
|
36
36
|
"fakegato-history": "^0.6.7",
|
|
37
37
|
"form-data": "^4.0.5",
|
|
38
|
-
"fs-extra": "^11.3.
|
|
38
|
+
"fs-extra": "^11.3.3",
|
|
39
39
|
"got": "^14.6.5",
|
|
40
40
|
"moment": "^2.30.1"
|
|
41
41
|
},
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"@babel/core": "7.28.5",
|
|
44
44
|
"@babel/eslint-parser": "7.28.5",
|
|
45
45
|
"@babel/eslint-plugin": "7.27.1",
|
|
46
|
-
"@eslint/js": "^9.39.
|
|
47
|
-
"eslint": "^9.39.
|
|
46
|
+
"@eslint/js": "^9.39.2",
|
|
47
|
+
"eslint": "^9.39.2",
|
|
48
48
|
"eslint-config-prettier": "^10.1.8",
|
|
49
49
|
"eslint-plugin-import": "^2.32.0",
|
|
50
50
|
"eslint-plugin-prettier": "^5.5.4",
|
|
51
51
|
"globals": "^16.5.0",
|
|
52
|
-
"prettier": "^3.7.
|
|
52
|
+
"prettier": "^3.7.4"
|
|
53
53
|
}
|
|
54
54
|
}
|
package/src/helper/handler.js
CHANGED
|
@@ -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;
|
package/src/tado/tado-api.js
CHANGED
|
@@ -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
|
}
|