homebridge-viessmann-vicare 2.0.71 → 2.0.72

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/SETUP-GUIDE.md CHANGED
@@ -1,8 +1,8 @@
1
- # Complete Setup Guide - v2.0.70
1
+ # Complete Setup Guide - v2.0.72
2
2
 
3
3
  ## Overview
4
4
 
5
- This guide will walk you through setting up the Viessmann ViCare plugin v2.0.70 for Homebridge, including all the advanced features like intelligent caching, rate limiting protection, comprehensive configuration options, **complete localization support with custom names**, **CSV history logging**, **HTML diagnostic reports**, **energy system monitoring** (PV, battery, wallbox), and **heating schedule awareness** with visual bands in the HTML report, and **heat pump (Wärmepumpe) support** with automatic device detection.
5
+ This guide will walk you through setting up the Viessmann ViCare plugin v2.0.72 for Homebridge, including all the advanced features like intelligent caching, rate limiting protection, comprehensive configuration options, **complete localization support with custom names**, **CSV history logging**, **HTML diagnostic reports**, **energy system monitoring** (PV, battery, wallbox), and **heating schedule awareness** with visual bands in the HTML report, and **heat pump (Wärmepumpe) support** with automatic device detection.
6
6
 
7
7
  ## Prerequisites
8
8
 
@@ -1228,6 +1228,15 @@ sudo systemctl restart homebridge
1228
1228
 
1229
1229
  ## Changelog
1230
1230
 
1231
+ ### v2.0.72 (2026-06-23)
1232
+ - fix: `readApiStatus` function missing from report server — caused crash on every `GET /` request
1233
+ - chore: axios updated to `^1.17.0`
1234
+
1235
+ ### v2.0.71 (2026-05-30)
1236
+ - feat: API usage dashboard in report server UI (daily usage bar, health score, rate limit status)
1237
+ - feat: `writeApiStatusFile` in platform writes `viessmann-api-status.json` after each update cycle
1238
+ - fix: report generation timeout default raised to 600 s, configurable up to 3600 s
1239
+
1231
1240
  ### v2.0.70 (2026-05-29)
1232
1241
  - feat: TRV/room sensor discovery mode (enableRoomSensorDiscovery flag)
1233
1242
  - feat: report generation timeout configurable (reportServerTimeout, 60–1800 s)
@@ -9,7 +9,7 @@ export declare const PLUGIN_NAME = "homebridge-viessmann-vicare";
9
9
  /**
10
10
  * Plugin version for User-Agent and logging
11
11
  */
12
- export declare const PLUGIN_VERSION = "2.0.71";
12
+ export declare const PLUGIN_VERSION = "2.0.72";
13
13
  /**
14
14
  * Default configuration values
15
15
  */
package/dist/settings.js CHANGED
@@ -12,7 +12,7 @@ exports.PLUGIN_NAME = 'homebridge-viessmann-vicare';
12
12
  /**
13
13
  * Plugin version for User-Agent and logging
14
14
  */
15
- exports.PLUGIN_VERSION = '2.0.71';
15
+ exports.PLUGIN_VERSION = '2.0.72';
16
16
  /**
17
17
  * Default configuration values
18
18
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-viessmann-vicare",
3
- "version": "2.0.71",
3
+ "version": "2.0.72",
4
4
  "description": "Complete Homebridge plugin for Viessmann ViCare heating systems with full control capabilities, advanced rate limiting protection, and intelligent cache management",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -39,7 +39,7 @@
39
39
  "homebridge": ">=1.8.0 || >=2.0.0-beta.0"
40
40
  },
41
41
  "dependencies": {
42
- "axios": "^1.13.5"
42
+ "axios": "^1.17.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^20.19.35",
@@ -79,6 +79,20 @@ function detectInstallations() {
79
79
  }
80
80
  }
81
81
 
82
+ function readApiStatus(hbPath) {
83
+ try {
84
+ const p = path.join(hbPath, 'viessmann-api-status.json');
85
+ if (!fs.existsSync(p)) return null;
86
+ const d = JSON.parse(fs.readFileSync(p, 'utf8'));
87
+ // Only show data younger than 30 minutes
88
+ if (Date.now() - new Date(d.timestamp).getTime() > 30 * 60 * 1000) return null;
89
+ return d;
90
+ } catch (e) {
91
+ dbg(`readApiStatus error: ${e.message}`);
92
+ return null;
93
+ }
94
+ }
95
+
82
96
  function numParam(val, def, min, max) {
83
97
  const n = parseFloat(val);
84
98
  if (isNaN(n)) return def;