homebridge-viessmann-vicare 2.0.39 β 2.0.40
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/README.md +12 -0
- package/SETUP-GUIDE.md +11 -3
- package/dist/accessories/energy-accessory.d.ts.map +1 -1
- package/dist/accessories/energy-accessory.js +27 -18
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +13 -1
- package/dist/settings.d.ts +1 -1
- package/dist/settings.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1033,6 +1033,18 @@ For issues and questions:
|
|
|
1033
1033
|
|
|
1034
1034
|
## π Changelog
|
|
1035
1035
|
|
|
1036
|
+
### [2.0.40] - 2026-03-15
|
|
1037
|
+
#### Fixed
|
|
1038
|
+
- **Critical: Accessories not updating after Homebridge restart** β when restoring accessories from cache, `device`, `installation`, and `gateway` were not written to `accessory.context`. The update loop silently skipped all accessories on every subsequent restart, showing `0 device(s) fetched, 0/0 accessories updated`. All four restore-from-cache paths (Boiler, DHW, Heating Circuit, Energy/Heat Pump) are now fixed.
|
|
1039
|
+
|
|
1040
|
+
#### Changed
|
|
1041
|
+
- **Full feature dump** β moved from `INFO` to `DEBUG` level; only visible when `debug: true` is set in plugin config.
|
|
1042
|
+
- **Capability detail log** β resolved HP paths and capability breakdown moved to `DEBUG`; single compact `INFO` line now summarises detected capabilities (e.g. `Capabilities detected: HeatPump`).
|
|
1043
|
+
- **`updateHandler not set` warning** β downgraded from `WARN` to `DEBUG`. Per-device spam eliminated; update cycle summary still shows the count when non-zero.
|
|
1044
|
+
|
|
1045
|
+
#### Notes
|
|
1046
|
+
- Users upgrading from β€ v2.0.38 with a heat pump may see ghost "Heat Pump" accessories in Homebridge cache. Remove via Homebridge UI β Settings β Remove Single Accessory.
|
|
1047
|
+
|
|
1036
1048
|
### [2.0.39] - 2026-03-11
|
|
1037
1049
|
#### Fixed
|
|
1038
1050
|
- **Critical: Heat pump device detection** β `isHeatPumpDevice()` was incorrectly matching ALL Viessmann gen3 devices because `type:E3` is a gen3 architecture marker present on every device (TCU gateway, TRVs, room sensors, repeaters, VitoCharge, HEMS, wallbox, etc.). Detection now requires `type:heatpump` (exact role) or modelId containing `vitocal`. This was causing spurious "Adding new energy accessory: β¦ Heat Pump" log entries for every device.
|
package/SETUP-GUIDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Complete Setup Guide - v2.0.
|
|
1
|
+
# Complete Setup Guide - v2.0.40
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
This guide will walk you through setting up the Viessmann ViCare plugin v2.0.
|
|
5
|
+
This guide will walk you through setting up the Viessmann ViCare plugin v2.0.40 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
|
|
|
@@ -1157,7 +1157,7 @@ When reporting issues, include:
|
|
|
1157
1157
|
|
|
1158
1158
|
```json
|
|
1159
1159
|
{
|
|
1160
|
-
"plugin_version": "2.0.
|
|
1160
|
+
"plugin_version": "2.0.40",
|
|
1161
1161
|
"homebridge_version": "1.8.x",
|
|
1162
1162
|
"node_version": "18.x.x",
|
|
1163
1163
|
"heating_system": "Viessmann Model",
|
|
@@ -1228,6 +1228,14 @@ sudo systemctl restart homebridge
|
|
|
1228
1228
|
|
|
1229
1229
|
## Changelog
|
|
1230
1230
|
|
|
1231
|
+
### v2.0.40 (2026-03-15)
|
|
1232
|
+
**Critical bug fix + log noise reduction:**
|
|
1233
|
+
- **Fixed: accessories not updating after restart** β all four restore-from-cache paths (Boiler, DHW, HC, Energy) were missing `context.device/installation/gateway` assignment. This caused `updateAllDevices` to skip every accessory silently on every restart after the first, showing `0 device(s) fetched`. Affected all users.
|
|
1234
|
+
- Full feature dump moved to `DEBUG` level (only shown when `debug: true`).
|
|
1235
|
+
- Capability detail and resolved HP paths moved to `DEBUG`; single compact `INFO` line shows detected capabilities.
|
|
1236
|
+
- `updateHandler not set` per-device warning downgraded to `DEBUG`; update cycle summary count retained.
|
|
1237
|
+
- **Note:** Users upgrading from β€v2.0.38 with a heat pump may have ghost "Heat Pump" accessories in cache β remove via Homebridge UI β Settings β Remove Single Accessory.
|
|
1238
|
+
|
|
1231
1239
|
### v2.0.39 (2026-03-11)
|
|
1232
1240
|
**Critical fix** β Heat pump device detection overhaul:
|
|
1233
1241
|
- Fixed `isHeatPumpDevice()`: removed `type:E3` which matched ALL gen3 devices. Now requires `type:heatpump` (exact) or Vitocal modelId.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energy-accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/energy-accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,wBAAwB;IAwFjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAxFzB,OAAO,CAAC,kBAAkB,CAAU;IAGpC,OAAO,CAAC,eAAe,CAAC,CAAU;IAClC,OAAO,CAAC,kBAAkB,CAAC,CAAU;IAGrC,OAAO,CAAC,mBAAmB,CAAC,CAAU;IACtC,OAAO,CAAC,eAAe,CAAC,CAAU;IAGlC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,mBAAmB,CAAC,CAAU;IAGtC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,oBAAoB,CAAC,CAAU;IAGvC,OAAO,CAAC,kBAAkB,CAAC,CAAU;IAIrC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,cAAc,CAAU;IAIhC,OAAO,CAAC,OAAO,CAOb;IAGF,OAAO,CAAC,MAAM,CAwCZ;gBAGiB,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe;IAoB1C,OAAO,CAAC,gBAAgB;YAUV,sBAAsB;IAuBpC,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"energy-accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/energy-accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,wBAAwB;IAwFjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAxFzB,OAAO,CAAC,kBAAkB,CAAU;IAGpC,OAAO,CAAC,eAAe,CAAC,CAAU;IAClC,OAAO,CAAC,kBAAkB,CAAC,CAAU;IAGrC,OAAO,CAAC,mBAAmB,CAAC,CAAU;IACtC,OAAO,CAAC,eAAe,CAAC,CAAU;IAGlC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,mBAAmB,CAAC,CAAU;IAGtC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,oBAAoB,CAAC,CAAU;IAGvC,OAAO,CAAC,kBAAkB,CAAC,CAAU;IAIrC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,cAAc,CAAU;IAIhC,OAAO,CAAC,OAAO,CAOb;IAGF,OAAO,CAAC,MAAM,CAwCZ;gBAGiB,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe;IAoB1C,OAAO,CAAC,gBAAgB;YAUV,sBAAsB;IAuBpC,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,kBAAkB;IAyD1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,qBAAqB;IAwF7B,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,oBAAoB;IAgE5B,OAAO,CAAC,oBAAoB;IAwC5B,OAAO,CAAC,uBAAuB;IAwDlB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAa5B,kBAAkB;YAalB,cAAc;YA2Hd,mBAAmB;YAuInB,kBAAkB;YAmBlB,oBAAoB;YAmBpB,yBAAyB;CAgBxC"}
|
|
@@ -134,14 +134,16 @@ class ViessmannEnergyAccessory {
|
|
|
134
134
|
this.setupServices();
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
// ββ Full feature dump (
|
|
137
|
+
// ββ Full feature dump (debug only) ββββββββββββββββββββββββββββββββββββββββ
|
|
138
138
|
logAllFeatures(features) {
|
|
139
|
+
if (!this.platform.config.debug)
|
|
140
|
+
return;
|
|
139
141
|
const tag = '[EnergyAccessory]';
|
|
140
142
|
const deviceLabel = `device=${this.device.id} model=${this.device.modelId ?? '?'} roles=${JSON.stringify(this.device.roles ?? [])}`;
|
|
141
|
-
this.platform.log.
|
|
142
|
-
this.platform.log.
|
|
143
|
-
this.platform.log.
|
|
144
|
-
this.platform.log.
|
|
143
|
+
this.platform.log.debug(`${tag} ββββββββββββββββββββββββββββββββββββββββββββββββ`);
|
|
144
|
+
this.platform.log.debug(`${tag} FULL FEATURE DUMP β ${deviceLabel}`);
|
|
145
|
+
this.platform.log.debug(`${tag} Total features: ${features.length}`);
|
|
146
|
+
this.platform.log.debug(`${tag} ββββββββββββββββββββββββββββββββββββββββββββββββ`);
|
|
145
147
|
// Sort features alphabetically for readability
|
|
146
148
|
const sorted = [...features].sort((a, b) => a.feature.localeCompare(b.feature));
|
|
147
149
|
for (const f of sorted) {
|
|
@@ -150,13 +152,13 @@ class ViessmannEnergyAccessory {
|
|
|
150
152
|
const enabled = f.isEnabled ? 'β' : 'β';
|
|
151
153
|
const ready = f.isReady ? 'β' : 'β';
|
|
152
154
|
const propVals = JSON.stringify(f.properties ?? {});
|
|
153
|
-
this.platform.log.
|
|
154
|
-
this.platform.log.
|
|
155
|
+
this.platform.log.debug(`${tag} [${enabled}${ready}] ${f.feature}`);
|
|
156
|
+
this.platform.log.debug(`${tag} props=(${propKeys}) values=${propVals.substring(0, 120)}`);
|
|
155
157
|
if (cmdKeys !== 'β') {
|
|
156
|
-
this.platform.log.
|
|
158
|
+
this.platform.log.debug(`${tag} commands=(${cmdKeys})`);
|
|
157
159
|
}
|
|
158
160
|
}
|
|
159
|
-
this.platform.log.
|
|
161
|
+
this.platform.log.debug(`${tag} ββββββββββββββββββββββββββββββββββββββββββββββββ`);
|
|
160
162
|
}
|
|
161
163
|
// ββ Capability detection ββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
162
164
|
detectCapabilities(features) {
|
|
@@ -196,12 +198,19 @@ class ViessmannEnergyAccessory {
|
|
|
196
198
|
names.some(n => n.startsWith('heating.dhw.pumps.primary')) ||
|
|
197
199
|
names.some(n => n === 'heating.dhw.operating.modes.electricBoost');
|
|
198
200
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
201
|
+
const caps = [
|
|
202
|
+
this.isHeatPump ? 'HeatPump' : null,
|
|
203
|
+
this.hasPV ? 'PV' : null,
|
|
204
|
+
this.hasBattery ? 'Battery' : null,
|
|
205
|
+
this.hasWallbox ? 'Wallbox' : null,
|
|
206
|
+
this.hasElectricDHW ? 'ElecDHW' : null,
|
|
207
|
+
].filter(Boolean).join(', ') || 'none';
|
|
208
|
+
this.platform.log.info(`${tag} Capabilities detected: ${caps}`);
|
|
209
|
+
this.platform.log.debug(`${tag} isHeatPump : ${this.isHeatPump}`);
|
|
210
|
+
this.platform.log.debug(`${tag} PV/Solar : ${this.hasPV}`);
|
|
211
|
+
this.platform.log.debug(`${tag} Battery : ${this.hasBattery}`);
|
|
212
|
+
this.platform.log.debug(`${tag} Wallbox/EV : ${this.hasWallbox}`);
|
|
213
|
+
this.platform.log.debug(`${tag} Electric DHW : ${this.hasElectricDHW}`);
|
|
205
214
|
}
|
|
206
215
|
/**
|
|
207
216
|
* Tries multiple known path variants for heat pump features.
|
|
@@ -217,10 +226,10 @@ class ViessmannEnergyAccessory {
|
|
|
217
226
|
this.hpPaths.supplyTemp = pick('heating.circuits.0.sensors.temperature.supply', 'heating.primaryCircuit.sensors.temperature.supply', 'heating.heatpump.sensors.temperature.flow');
|
|
218
227
|
this.hpPaths.returnTemp = pick('heating.sensors.temperature.return', 'heating.secondaryCircuit.sensors.temperature.return', 'heating.primaryCircuit.sensors.temperature.return', 'heating.heatpump.sensors.temperature.return', 'heating.circuits.0.sensors.temperature.return');
|
|
219
228
|
this.hpPaths.cop = pick('heating.scop.heating', 'heating.spf.heating', 'heating.scop.total', 'heating.heatpump.cop', 'heating.compressor.0.cop');
|
|
220
|
-
this.platform.log.
|
|
229
|
+
this.platform.log.debug(`${tag} Resolved paths:`);
|
|
221
230
|
for (const [key, val] of Object.entries(this.hpPaths)) {
|
|
222
|
-
const status = val ? `β ${val}` : 'β not found
|
|
223
|
-
this.platform.log.
|
|
231
|
+
const status = val ? `β ${val}` : 'β not found';
|
|
232
|
+
this.platform.log.debug(`${tag} ${key.padEnd(18)}: ${status}`);
|
|
224
233
|
}
|
|
225
234
|
}
|
|
226
235
|
// ββ Service creation βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAGH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACrI,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAgB,MAAM,2BAA2B,CAAC;AAOrI,qBAAa,iBAAkB,YAAW,qBAAqB;aA2B3C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,uBAAuB,GAAG,cAAc;aAChD,GAAG,EAAE,GAAG;IA5B1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxC,SAAgB,cAAc,EAAE,OAAO,cAAc,CAAC;IAEtD,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,SAAgB,YAAY,EAAG,YAAY,CAAC;IAC5C,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,iBAAiB,CAAK;IAG9B,OAAO,CAAC,oBAAoB,CAA0C;IACtE,OAAO,CAAC,iBAAiB,CAMvB;gBAGgB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,uBAAuB,GAAG,cAAc,EAChD,GAAG,EAAE,GAAG;IAqD1B,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,uBAAuB;YAQjB,wBAAwB;YA8CxB,iCAAiC;YA+CjC,iCAAiC;YAoHjC,8BAA8B;YA2D9B,yCAAyC;IA4BhD,4BAA4B,CACjC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAkD,GAC1D,IAAI;IAgBP,OAAO,CAAC,yBAAyB;IAW1B,oBAAoB,IAAI;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB;IAWD,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAKzC,eAAe;IAuDrB,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+CrB,sBAAsB,CAAC,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe;IAyB9G,oBAAoB,CACxB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAGH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACrI,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAgB,MAAM,2BAA2B,CAAC;AAOrI,qBAAa,iBAAkB,YAAW,qBAAqB;aA2B3C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,uBAAuB,GAAG,cAAc;aAChD,GAAG,EAAE,GAAG;IA5B1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxC,SAAgB,cAAc,EAAE,OAAO,cAAc,CAAC;IAEtD,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,SAAgB,YAAY,EAAG,YAAY,CAAC;IAC5C,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,iBAAiB,CAAK;IAG9B,OAAO,CAAC,oBAAoB,CAA0C;IACtE,OAAO,CAAC,iBAAiB,CAMvB;gBAGgB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,uBAAuB,GAAG,cAAc,EAChD,GAAG,EAAE,GAAG;IAqD1B,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,uBAAuB;YAQjB,wBAAwB;YA8CxB,iCAAiC;YA+CjC,iCAAiC;YAoHjC,8BAA8B;YA2D9B,yCAAyC;IA4BhD,4BAA4B,CACjC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAkD,GAC1D,IAAI;IAgBP,OAAO,CAAC,yBAAyB;IAW1B,oBAAoB,IAAI;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB;IAWD,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAKzC,eAAe;IAuDrB,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+CrB,sBAAsB,CAAC,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe;IAyB9G,oBAAoB,CACxB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,gBAAgB,EAAE;IAoCxB,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,gBAAgB,EAAE;IAmCxB,8BAA8B,CAClC,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,gBAAgB,EAAE;IA0CxB,oBAAoB,CACxB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,gBAAgB,EAAE;IAoExB,gBAAgB;IAuHtB,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,eAAe;IAiFhB,kBAAkB;;;;;;;;;IAKlB,iBAAiB;;;;;;;;;0BAtrBR,MAAM;+BACD,MAAM;2BACV,MAAM;yBACR,MAAM;4BACH,MAAM;4BACN,MAAM;2BACP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAusBxB"}
|
package/dist/platform.js
CHANGED
|
@@ -523,6 +523,9 @@ class ViessmannPlatform {
|
|
|
523
523
|
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
524
524
|
if (existingAccessory) {
|
|
525
525
|
this.log.info('Restoring existing accessory from cache:', existingAccessory.displayName);
|
|
526
|
+
existingAccessory.context.device = device;
|
|
527
|
+
existingAccessory.context.installation = installation;
|
|
528
|
+
existingAccessory.context.gateway = gateway;
|
|
526
529
|
new boiler_accessory_1.ViessmannBoilerAccessory(this, existingAccessory, installation, gateway, device);
|
|
527
530
|
}
|
|
528
531
|
else {
|
|
@@ -548,6 +551,9 @@ class ViessmannPlatform {
|
|
|
548
551
|
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
549
552
|
if (existingAccessory) {
|
|
550
553
|
this.log.info('Restoring existing accessory from cache:', existingAccessory.displayName);
|
|
554
|
+
existingAccessory.context.device = device;
|
|
555
|
+
existingAccessory.context.installation = installation;
|
|
556
|
+
existingAccessory.context.gateway = gateway;
|
|
551
557
|
new dhw_accessory_1.ViessmannDHWAccessory(this, existingAccessory, installation, gateway, device);
|
|
552
558
|
}
|
|
553
559
|
else {
|
|
@@ -577,6 +583,9 @@ class ViessmannPlatform {
|
|
|
577
583
|
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
578
584
|
if (existingAccessory) {
|
|
579
585
|
this.log.info('Restoring existing accessory from cache:', existingAccessory.displayName);
|
|
586
|
+
existingAccessory.context.device = device;
|
|
587
|
+
existingAccessory.context.installation = installation;
|
|
588
|
+
existingAccessory.context.gateway = gateway;
|
|
580
589
|
new heating_circuit_accessory_1.ViessmannHeatingCircuitAccessory(this, existingAccessory, installation, gateway, device, circuitNumber);
|
|
581
590
|
}
|
|
582
591
|
else {
|
|
@@ -628,6 +637,9 @@ class ViessmannPlatform {
|
|
|
628
637
|
const existingAccessory = this.accessories.find(a => a.UUID === uuid);
|
|
629
638
|
if (existingAccessory) {
|
|
630
639
|
this.log.info('Restoring existing energy accessory from cache:', existingAccessory.displayName);
|
|
640
|
+
existingAccessory.context.device = device;
|
|
641
|
+
existingAccessory.context.installation = installation;
|
|
642
|
+
existingAccessory.context.gateway = gateway;
|
|
631
643
|
new energy_accessory_1.ViessmannEnergyAccessory(this, existingAccessory, installation, gateway, device);
|
|
632
644
|
}
|
|
633
645
|
else {
|
|
@@ -714,7 +726,7 @@ class ViessmannPlatform {
|
|
|
714
726
|
}
|
|
715
727
|
else {
|
|
716
728
|
handlersSkipped++;
|
|
717
|
-
this.log.
|
|
729
|
+
this.log.debug(`βοΈ "${accessory.displayName}" β updateHandler not set, skipping`);
|
|
718
730
|
}
|
|
719
731
|
}
|
|
720
732
|
catch (error) {
|
package/dist/settings.d.ts
CHANGED
|
@@ -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.
|
|
12
|
+
export declare const PLUGIN_VERSION = "2.0.40";
|
|
13
13
|
/**
|
|
14
14
|
* Default configuration values
|
|
15
15
|
*/
|
package/dist/settings.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-viessmann-vicare",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.40",
|
|
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": {
|
|
@@ -59,4 +59,4 @@
|
|
|
59
59
|
"optionalDependencies": {
|
|
60
60
|
"fakegato-history": "^0.6.7"
|
|
61
61
|
}
|
|
62
|
-
}
|
|
62
|
+
}
|