homebridge-myleviton 3.6.0 → 3.7.1

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 CHANGED
@@ -31,10 +31,11 @@ Control your **My Leviton Decora Smart** WiFi devices through Apple HomeKit usin
31
31
  - **State Persistence** — Faster startup with cached device data
32
32
  - **Token Auto-Refresh** — Seamless authentication management
33
33
  - **Connectivity Sensor** *(optional)* — Exposes a HomeKit contact sensor that reports whether the plugin can reach the Leviton cloud, so you can alert or automate on outages
34
+ - **Diagnostics** *(optional)* — Opt-in health/activity heartbeat, boot/shutdown snapshots, and degraded/recovered transitions logged to Homebridge (logs/JSON only, never in HomeKit)
34
35
 
35
36
  ### Quality
36
37
  <!-- Canonical test count lives here only; keep other docs number-free to avoid 5-place updates. -->
37
- - **503 Tests** — Comprehensive test suite with 95%+ code coverage
38
+ - **547 Tests** — Comprehensive test suite with 95%+ code coverage
38
39
  - **Child Bridge Support** — Run as isolated bridge for maximum stability
39
40
  - **Flexible Logging** — Debug, info, warn, error levels + JSON structured logs
40
41
  - **No Analytics** — Zero tracking or data collection
@@ -100,6 +101,7 @@ Your devices will appear in the Home app automatically.
100
101
  | `structuredLogs` | | Output logs as JSON for log aggregation tools |
101
102
  | `connectivitySensor` | | Expose a HomeKit contact sensor for Leviton cloud reachability (default: off) |
102
103
  | `connectivitySensorName` | | Name for the connectivity sensor (default: "Leviton Cloud") |
104
+ | `diagnosticsInterval` | | Seconds between diagnostics health heartbeats in the logs; `0` disables (default), else `30`–`3600` |
103
105
 
104
106
  ## Not Working?
105
107
 
@@ -102,6 +102,15 @@
102
102
  "condition": {
103
103
  "functionBody": "return model.connectivitySensor === true;"
104
104
  }
105
+ },
106
+ "diagnosticsInterval": {
107
+ "title": "Diagnostics Heartbeat Interval",
108
+ "type": "integer",
109
+ "default": 0,
110
+ "minimum": 0,
111
+ "maximum": 3600,
112
+ "placeholder": 0,
113
+ "description": "Seconds between diagnostics health heartbeats logged to Homebridge (logs/JSON only — not exposed in HomeKit). Set to 0 to disable, or 30–3600 to enable. Pairs well with Structured Logging."
105
114
  }
106
115
  }
107
116
  },
@@ -171,7 +180,8 @@
171
180
  "expanded": false,
172
181
  "items": [
173
182
  "structuredLogs",
174
- "connectionTimeout"
183
+ "connectionTimeout",
184
+ "diagnosticsInterval"
175
185
  ]
176
186
  }
177
187
  ]
@@ -19,6 +19,21 @@ export interface ClientLogger {
19
19
  info?: (message: string) => void;
20
20
  warn?: (message: string) => void;
21
21
  }
22
+ /**
23
+ * A single request measurement reported to the optional `metrics` hook.
24
+ */
25
+ export interface RequestMetric {
26
+ /** Wall-clock duration of the logical request in milliseconds. */
27
+ durationMs: number;
28
+ /** Whether the request ultimately succeeded. */
29
+ ok: boolean;
30
+ /**
31
+ * Whether a network fetch was actually attempted. False for pre-flight
32
+ * rejections (circuit breaker open, rate-limit exceeded), which return in
33
+ * ~0ms and would otherwise skew latency percentiles.
34
+ */
35
+ networked: boolean;
36
+ }
22
37
  /**
23
38
  * API configuration
24
39
  */
@@ -35,6 +50,17 @@ export interface ApiClientConfig {
35
50
  maxRetryAttempts: number;
36
51
  /** Optional logger for resilience events (circuit breaker, rate limiting) */
37
52
  logger?: ClientLogger;
53
+ /**
54
+ * Optional metrics hook fired around EVERY logical request, including
55
+ * timeouts, network errors, circuit-breaker rejections, and rate-limit
56
+ * rejections. Cache hits are not reported (no request is made).
57
+ */
58
+ metrics?: (sample: RequestMetric) => void;
59
+ /**
60
+ * Optional hook fired whenever the circuit breaker transitions into the open
61
+ * state, so observers can count trips at the moment they happen.
62
+ */
63
+ onCircuitOpen?: () => void;
38
64
  }
