homebridge-sensus 1.0.4 → 1.1.0
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/dist/accessory.d.ts +4 -7
- package/dist/accessory.d.ts.map +1 -1
- package/dist/accessory.js +44 -17
- package/dist/accessory.js.map +1 -1
- package/package.json +2 -1
package/dist/accessory.d.ts
CHANGED
|
@@ -9,17 +9,14 @@ export declare class SensusWaterMeterAccessory {
|
|
|
9
9
|
private readonly leakThreshold;
|
|
10
10
|
private readonly pollIntervalMs;
|
|
11
11
|
private readonly eveConsumptionChar;
|
|
12
|
-
private readonly
|
|
12
|
+
private readonly historyService;
|
|
13
13
|
private lastData;
|
|
14
|
+
private lastLoggedTimestamps;
|
|
14
15
|
constructor(platform: SensusAnalyticsPlatform, accessory: PlatformAccessory, apiClient: SensusAnalyticsApi);
|
|
15
|
-
/**
|
|
16
|
-
* Creates and registers a custom Characteristic on the LeakSensor service.
|
|
17
|
-
* If the characteristic already exists (restored from cache), it is returned as-is.
|
|
18
|
-
*/
|
|
19
16
|
private addEveCharacteristic;
|
|
20
|
-
/** Called by HomeKit to read the current leak state. */
|
|
21
17
|
private handleLeakDetectedGet;
|
|
22
|
-
/**
|
|
18
|
+
/** Log hourly entries to fakegato, skipping already-logged timestamps. */
|
|
19
|
+
private logHourlyHistory;
|
|
23
20
|
private poll;
|
|
24
21
|
}
|
|
25
22
|
//# sourceMappingURL=accessory.d.ts.map
|
package/dist/accessory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessory.d.ts","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgD,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"accessory.d.ts","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgD,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,aAAa,CAAC;AAO1E,qBAAa,yBAAyB;IAelC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAhB5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IAIpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAM;IAErC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,oBAAoB,CAA0B;gBAGnC,QAAQ,EAAE,uBAAuB,EACjC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,kBAAkB;IAkEhD,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,qBAAqB;IAY7B,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB;YAwBV,IAAI;CAwCnB"}
|
package/dist/accessory.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SensusWaterMeterAccessory = void 0;
|
|
4
|
-
// Eve
|
|
5
|
-
const EVE_UUID_WATER_CONSUMPTION = 'E863F10D-079E-48FF-8F27-9C2605A29F52';
|
|
6
|
-
const EVE_UUID_TOTAL_WATER = 'E863F10C-079E-48FF-8F27-9C2605A29F52'; // odometer / total
|
|
4
|
+
// Eve custom characteristic UUID for current consumption
|
|
5
|
+
const EVE_UUID_WATER_CONSUMPTION = 'E863F10D-079E-48FF-8F27-9C2605A29F52';
|
|
7
6
|
const DEFAULT_POLL_INTERVAL_MINUTES = 30;
|
|
8
7
|
class SensusWaterMeterAccessory {
|
|
9
8
|
constructor(platform, accessory, apiClient) {
|
|
@@ -11,6 +10,7 @@ class SensusWaterMeterAccessory {
|
|
|
11
10
|
this.accessory = accessory;
|
|
12
11
|
this.apiClient = apiClient;
|
|
13
12
|
this.lastData = null;
|
|
13
|
+
this.lastLoggedTimestamps = new Set();
|
|
14
14
|
const { hap } = platform.api;
|
|
15
15
|
const { Service: Svc, Characteristic: Char } = platform;
|
|
16
16
|
this.leakThreshold = platform.config.leakThreshold ?? 150;
|
|
@@ -25,7 +25,6 @@ class SensusWaterMeterAccessory {
|
|
|
25
25
|
.setCharacteristic(Char.Model, 'Smart Water Meter')
|
|
26
26
|
.setCharacteristic(Char.SerialNumber, accessory.context.meterNumber ?? 'Unknown');
|
|
27
27
|
// ── Leak Sensor (primary HomeKit service) ─────────────────────────────
|
|
28
|
-
// Visible in Apple Home app as a leak sensor tile with alert notifications
|
|
29
28
|
this.leakService =
|
|
30
29
|
this.accessory.getService(Svc.LeakSensor) ?? this.accessory.addService(Svc.LeakSensor);
|
|
31
30
|
this.leakService.setCharacteristic(Char.Name, accessory.displayName);
|
|
@@ -35,19 +34,25 @@ class SensusWaterMeterAccessory {
|
|
|
35
34
|
this.leakService
|
|
36
35
|
.getCharacteristic(Char.StatusActive)
|
|
37
36
|
.onGet(() => true);
|
|
38
|
-
// ──
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
// ── Remove old Total Water characteristic if cached ───────────────────
|
|
38
|
+
const oldTotalChar = this.leakService.characteristics.find((c) => c.UUID === 'E863F10C-079E-48FF-8F27-9C2605A29F52');
|
|
39
|
+
if (oldTotalChar) {
|
|
40
|
+
this.leakService.removeCharacteristic(oldTotalChar);
|
|
41
|
+
}
|
|
42
|
+
// ── Eve Consumption Characteristic ────────────────────────────────────
|
|
41
43
|
this.eveConsumptionChar = this.addEveCharacteristic('Water Consumption', EVE_UUID_WATER_CONSUMPTION, "float" /* hap.Formats.FLOAT */, ["ev" /* hap.Perms.NOTIFY */, "pr" /* hap.Perms.PAIRED_READ */], 0, 1000000, 0.001);
|
|
42
|
-
|
|
44
|
+
// ── Fakegato History Service ──────────────────────────────────────────
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
46
|
+
const FakeGatoHistoryService = require('fakegato-history')(platform.api);
|
|
47
|
+
this.historyService = new FakeGatoHistoryService('energy', this.accessory, {
|
|
48
|
+
log: platform.log,
|
|
49
|
+
storage: 'fs',
|
|
50
|
+
size: 4032,
|
|
51
|
+
});
|
|
43
52
|
// ── Start polling ─────────────────────────────────────────────────────
|
|
44
53
|
this.poll();
|
|
45
54
|
setInterval(() => this.poll(), this.pollIntervalMs);
|
|
46
55
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Creates and registers a custom Characteristic on the LeakSensor service.
|
|
49
|
-
* If the characteristic already exists (restored from cache), it is returned as-is.
|
|
50
|
-
*/
|
|
51
56
|
addEveCharacteristic(displayName, uuid, format, perms, minValue, maxValue, minStep) {
|
|
52
57
|
const { hap } = this.platform.api;
|
|
53
58
|
const existing = this.leakService.characteristics.find((c) => c.UUID === uuid);
|
|
@@ -61,7 +66,6 @@ class SensusWaterMeterAccessory {
|
|
|
61
66
|
this.leakService.addCharacteristic(char);
|
|
62
67
|
return char;
|
|
63
68
|
}
|
|
64
|
-
/** Called by HomeKit to read the current leak state. */
|
|
65
69
|
handleLeakDetectedGet() {
|
|
66
70
|
const { LEAK_DETECTED, LEAK_NOT_DETECTED } = this.platform.Characteristic.LeakDetected;
|
|
67
71
|
if (!this.lastData) {
|
|
@@ -71,7 +75,27 @@ class SensusWaterMeterAccessory {
|
|
|
71
75
|
? LEAK_DETECTED
|
|
72
76
|
: LEAK_NOT_DETECTED;
|
|
73
77
|
}
|
|
74
|
-
/**
|
|
78
|
+
/** Log hourly entries to fakegato, skipping already-logged timestamps. */
|
|
79
|
+
logHourlyHistory(hourly) {
|
|
80
|
+
for (const entry of hourly) {
|
|
81
|
+
if (this.lastLoggedTimestamps.has(entry.timestamp)) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
this.historyService.addEntry({
|
|
85
|
+
time: Math.floor(entry.timestamp / 1000),
|
|
86
|
+
power: entry.usage,
|
|
87
|
+
});
|
|
88
|
+
this.lastLoggedTimestamps.add(entry.timestamp);
|
|
89
|
+
}
|
|
90
|
+
// Keep only the last 48 hours of timestamps to avoid unbounded growth
|
|
91
|
+
if (this.lastLoggedTimestamps.size > 48) {
|
|
92
|
+
const sorted = [...this.lastLoggedTimestamps].sort((a, b) => a - b);
|
|
93
|
+
const toRemove = sorted.slice(0, sorted.length - 48);
|
|
94
|
+
for (const ts of toRemove) {
|
|
95
|
+
this.lastLoggedTimestamps.delete(ts);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
75
99
|
async poll() {
|
|
76
100
|
this.platform.log.debug('Sensus Analytics: polling for new data...');
|
|
77
101
|
const data = await this.apiClient.fetchData();
|
|
@@ -85,14 +109,17 @@ class SensusWaterMeterAccessory {
|
|
|
85
109
|
const isLeaking = daily.dailyUsage > this.leakThreshold;
|
|
86
110
|
// Push updates to HomeKit
|
|
87
111
|
this.leakService.updateCharacteristic(this.platform.Characteristic.LeakDetected, isLeaking ? LEAK_DETECTED : LEAK_NOT_DETECTED);
|
|
88
|
-
//
|
|
112
|
+
// Update current consumption value
|
|
89
113
|
this.eveConsumptionChar.updateValue(daily.dailyUsage);
|
|
90
|
-
|
|
114
|
+
// Log hourly data to fakegato history for Eve graphs
|
|
115
|
+
if (hourly.length > 0) {
|
|
116
|
+
this.logHourlyHistory(hourly);
|
|
117
|
+
this.platform.log.debug(`Logged ${hourly.length} hourly entries to history`);
|
|
118
|
+
}
|
|
91
119
|
// Log a summary
|
|
92
120
|
const lastHour = hourly.at(-1);
|
|
93
121
|
this.platform.log.info(`[${this.accessory.displayName}] ` +
|
|
94
122
|
`daily=${daily.dailyUsage} ${daily.usageUnit} | ` +
|
|
95
|
-
`odometer=${daily.odometer} ${daily.usageUnit} | ` +
|
|
96
123
|
`billing=${daily.billingUsage} ${daily.usageUnit} | ` +
|
|
97
124
|
`leak=${isLeaking}` +
|
|
98
125
|
(lastHour ? ` | lastHourUsage=${lastHour.usage} | temp=${lastHour.temp}°F` : ''));
|
package/dist/accessory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":";;;AAIA
|
|
1
|
+
{"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":";;;AAIA,yDAAyD;AACzD,MAAM,0BAA0B,GAAG,sCAAsC,CAAC;AAE1E,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEzC,MAAa,yBAAyB;IAcpC,YACmB,QAAiC,EACjC,SAA4B,EAC5B,SAA6B;QAF7B,aAAQ,GAAR,QAAQ,CAAyB;QACjC,cAAS,GAAT,SAAS,CAAmB;QAC5B,cAAS,GAAT,SAAS,CAAoB;QANxC,aAAQ,GAAsB,IAAI,CAAC;QACnC,yBAAoB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAOpD,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC;QAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAExD,IAAI,CAAC,aAAa,GAAI,QAAQ,CAAC,MAAM,CAAC,aAAoC,IAAI,GAAG,CAAC;QAClF,IAAI,CAAC,cAAc;YACjB,CAAE,QAAQ,CAAC,MAAM,CAAC,YAAmC,IAAI,6BAA6B,CAAC;gBACvF,EAAE;gBACF,IAAI,CAAC;QAEP,yEAAyE;QACzE,IAAI,CAAC,SAAS;aACX,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAE;aACrC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;aAC9C,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC;aAClD,iBAAiB,CAChB,IAAI,CAAC,YAAY,EAChB,SAAS,CAAC,OAAO,CAAC,WAAkC,IAAI,SAAS,CACnE,CAAC;QAEJ,yEAAyE;QACzE,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEzF,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAErE,IAAI,CAAC,WAAW;aACb,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC,WAAW;aACb,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAErB,yEAAyE;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sCAAsC,CACzD,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CACjD,mBAAmB,EACnB,0BAA0B,mCAE1B,+DAAyC,EACzC,CAAC,EAAE,OAAS,EAAE,KAAK,CACpB,CAAC;QAEF,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;YACzE,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,yEAAyE;QACzE,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC;IAEO,oBAAoB,CAC1B,WAAmB,EACnB,IAAY,EACZ,MAAc,EACd,KAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,OAAe;QAEf,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,MAAM,KAAK,GAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB;QAC3B,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAEvF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa;YACxD,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,iBAAiB,CAAC;IACxB,CAAC;IAED,0EAA0E;IAClE,gBAAgB,CAAC,MAAqB;QAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBACxC,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;YACrD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAEvF,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;QAExD,0BAA0B;QAC1B,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EACzC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAC9C,CAAC;QAEF,mCAAmC;QACnC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtD,qDAAqD;QACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAC/E,CAAC;QAED,gBAAgB;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI;YAClC,SAAS,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK;YACjD,WAAW,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,KAAK;YACrD,QAAQ,SAAS,EAAE;YACnB,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACjF,CAAC;IACJ,CAAC;CACF;AAxLD,8DAwLC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-sensus",
|
|
3
3
|
"displayName": "Homebridge Sensus",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"description": "Homebridge plugin for Sensus Analytics water meters",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"axios": "^1.6.0",
|
|
38
38
|
"axios-cookiejar-support": "^4.0.7",
|
|
39
|
+
"fakegato-history": "^0.6.7",
|
|
39
40
|
"tough-cookie": "^4.1.3"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|