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.
@@ -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 eveTotalChar;
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
- /** Fetch latest data from Sensus Analytics and push updates to HomeKit. */
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
@@ -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,EAAc,MAAM,aAAa,CAAC;AAQ7D,qBAAa,yBAAyB;IAYlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAb5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAE9C,OAAO,CAAC,QAAQ,CAA2B;gBAGxB,QAAQ,EAAE,uBAAuB,EACjC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,kBAAkB;IA6DhD;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAwB5B,wDAAwD;IACxD,OAAO,CAAC,qBAAqB;IAY7B,2EAA2E;YAC7D,IAAI;CAoCnB"}
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 for HomeKit custom characteristic UUIDs for water meters
5
- const EVE_UUID_WATER_CONSUMPTION = 'E863F10D-079E-48FF-8F27-9C2605A29F52'; // daily usage
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
- // ── Eve Custom Characteristics ────────────────────────────────────────
39
- // These are shown in the Eve for HomeKit app as consumption graphs.
40
- // They are attached to the LeakSensor service so they share one accessory tile.
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
- this.eveTotalChar = this.addEveCharacteristic('Total Water Consumption', EVE_UUID_TOTAL_WATER, "float" /* hap.Formats.FLOAT */, ["ev" /* hap.Perms.NOTIFY */, "pr" /* hap.Perms.PAIRED_READ */], 0, 1000000000, 0.001);
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
- /** Fetch latest data from Sensus Analytics and push updates to HomeKit. */
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
- // Eve consumption characteristics
112
+ // Update current consumption value
89
113
  this.eveConsumptionChar.updateValue(daily.dailyUsage);
90
- this.eveTotalChar.updateValue(daily.odometer);
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` : ''));
@@ -1 +1 @@
1
- {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
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",
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": {