homebridge-myleviton 3.5.0 → 3.7.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/README.md +7 -1
- package/config.schema.json +41 -1
- package/dist/api/client.d.ts +35 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +29 -1
- package/dist/api/client.js.map +1 -1
- package/dist/api/websocket.d.ts +10 -0
- package/dist/api/websocket.d.ts.map +1 -1
- package/dist/api/websocket.js +14 -0
- package/dist/api/websocket.js.map +1 -1
- package/dist/diagnostics/collector.d.ts +155 -0
- package/dist/diagnostics/collector.d.ts.map +1 -0
- package/dist/diagnostics/collector.js +342 -0
- package/dist/diagnostics/collector.js.map +1 -0
- package/dist/platform.d.ts +69 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +353 -1
- package/dist/platform.js.map +1 -1
- package/dist/types/index.d.ts +75 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/sanitizers.d.ts +2 -1
- package/dist/utils/sanitizers.d.ts.map +1 -1
- package/dist/utils/sanitizers.js +35 -28
- package/dist/utils/sanitizers.js.map +1 -1
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +10 -0
- package/dist/utils/validators.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,9 +30,12 @@ Control your **My Leviton Decora Smart** WiFi devices through Apple HomeKit usin
|
|
|
30
30
|
- **Account Isolation** — Each configured account has its own circuit breaker, rate limiter, and cache
|
|
31
31
|
- **State Persistence** — Faster startup with cached device data
|
|
32
32
|
- **Token Auto-Refresh** — Seamless authentication management
|
|
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)
|
|
33
35
|
|
|
34
36
|
### Quality
|
|
35
|
-
|
|
37
|
+
<!-- Canonical test count lives here only; keep other docs number-free to avoid 5-place updates. -->
|
|
38
|
+
- **547 Tests** — Comprehensive test suite with 95%+ code coverage
|
|
36
39
|
- **Child Bridge Support** — Run as isolated bridge for maximum stability
|
|
37
40
|
- **Flexible Logging** — Debug, info, warn, error levels + JSON structured logs
|
|
38
41
|
- **No Analytics** — Zero tracking or data collection
|
|
@@ -96,6 +99,9 @@ Your devices will appear in the Home app automatically.
|
|
|
96
99
|
| `excludedModels` | | Device models to skip, e.g. `["DW15P"]` |
|
|
97
100
|
| `excludedSerials` | | Device serials to skip |
|
|
98
101
|
| `structuredLogs` | | Output logs as JSON for log aggregation tools |
|
|
102
|
+
| `connectivitySensor` | | Expose a HomeKit contact sensor for Leviton cloud reachability (default: off) |
|
|
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` |
|
|
99
105
|
|
|
100
106
|
## Not Working?
|
|
101
107
|
|
package/config.schema.json
CHANGED
|
@@ -86,6 +86,34 @@
|
|
|
86
86
|
"type": "boolean",
|
|
87
87
|
"default": false,
|
|
88
88
|
"description": "Output logs in JSON format for integration with log management tools like Datadog, Splunk, or ELK stack."
|
|
89
|
+
},
|
|
90
|
+
"connectivitySensor": {
|
|
91
|
+
"title": "Expose Cloud Connectivity Sensor",
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"default": false,
|
|
94
|
+
"description": "Adds a HomeKit contact sensor that reports whether the plugin can reach the Leviton cloud. Use it to get notified or trigger automations when connectivity is lost."
|
|
95
|
+
},
|
|
96
|
+
"connectivitySensorName": {
|
|
97
|
+
"title": "Connectivity Sensor Name",
|
|
98
|
+
"type": "string",
|
|
99
|
+
"default": "Leviton Cloud",
|
|
100
|
+
"placeholder": "Leviton Cloud",
|
|
101
|
+
"description": "Name shown in HomeKit for the connectivity sensor.",
|
|
102
|
+
"condition": {
|
|
103
|
+
"functionBody": "return model.connectivitySensor === true;"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"diagnosticsInterval": {
|
|
107
|
+
"title": "Diagnostics Heartbeat Interval",
|
|
108
|
+
"type": "integer",
|
|
109
|
+
"default": 0,
|
|
110
|
+
"minimum": 0,
|
|
111
|
+
"maximum": 3600,
|
|
112
|
+
"oneOf": [
|
|
113
|
+
{ "title": "Disabled", "const": 0 },
|
|
114
|
+
{ "minimum": 30, "maximum": 3600 }
|
|
115
|
+
],
|
|
116
|
+
"description": "Seconds between diagnostics health heartbeats logged to Homebridge (logs/JSON only — not exposed in HomeKit). 0 disables diagnostics; otherwise use 30–3600 (values 1–29 are rejected). Pairs well with Structured Logging."
|
|
89
117
|
}
|
|
90
118
|
}
|
|
91
119
|
},
|
|
@@ -136,6 +164,17 @@
|
|
|
136
164
|
}
|
|
137
165
|
]
|
|
138
166
|
},
|
|
167
|
+
{
|
|
168
|
+
"type": "fieldset",
|
|
169
|
+
"title": "Connectivity Sensor",
|
|
170
|
+
"description": "Optionally expose a HomeKit sensor that tracks Leviton cloud connectivity.",
|
|
171
|
+
"expandable": true,
|
|
172
|
+
"expanded": false,
|
|
173
|
+
"items": [
|
|
174
|
+
"connectivitySensor",
|
|
175
|
+
"connectivitySensorName"
|
|
176
|
+
]
|
|
177
|
+
},
|
|
139
178
|
{
|
|
140
179
|
"type": "fieldset",
|
|
141
180
|
"title": "Advanced Options",
|
|
@@ -144,7 +183,8 @@
|
|
|
144
183
|
"expanded": false,
|
|
145
184
|
"items": [
|
|
146
185
|
"structuredLogs",
|
|
147
|
-
"connectionTimeout"
|
|
186
|
+
"connectionTimeout",
|
|
187
|
+
"diagnosticsInterval"
|
|
148
188
|
]
|
|
149
189
|
}
|
|
150
190
|
]
|
package/dist/api/client.d.ts
CHANGED
|
@@ -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
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAKvC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,EACT,UAAU,EAEX,MAAM,UAAU,CAAA;AAEjB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,CAAA;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.js
CHANGED
|
@@ -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
|
package/dist/api/client.js.map
CHANGED
|
@@ -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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"}
|
package/dist/api/websocket.d.ts
CHANGED
|
@@ -28,6 +28,12 @@ export interface WebSocketConfig {
|
|
|
28
28
|
maxReconnectDelay: number;
|
|
29
29
|
/** Ping interval in ms to keep connection alive */
|
|
30
30
|
pingInterval: number;
|
|
31
|
+
/**
|
|
32
|
+
* Optional callback invoked when the live connection state changes:
|
|
33
|
+
* `true` once authenticated and ready, `false` on a non-user close.
|
|
34
|
+
* Used to surface real-time connectivity (e.g. a HomeKit status sensor).
|
|
35
|
+
*/
|
|
36
|
+
onConnectionChange?: (connected: boolean) => void;
|
|
31
37
|
}
|
|
32
38
|
/**
|
|
33
39
|
* Default WebSocket configuration
|
|
@@ -56,6 +62,7 @@ export declare class LevitonWebSocket {
|
|
|
56
62
|
private devices;
|
|
57
63
|
private callback;
|
|
58
64
|
private reconnectAttempt;
|
|
65
|
+
private lastInboundAt;
|
|
59
66
|
private timers;
|
|
60
67
|
private reconnectTimer;
|
|
61
68
|
private pingTimer;
|
|
@@ -138,6 +145,9 @@ export declare class LevitonWebSocket {
|
|
|
138
145
|
isConnecting: boolean;
|
|
139
146
|
isClosed: boolean;
|
|
140
147
|
reconnectAttempt: number;
|
|
148
|
+
lastInboundAt: number | null;
|
|
149
|
+
lastEventAgeSec: number | null;
|
|
150
|
+
subscribed: number;
|
|
141
151
|
};
|
|
142
152
|
}
|
|
143
153
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAEnF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,iBAAiB,EAAE,MAAM,CAAA;IACzB,oCAAoC;IACpC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,uCAAuC;IACvC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAA;IACzB,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
|
package/dist/api/websocket.js
CHANGED
|
@@ -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;
|
|
@@ -200,6 +203,8 @@ class LevitonWebSocket {
|
|
|
200
203
|
this.logger.debug('WebSocket closed by user');
|
|
201
204
|
return;
|
|
202
205
|
}
|
|
206
|
+
// Any non-user close means the live push channel is down.
|
|
207
|
+
this.config.onConnectionChange?.(false);
|
|
203
208
|
// Auth failure - don't reconnect. 401 is not a valid WebSocket close code
|
|
204
209
|
// (codes are 1000-4999), so detect auth failures via the policy-violation
|
|
205
210
|
// code (1008) or an auth-related close reason instead.
|
|
@@ -223,8 +228,13 @@ class LevitonWebSocket {
|
|
|
223
228
|
this.logger.error(`WebSocket error: ${error.message || 'Unknown error'}`);
|
|
224
229
|
});
|
|
225
230
|
this.ws.on('message', (data) => {
|
|
231
|
+
this.lastInboundAt = Date.now();
|
|
226
232
|
this.handleMessage(data.toString());
|
|
227
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
|
+
});
|
|
228
238
|
}
|
|
229
239
|
/**
|
|
230
240
|
* Handle incoming message
|
|
@@ -253,6 +263,7 @@ class LevitonWebSocket {
|
|
|
253
263
|
this.logger.info('WebSocket authenticated and ready');
|
|
254
264
|
this.subscribeToDevices();
|
|
255
265
|
this.startPing();
|
|
266
|
+
this.config.onConnectionChange?.(true);
|
|
256
267
|
return;
|
|
257
268
|
}
|
|
258
269
|
// Handle notifications
|
|
@@ -407,6 +418,9 @@ class LevitonWebSocket {
|
|
|
407
418
|
isConnecting: this.isConnecting,
|
|
408
419
|
isClosed: this.isClosed,
|
|
409
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,
|
|
410
424
|
};
|
|
411
425
|
}
|
|
412
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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"}
|