39
65
  /**
40
66
  * Default API configuration
@@ -60,9 +86,17 @@ export declare class LevitonApiClient {
60
86
  */
61
87
  private request;
62
88
  /**
63
- * Execute the actual request
89
+ * Execute the actual request, reporting a metrics sample around the full
90
+ * logical request (including breaker/rate-limit rejections, timeouts, and
91
+ * errors) when a `metrics` hook is configured.
64
92
  */
65
93
  private executeRequest;
94
+ /**
95
+ * Run a single logical request with circuit breaker, rate limiting, retry,
96
+ * and caching protections. `markNetworked` is invoked once the request clears
97
+ * the pre-flight gates and is about to hit the network.
98
+ */
99
+ private runRequest;
66
100
  /**
67
101
  * Performs a single fetch + parse cycle, translating low-level failures into
68
102
  * typed errors. Intentionally free of circuit-breaker, rate-limit, and cache
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,7 @@ class LevitonApiClient {
100
100
  const message = `Circuit breaker ${from} -> ${to}`;
101
101
  if (to === circuit_breaker_1.CircuitState.OPEN) {
102
102
  this.config.logger?.warn?.(message);
103
+ this.config.onCircuitOpen?.();
103
104
  }
104
105
  else {
105
106
  this.config.logger?.info?.(message);
@@ -128,9 +129,34 @@ class LevitonApiClient {
128
129
  return this.executeRequest(url, options, requestOptions);
129
130
  }
130
131
  /**
131
- * Execute the actual request
132
+ * Execute the actual request, reporting a metrics sample around the full
133
+ * logical request (including breaker/rate-limit rejections, timeouts, and
134
+ * errors) when a `metrics` hook is configured.
132
135
  */
