@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.20 → 5.0.0-beta.22
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/device/snapshot.js +1 -1
- package/dist/device/snapshot.js.map +1 -1
- package/dist/diagnostics.js +97 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/homekit/adapters/camera-streaming.js +1 -1
- package/dist/homekit/adapters/camera-streaming.js.map +1 -1
- package/dist/homekit/adapters/lock.js +9 -3
- package/dist/homekit/adapters/lock.js.map +1 -1
- package/dist/homekit/adapters/security-system.js +8 -3
- package/dist/homekit/adapters/security-system.js.map +1 -1
- package/dist/homekit/reconciler.js +12 -3
- package/dist/homekit/reconciler.js.map +1 -1
- package/dist/media/last-successful-image.js +5 -3
- package/dist/media/last-successful-image.js.map +1 -1
- package/dist/media/live-stream.js +12 -6
- package/dist/media/live-stream.js.map +1 -1
- package/dist/media/snapshot.js +9 -2
- package/dist/media/snapshot.js.map +1 -1
- package/dist/runtime/sdk-client.js +7 -4
- package/dist/runtime/sdk-client.js.map +1 -1
- package/homebridge-ui/public/i18n/en.json +2 -0
- package/homebridge-ui/public/i18n/fr.json +2 -0
- package/i18n/runtime/en.json +2 -0
- package/package.json +3 -3
package/dist/device/snapshot.js
CHANGED
|
@@ -43,7 +43,7 @@ function isAction(value) {
|
|
|
43
43
|
function isDetail(value) {
|
|
44
44
|
return (isRecord(value) &&
|
|
45
45
|
typeof value.capability === 'string' &&
|
|
46
|
-
typeof value.accessor === 'string' &&
|
|
46
|
+
(value.accessor === undefined || typeof value.accessor === 'string') &&
|
|
47
47
|
Array.isArray(value.reads) &&
|
|
48
48
|
value.reads.every(isRead) &&
|
|
49
49
|
Array.isArray(value.actions) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/device/snapshot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/device/snapshot.ts"],"names":[],"mappings":"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"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -35,6 +35,34 @@ export function unconfirmedWriteCondition(property) {
|
|
|
35
35
|
}
|
|
36
36
|
/** Why a live session gave its source back: a stop from outside it, or the session ending itself. */
|
|
37
37
|
const LIVE_SESSION_RELEASES = ['requested', 'failed'];
|
|
38
|
+
/**
|
|
39
|
+
* The SDK event kinds a HomeKit adapter consumes, which are the kinds an unrouted-event record may name.
|
|
40
|
+
*
|
|
41
|
+
* Checked against the SDK's event union at build time, so a kind the SDK renames or removes fails the build.
|
|
42
|
+
*/
|
|
43
|
+
const UNROUTED_EVENT_KINDS = [
|
|
44
|
+
'alarm',
|
|
45
|
+
'armingModeChanged',
|
|
46
|
+
'batteryAlert',
|
|
47
|
+
'cameraEnabledChanged',
|
|
48
|
+
'contactState',
|
|
49
|
+
'cryingDetected',
|
|
50
|
+
'dogDetected',
|
|
51
|
+
'doorbellPress',
|
|
52
|
+
'lockState',
|
|
53
|
+
'motion',
|
|
54
|
+
'packageDelivered',
|
|
55
|
+
'packageStranded',
|
|
56
|
+
'packageTaken',
|
|
57
|
+
'personDetected',
|
|
58
|
+
'petDetection',
|
|
59
|
+
'smartLightState',
|
|
60
|
+
'soundDetected',
|
|
61
|
+
'strangerDetected',
|
|
62
|
+
'vehicleDetected',
|
|
63
|
+
];
|
|
64
|
+
/** What an unrouted event's serial named: none, another device's station, or a serial no adapter holds. */
|
|
65
|
+
const UNROUTED_EVENT_TARGETS = ['none', 'station', 'unattached'];
|
|
38
66
|
/** The claims that contend for a station's one live channel, and the decisions taken over it. */
|
|
39
67
|
const STATION_CLAIMS = ['live', 'recording', 'snapshot'];
|
|
40
68
|
const STATION_CLAIM_ACTIONS = ['held', 'yielded', 'refused', 'released'];
|
|
@@ -184,6 +212,7 @@ const SDK_EVENT_KEYS = new Set([
|
|
|
184
212
|
'observation-invalid',
|
|
185
213
|
'protocol-command',
|
|
186
214
|
'protocol-unhandled',
|
|
215
|
+
'realtime-readiness',
|
|
187
216
|
'session-connecting',
|
|
188
217
|
'session-idle',
|
|
189
218
|
'session-resumed',
|
|
@@ -1582,6 +1611,33 @@ function opaqueAccessoryAlias(value) {
|
|
|
1582
1611
|
? value
|
|
1583
1612
|
: undefined;
|
|
1584
1613
|
}
|
|
1614
|
+
/**
|
|
1615
|
+
* Narrows one realtime startup outcome to its state and push start counts, or nothing where the state is unknown.
|
|
1616
|
+
*
|
|
1617
|
+
* Read by both halves of the path — {@link reportRealtimeReadiness} builds the record and the file sink rebuilds it.
|
|
1618
|
+
*/
|
|
1619
|
+
function sanitizeRealtimeReadiness(value) {
|
|
1620
|
+
const state = allowlistedLabel(value.state, ['ready', 'partial', 'disabled', 'superseded', 'timed-out']);
|
|
1621
|
+
if (!state)
|
|
1622
|
+
return undefined;
|
|
1623
|
+
const counts = Object.fromEntries(['required', 'ready', 'failed', 'pending'].flatMap((key) => {
|
|
1624
|
+
const count = nonNegativeInteger(value[key]);
|
|
1625
|
+
return count === undefined ? [] : [[key, count]];
|
|
1626
|
+
}));
|
|
1627
|
+
return { event: 'realtime-readiness', state, ...counts };
|
|
1628
|
+
}
|
|
1629
|
+
/**
|
|
1630
|
+
* Records how the SDK's realtime startup settled, with the push plane's start counts, as `sdk-log` evidence.
|
|
1631
|
+
*
|
|
1632
|
+
* Carries the state and the counts alone, which separate a push plane that failed or never settled from one that
|
|
1633
|
+
* started.
|
|
1634
|
+
*/
|
|
1635
|
+
export function reportRealtimeReadiness(target, readiness) {
|
|
1636
|
+
const record = sanitizeRealtimeReadiness({ ...readiness.push, state: readiness.state });
|
|
1637
|
+
if (target?.debug && record) {
|
|
1638
|
+
target.debug(JSON.stringify({ scope: 'sdk', level: 'debug', subsystem: 'push', ...record }));
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1585
1641
|
/**
|
|
1586
1642
|
* Adapts SDK protocol detail to bounded debug output without preserving supplied values.
|
|
1587
1643
|
*
|
|
@@ -1814,6 +1870,9 @@ const HOMEKIT_LIVE_SESSION_STAGES = new Set([
|
|
|
1814
1870
|
'first-adapted-output',
|
|
1815
1871
|
'controller-rtcp',
|
|
1816
1872
|
]);
|
|
1873
|
+
/** The SDK's own stage and reason for a live warm-up that ended without a keyframe. */
|
|
1874
|
+
const SDK_LIVE_START_STAGES = ['awaiting-first-frame', 'audio-only', 'awaiting-keyframe'];
|
|
1875
|
+
const SDK_LIVE_START_REASONS = ['warm-timeout', 'source-error', 'source-ended'];
|
|
1817
1876
|
/**
|
|
1818
1877
|
* Which adaptation process an FFmpeg record came from.
|
|
1819
1878
|
*
|
|
@@ -2024,12 +2083,19 @@ const HOMEKIT_CONDITIONS = {
|
|
|
2024
2083
|
* The action a HomeKit condition names for a reason whose remedy is not the condition's own, keyed `code:reason`.
|
|
2025
2084
|
*
|
|
2026
2085
|
* A camera adapter is missing only where no FFmpeg path resolved, and an adaptation fails to spawn only where the
|
|
2027
|
-
* path cannot be run, so both are fixed in the plugin's settings rather than waited out.
|
|
2086
|
+
* path cannot be run, so both are fixed in the plugin's settings rather than waited out. A control that timed out
|
|
2087
|
+
* will likely time out again, so it points at the Eufy app instead of a retry. A station whose session did not
|
|
2088
|
+
* connect is fixed at that station, not at the camera a viewer opened.
|
|
2028
2089
|
*/
|
|
2029
2090
|
const HOMEKIT_REASON_ACTIONS = {
|
|
2030
2091
|
'camera-streaming-capability-unavailable:adapter-missing': 'log.action.setFfmpegPath',
|
|
2031
2092
|
'camera-recording-unavailable:adapter-missing': 'log.action.setFfmpegPath',
|
|
2032
2093
|
'camera-live-session-failed:adaptation-spawn-failed': 'log.action.checkFfmpegPath',
|
|
2094
|
+
'lock-operation-failed:timeout': 'log.action.controlTimedOut',
|
|
2095
|
+
'arming-operation-failed:timeout': 'log.action.controlTimedOut',
|
|
2096
|
+
'smart-light-operation-failed:timeout': 'log.action.controlTimedOut',
|
|
2097
|
+
'camera-control-operation-failed:timeout': 'log.action.controlTimedOut',
|
|
2098
|
+
'camera-live-session-failed:station-unreachable': 'log.action.checkStation',
|
|
2033
2099
|
};
|
|
2034
2100
|
/** Projects a value onto an active condition, or nothing where the catalog does not write that code with those keys. */
|
|
2035
2101
|
export function knownCondition(value) {
|
|
@@ -2088,6 +2154,10 @@ function sanitizeStructuredEvent(message) {
|
|
|
2088
2154
|
!SDK_EVENT_KEYS.has(value.event)) {
|
|
2089
2155
|
return undefined;
|
|
2090
2156
|
}
|
|
2157
|
+
if (value.event === 'realtime-readiness') {
|
|
2158
|
+
const readiness = sanitizeRealtimeReadiness(value);
|
|
2159
|
+
return readiness ? { scope: 'sdk', level: 'debug', subsystem: 'push', ...readiness } : undefined;
|
|
2160
|
+
}
|
|
2091
2161
|
if (value.event === 'live-start-trace') {
|
|
2092
2162
|
if (level !== 'debug')
|
|
2093
2163
|
return undefined;
|
|
@@ -2150,6 +2220,10 @@ function sanitizeStructuredEvent(message) {
|
|
|
2150
2220
|
return { scope: 'media-notice', level: notice.level, code: value.code, messageKey: notice.messageKey };
|
|
2151
2221
|
}
|
|
2152
2222
|
if (value.scope === 'homekit') {
|
|
2223
|
+
if (value.event === 'event-unrouted') {
|
|
2224
|
+
const unrouted = sanitizeUnroutedEvent(value);
|
|
2225
|
+
return unrouted ? { scope: 'homekit', level: 'debug', ...unrouted } : undefined;
|
|
2226
|
+
}
|
|
2153
2227
|
if (value.event === 'station-claim') {
|
|
2154
2228
|
const claim = sanitizeStationClaim(value);
|
|
2155
2229
|
return claim ? { scope: 'homekit', level: 'debug', ...claim } : undefined;
|
|
@@ -2322,6 +2396,16 @@ function sanitizeStationClaim(value) {
|
|
|
2322
2396
|
const against = allowlistedLabel(value.to ?? value.by ?? value.against, STATION_CLAIMS);
|
|
2323
2397
|
return { event: 'station-claim', action, claim, ...(against === undefined ? {} : { against }) };
|
|
2324
2398
|
}
|
|
2399
|
+
/**
|
|
2400
|
+
* Narrows one offered unrouted SDK event to its kind and target, or nothing where either is not allowlisted.
|
|
2401
|
+
*
|
|
2402
|
+
* Read by both halves of the path — {@link reportHomeKitEvent} builds the record and the file sink rebuilds it.
|
|
2403
|
+
*/
|
|
2404
|
+
function sanitizeUnroutedEvent(value) {
|
|
2405
|
+
const kind = allowlistedLabel(value.kind, UNROUTED_EVENT_KINDS);
|
|
2406
|
+
const target = allowlistedLabel(value.target, UNROUTED_EVENT_TARGETS);
|
|
2407
|
+
return kind && target ? { event: 'event-unrouted', kind, target } : undefined;
|
|
2408
|
+
}
|
|
2325
2409
|
/**
|
|
2326
2410
|
* Records one arbitration decision over a station's own session as `homekit-log` evidence.
|
|
2327
2411
|
*
|
|
@@ -2337,6 +2421,13 @@ export function reportStationClaim(target, decision) {
|
|
|
2337
2421
|
}
|
|
2338
2422
|
}
|
|
2339
2423
|
export function reportHomeKitEvent(target, trace, aliasFor) {
|
|
2424
|
+
if (!('adapter' in trace)) {
|
|
2425
|
+
const unrouted = sanitizeUnroutedEvent(trace);
|
|
2426
|
+
if (target.debug && unrouted) {
|
|
2427
|
+
target.debug(JSON.stringify({ scope: 'homekit', level: 'debug', ...unrouted }));
|
|
2428
|
+
}
|
|
2429
|
+
return;
|
|
2430
|
+
}
|
|
2340
2431
|
const alias = typeof trace.serial === 'string' ? aliasFor?.(trace.serial) : undefined;
|
|
2341
2432
|
const offered = { ...trace, accessory: alias };
|
|
2342
2433
|
const accessory = alias === undefined ? {} : { accessory: alias };
|
|
@@ -2509,6 +2600,7 @@ function sanitizeLiveSessionTrace(value) {
|
|
|
2509
2600
|
release,
|
|
2510
2601
|
...(reports === undefined ? {} : { reports }),
|
|
2511
2602
|
...(sinceLastReportMs === undefined ? {} : { sinceLastReportMs }),
|
|
2603
|
+
...(value.stage === 'sdk-source-acquisition' ? { stage: value.stage } : {}),
|
|
2512
2604
|
...accessory,
|
|
2513
2605
|
};
|
|
2514
2606
|
}
|
|
@@ -2533,12 +2625,16 @@ function sanitizeLiveSessionTrace(value) {
|
|
|
2533
2625
|
!HOMEKIT_LIVE_SESSION_STAGES.has(value.stage)) {
|
|
2534
2626
|
return undefined;
|
|
2535
2627
|
}
|
|
2628
|
+
const sourceStage = allowlistedLabel(value.sourceStage, SDK_LIVE_START_STAGES);
|
|
2629
|
+
const sourceReason = allowlistedLabel(value.sourceReason, SDK_LIVE_START_REASONS);
|
|
2536
2630
|
return {
|
|
2537
2631
|
adapter: value.adapter,
|
|
2538
2632
|
event: value.event,
|
|
2539
2633
|
outcome: value.outcome,
|
|
2540
2634
|
reason: value.reason,
|
|
2541
2635
|
stage: value.stage,
|
|
2636
|
+
...(sourceStage === undefined ? {} : { sourceStage }),
|
|
2637
|
+
...(sourceReason === undefined ? {} : { sourceReason }),
|
|
2542
2638
|
...accessory,
|
|
2543
2639
|
};
|
|
2544
2640
|
}
|