133
136
  async executeRequest(url, options, requestOptions) {
137
+ if (!this.config.metrics) {
138
+ return this.runRequest(url, options, requestOptions);
139
+ }
140
+ const startTime = Date.now();
141
+ let ok = false;
142
+ let networked = false;
143
+ try {
144
+ const result = await this.runRequest(url, options, requestOptions, () => {
145
+ networked = true;
146
+ });
147
+ ok = true;
148
+ return result;
149
+ }
150
+ finally {
151
+ this.config.metrics({ durationMs: Date.now() - startTime, ok, networked });
152
+ }
153
+ }
154
+ /**
155
+ * Run a single logical request with circuit breaker, rate limiting, retry,
156
+ * and caching protections. `markNetworked` is invoked once the request clears
157
+ * the pre-flight gates and is about to hit the network.
158
+ */
159
+ async runRequest(url, options, requestOptions, markNetworked = () => { }) {
134
160
  const { useCache = false, cacheKey = url, bypassCircuitBreaker = false, debugLog = () => { }, } = requestOptions;
135
161
  const method = options.method || 'GET';
136
162
  // Check circuit breaker (gated once per logical request, never retried)
@@ -149,6 +175,8 @@ class LevitonApiClient {
149
175
  if (!bypassCircuitBreaker && this.circuitBreaker.state === circuit_breaker_1.CircuitState.HALF_OPEN) {
150
176
  this.circuitBreaker.trackHalfOpenRequest();
151
177
  }
178
+ // Pre-flight gates cleared; a network fetch is about to be attempted.
179
+ markNetworked();
152
180
  try {
153
181
  // Retry only transient failures (network, timeout, 5xx). Auth (401/403)
154
182
  // and rate-limit (429) errors are surfaced immediately so the platform's
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ export declare class LevitonWebSocket {
62
62
  private devices;
63
63
  private callback;
64
64
  private reconnectAttempt;
65
+ private lastInboundAt;
65
66
  private timers;
66
67
  private reconnectTimer;
67
68
  private pingTimer;
@@ -144,6 +145,9 @@ export declare class LevitonWebSocket {
144
145
  isConnecting: boolean;
145
146
  isClosed: boolean;
146
147
  reconnectAttempt: number;
148
+ lastInboundAt: number | null;
149
+ lastEventAgeSec: number | null;
150
+ subscribed: number;
147
151
  };
148
152
  }
149
153
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,9 @@ class LevitonWebSocket {
76
76
  devices;
77
77
  callback;
78
78
  reconnectAttempt = 0;
79
+ // Timestamp of the most recent inbound frame (any message or pong). Used as a
80
+ // liveness signal for diagnostics; null until the first frame arrives.
81
+ lastInboundAt = null;
79
82
  timers = [];
80
83
  reconnectTimer = null;
81
84
  pingTimer = null;
@@ -225,8 +228,13 @@ class LevitonWebSocket {
225
228
  this.logger.error(`WebSocket error: ${error.message || 'Unknown error'}`);
226
229
  });
227
230
  this.ws.on('message', (data) => {
231
+ this.lastInboundAt = Date.now();
228
232
  this.handleMessage(data.toString());
229
233
  });
234
+ // Pongs are inbound liveness too, even when no device updates are flowing.
235
+ this.ws.on('pong', () => {
236
+ this.lastInboundAt = Date.now();
237
+ });
230
238
  }
231
239
  /**
232
240
  * Handle incoming message
@@ -410,6 +418,9 @@ class LevitonWebSocket {
410
418
  isConnecting: this.isConnecting,
411
419
  isClosed: this.isClosed,
412
420
  reconnectAttempt: this.reconnectAttempt,
421
+ lastInboundAt: this.lastInboundAt,
422
+ lastEventAgeSec: this.lastInboundAt === null ? null : Math.round((Date.now() - this.lastInboundAt) / 1000),
423
+ subscribed: this.devices.length,
413
424
  };
414
425
  }
415
426
  }
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Copyright (c) 2026 tbaur
3
+ *
4
+ * Licensed under the Apache License, Version 2.0
5
+ * See LICENSE file for full license text
6
+ *
7
+ * @fileoverview Opt-in diagnostics collector for health/activity metrics.
8
+ *
9
+ * One collector is owned per platform instance (account isolation, mirroring the
10
+ * per-instance client/breaker/limiter/cache). It accumulates cumulative counters
11
+ * and a bounded latency window, and turns them into:
12
+ * - `buildHeartbeat()` — per-interval counter deltas + absolute gauges
13
+ * - `snapshot()` — session cumulative totals + redacted config echo
14
+ * - `rollup()` — `{ health, reasons[] }` health classification
15
+ *
16
+ * It only ever reads in-memory state via the supplied `readers`; it never
17
+ * performs any network I/O.
18
+ */
19
+ import type { DiagnosticsSnapshot, LevitonConfig } from '../types';
20
+ /** Subset of `client.getStatus()` the collector relies on. */
21
+ export interface ClientStatusLike {
22
+ circuitBreaker: {
23
+ state: string;
24
+ };
25
+ rateLimiter: {
26
+ remaining: number;
27
+ };
28
+ cache: {
29
+ size: number;
30
+ hits: number;
31
+ misses: number;
32
+ };
33
+ }
34
+ /** Subset of `ws.getStatus()` the collector relies on. */
35
+ export interface WebSocketStatusLike {
36
+ isConnected: boolean;
37
+ isConnecting: boolean;
38
+ isClosed: boolean;
39
+ lastEventAgeSec: number | null;
40
+ subscribed: number;
41
+ }
42
+ /** Absolute device gauges, computed by the platform from its accessories. */
43
+ export interface DeviceGauges {
44
+ total: number;
45
+ on: number;
46
+ byType: Record<string, number>;
47
+ excluded: number;
48
+ }
49
+ /**
50
+ * Accessors the collector calls to read live in-memory state. All are synchronous
51
+ * and must never block on the network.
52
+ */
53
+ export interface DiagnosticsReaders {
54
+ clientStatus: () => ClientStatusLike;
55
+ wsStatus: () => WebSocketStatusLike | null;
56
+ devices: () => DeviceGauges;
57
+ tokenExpiresInSec: () => number | null;
58
+ tokenLastRefreshAt: () => number | null;
59
+ tokenRefreshFailureActive: () => boolean;
60
+ pollingCadenceSec: () => number;
61
+ }
62
+ interface CollectorOptions {
63
+ pluginVersion: string;
64
+ config: LevitonConfig;
65
+ /** Injectable clock for deterministic tests. Defaults to `Date.now`. */
66
+ now?: () => number;
67
+ }
68
+ /**
69
+ * Health classification result.
70
+ */
71
+ export interface HealthRollup {
72
+ health: 'healthy' | 'degraded';
73
+ reasons: string[];
74
+ }
75
+ /**
76
+ * Accumulates diagnostics counters and renders heartbeat/snapshot reports.
77
+ */
78
+ export declare class DiagnosticsCollector {
79
+ private readonly now;
80
+ private readonly startedAtMs;
81
+ private readonly pluginVersion;
82
+ private readonly configEcho;
83
+ private apiRequests;
84
+ private apiErrors;
85
+ private pollOk;
86
+ private pollFailed;
87
+ private wsReconnects;
88
+ private breakerTrips;
89
+ private throttles;
90
+ private tokenRefreshes;
91
+ private commandsSent;
92
+ private externalChanges;
93
+ private retries;
94
+ private lastTripAt;
95
+ private lastPollDurationMs;
96
+ private readonly latencies;
97
+ private readonly recentOutcomes;
98
+ private marker;
99
+ constructor(options: CollectorOptions);
100
+ /**
101
+ * Record a single API request outcome and its wall-clock duration. Fires for
102
+ * every request, including timeouts and errors (ok === false). Latency is only
103
+ * sampled when a network fetch was actually attempted (`networked`), so
104
+ * instant pre-flight rejections (breaker open, rate limited) don't skew
105
+ * percentiles.
106
+ */
107
+ apiRequest(latencyMs: number, ok: boolean, networked?: boolean): void;
108
+ /**
109
+ * Record the result of a polling cycle: how many device fetches succeeded,
110
+ * how many failed, and the total cycle duration.
111
+ */
112
+ pollCycle(ok: number, failed: number, durationMs: number): void;
113
+ /** Record a WebSocket reconnection (live channel recovered). */
114
+ wsReconnect(): void;
115
+ /** Record a circuit-breaker trip (transition into the open state). */
116
+ breakerTrip(): void;
117
+ /** Record a write rejected by the client-side rate limiter. */
118
+ throttle(): void;
119
+ /** Record a successful token refresh. */
120
+ tokenRefresh(): void;
121
+ /** Record a HomeKit-originated command (power/brightness write). */
122
+ command(): void;
123
+ /** Record a device state change that did not originate from HomeKit. */
124
+ externalChange(): void;
125
+ /** Record a retry attempt (e.g. token-refresh-and-retry). */
126
+ retry(): void;
127
+ /**
128
+ * Nearest-rank percentile (0..100) over the bounded recent-latency window.
129
+ * Returns 0 when no samples are available.
130
+ */
131
+ percentile(p: number): number;
132
+ /**
133
+ * Classify current health from live readers. Health is degraded if any of:
134
+ * circuit breaker open; WebSocket disconnected for longer than the threshold;
135
+ * recent API error rate over threshold with a minimum sample size; or token
136
+ * refresh currently in its failure cooldown.
137
+ */
138
+ rollup(readers: DiagnosticsReaders): HealthRollup;
139
+ /**
140
+ * Build a heartbeat report: counters are deltas since the previous heartbeat
141
+ * (the marker is then advanced) and everything else is an absolute gauge.
142
+ */
143
+ buildHeartbeat(readers: DiagnosticsReaders): DiagnosticsSnapshot;
144
+ /**
145
+ * Build a session-cumulative snapshot (no marker advance), including the
146
+ * redacted config echo. Used for boot/shutdown reports.
147
+ */
148
+ snapshot(msg: string, readers: DiagnosticsReaders): DiagnosticsSnapshot;
149
+ /** Seconds since the collector was created. */
150
+ private uptimeSec;
151
+ private captureCounters;
152
+ private buildReport;
153
+ }
154
+ export {};
155
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/collector.ts"],"names":[],"mappings":"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"}