@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.0 → 5.0.0-beta.10

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.
Files changed (35) hide show
  1. package/README.md +4 -6
  2. package/config.schema.json +20 -0
  3. package/dist/configuration.js +26 -2
  4. package/dist/configuration.js.map +1 -1
  5. package/dist/device/member-evidence.js +8 -1
  6. package/dist/device/member-evidence.js.map +1 -1
  7. package/dist/diagnostics.js +428 -60
  8. package/dist/diagnostics.js.map +1 -1
  9. package/dist/homekit/adapters/camera-streaming.js +54 -26
  10. package/dist/homekit/adapters/camera-streaming.js.map +1 -1
  11. package/dist/homekit/adapters/security-system.js +85 -44
  12. package/dist/homekit/adapters/security-system.js.map +1 -1
  13. package/dist/homekit/reconciler.js +5 -2
  14. package/dist/homekit/reconciler.js.map +1 -1
  15. package/dist/media/live-stream.js +98 -54
  16. package/dist/media/live-stream.js.map +1 -1
  17. package/dist/media/recording.js +7 -5
  18. package/dist/media/recording.js.map +1 -1
  19. package/dist/media/snapshot.js +4 -4
  20. package/dist/media/station-live-sessions.js +47 -43
  21. package/dist/media/station-live-sessions.js.map +1 -1
  22. package/dist/platform.js +24 -5
  23. package/dist/platform.js.map +1 -1
  24. package/dist/ui/dashboard.js +5 -1
  25. package/dist/ui/dashboard.js.map +1 -1
  26. package/dist/ui/server.js +26 -4
  27. package/dist/ui/server.js.map +1 -1
  28. package/homebridge-ui/public/app.css +356 -3
  29. package/homebridge-ui/public/i18n/en.json +25 -14
  30. package/homebridge-ui/public/i18n/fr.json +25 -14
  31. package/homebridge-ui/public/index.html +24 -32
  32. package/homebridge-ui/public/js/app.js +187 -65
  33. package/homebridge-ui/public/js/dashboard.js +80 -1
  34. package/homebridge-ui/public/js/profile-wizard.js +40 -28
  35. package/package.json +2 -2
package/README.md CHANGED
@@ -19,8 +19,8 @@
19
19
 
20
20
  > [!IMPORTANT]
21
21
  > **V5 is a beta and not yet a replacement for the stable V4 plugin.** Every capability area is
22
- > implemented, covered by the contract suite, and exercised against a real device fleet. What remains is
23
- > qualifying one immutable artifact and approving the public beta.
22
+ > implemented, covered by the contract suite, and exercised against a real device fleet. It is published
23
+ > on the `beta` dist-tag while that fleet keeps reporting; 4.x stays on `latest`.
24
24
  >
25
25
  > **V5 does not adopt V4 HomeKit accessories.** It registers its own, so expect to remove the V4
26
26
  > accessories and reassign rooms, names, and automations once. A V4 configuration block is not loaded
@@ -91,13 +91,11 @@ temporary authentication flow, and the runtime never falls back to interactive l
91
91
  | Battery, charging, and low-battery enrichment | Implemented |
92
92
  | Guided diagnostics and redacted support archives | Implemented |
93
93
  | Continuous validation against a real device fleet | Ongoing |
94
- | Qualification of an immutable pilot artifact, then public beta approval | Remaining |
95
94
 
96
95
  Support is capability-led rather than model-led, so capability evidence decides coverage instead of product
97
96
  naming, and a newly recognized model that exposes an already-adapted capability works without an allowlist.
98
- Of the 303 rows in the coverage matrix, 57 have an admitted HomeKit adapter, 230 remain diagnostic-only, and
99
- 16 are blocked by a declared SDK gap. Recognized devices therefore appear in the dashboard before, or
100
- without, an explicit HomeKit adapter for their primary purpose.
97
+ Most rows in the coverage matrix are diagnostic-only rather than adapted, so a recognized device appears in
98
+ the dashboard before, or without, an explicit HomeKit adapter for its primary purpose.
101
99
 
102
100
  Device behaviour is grounded in measurement rather than inference: [`docs/architecture.md`](./docs/architecture.md)
103
101
  records the observed timings and outcomes behind the live, recording, and control decisions, and
@@ -84,6 +84,26 @@
84
84
  "Refresh"
85
85
  ],
86
86
  "type": "string"
87
+ },
88
+ "armingModes": {
89
+ "additionalProperties": false,
90
+ "patternProperties": {
91
+ "^(home|away|night|off)$": {
92
+ "enum": [
93
+ "away",
94
+ "home",
95
+ "schedule",
96
+ "custom1",
97
+ "custom2",
98
+ "custom3",
99
+ "off",
100
+ "geo",
101
+ "disarmed"
102
+ ],
103
+ "type": "string"
104
+ }
105
+ },
106
+ "type": "object"
87
107
  }
88
108
  },
89
109
  "type": "object"
@@ -1,3 +1,4 @@
1
+ import { ArmingMode } from '@mega-yfue/eufy-sdk';
1
2
  import bundledFfmpegPath from 'ffmpeg-for-homebridge';
2
3
  import { PLATFORM_NAME } from './settings.js';
3
4
  export const DEFAULT_COUNTRY = 'US';
@@ -6,8 +7,11 @@ export const DEFAULT_POLLING_INTERVAL_MINUTES = 10;
6
7
  /** No declared ceiling on concurrent media, which is what the plugin has always behaved as. */
7
8
  export const DEFAULT_MAX_CONCURRENT_MEDIA_SESSIONS = 0;
8
9
  export const DEFAULT_WARM_UP_EVENTS = ['doorbellPress'];
9
- const ENTITY_PREFERENCE_KEYS = new Set(['represented', 'audio', 'snapshotMode']);
10
+ /** What each HomeKit state means where the user assigned nothing. */
11
+ export const DEFAULT_ARMING_MODES = { home: 'home', away: 'away', off: 'disarmed' };
12
+ const ENTITY_PREFERENCE_KEYS = new Set(['represented', 'audio', 'snapshotMode', 'armingModes']);
10
13
  const SNAPSHOT_MODES = new Set(['Cloud', 'Live', 'Refresh']);
14
+ const ARMING_SLOTS = new Set(['home', 'away', 'night', 'off']);
11
15
  function isRecord(value) {
12
16
  return typeof value === 'object' && value !== null && !Array.isArray(value);
13
17
  }
@@ -46,7 +50,26 @@ function parseEntityPreferences(value) {
46
50
  if (candidate.snapshotMode !== undefined && !SNAPSHOT_MODES.has(candidate.snapshotMode)) {
47
51
  throw new TypeError(`entityPreferences.${serial}.snapshotMode must be Cloud, Live, or Refresh`);
48
52
  }
49
- return [serial, { ...candidate }];
53
+ if (candidate.armingModes !== undefined) {
54
+ if (!isRecord(candidate.armingModes)) {
55
+ throw new TypeError(`entityPreferences.${serial}.armingModes must be an object keyed by HomeKit state`);
56
+ }
57
+ for (const [slot, mode] of Object.entries(candidate.armingModes)) {
58
+ if (!ARMING_SLOTS.has(slot)) {
59
+ throw new TypeError(`entityPreferences.${serial}.armingModes.${slot} is not a HomeKit security state`);
60
+ }
61
+ if (typeof mode !== 'string' || !Object.hasOwn(ArmingMode, mode)) {
62
+ throw new TypeError(`entityPreferences.${serial}.armingModes.${slot} must be one of ${Object.keys(ArmingMode).join(', ')}`);
63
+ }
64
+ }
65
+ }
66
+ return [
67
+ serial,
68
+ {
69
+ ...candidate,
70
+ ...(candidate.armingModes === undefined ? {} : { armingModes: { ...candidate.armingModes } }),
71
+ },
72
+ ];
50
73
  }));
51
74
  }
52
75
  function parseDiscardedV4Settings(value) {
@@ -162,6 +185,7 @@ export function resolveEntityPreference(config, serial) {
162
185
  represented: preference?.represented ?? true,
163
186
  audio: preference?.audio ?? true,
164
187
  snapshotMode: preference?.snapshotMode ?? 'Refresh',
188
+ armingModes: { ...DEFAULT_ARMING_MODES, ...preference?.armingModes },
165
189
  };
166
190
  }
167
191
  //# sourceMappingURL=configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAC7D,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AACnD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAsB,CAAC,eAAe,CAAC,CAAC;AA8C3E,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAyB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACzG,MAAM,cAAc,GAAG,IAAI,GAAG,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3E,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B,EAAE,GAAW;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,gEAAgE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,SAAS,CAAC,qBAAqB,MAAM,IAAI,SAAS,oBAAoB,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAA6B,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,SAAS,CAAC,qBAAqB,MAAM,IAAI,GAAG,gCAAgC,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtF,MAAM,IAAI,SAAS,CAAC,qBAAqB,MAAM,gCAAgC,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1E,MAAM,IAAI,SAAS,CAAC,qBAAqB,MAAM,0BAA0B,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,YAA4B,CAAC,EAAE,CAAC;YACxG,MAAM,IAAI,SAAS,CAAC,qBAAqB,MAAM,+CAA+C,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAsB,CAAC,CAAC;IACxD,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAC/F,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC;IACpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,2BAA2B,CAAC;IACpG,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,IAAI,gCAAgC,CAAC;IAChG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAK,sBAAiC,GAAG,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,0BAA0B,GAAG,KAAK,CAAC,0BAA0B,IAAI,qCAAqC,CAAC;IAC7G,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,IAAK,0BAAqC,GAAG,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,SAAS,CAAC,2DAA2D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,oBAAoB,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3C,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3C,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;QAC9B,iBAAiB;QACjB,sBAAsB,EAAE,sBAAgC;QACxD,0BAA0B,EAAE,0BAAoC;QAChE,YAAY;QACZ,UAAU,EAAE,oBAAoB,IAAI,iBAAiB;QACrD,iBAAiB,EAAE,sBAAsB,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAClE,mBAAmB,EAAE,wBAAwB,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACxE,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,KAAK,IAAI;KAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,OAAO;QACL,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;QACrD,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;QAC7D,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,iBAAiB,EAAE,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CACpG;QACD,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1G,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,uBAAuB,CAAC,MAAkB,EAAE,MAAc;IACxE,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,IAAI;QAC5C,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI;QAChC,YAAY,EAAE,UAAU,EAAE,YAAY,IAAI,SAAS;KACpD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,14 @@ export function indexDeviceMemberEvidence(manifest) {
17
17
  for (const detail of manifest.details) {
18
18
  for (const read of detail.reads) {
19
19
  const id = `${detail.capability}.${read.accessor}.read`;
20
- addEvidence(evidence, { id, kind: 'read', type: read.type, writable: read.writable, property: read.property });
20
+ addEvidence(evidence, {
21
+ id,
22
+ kind: 'read',
23
+ type: read.type,
24
+ writable: read.writable,
25
+ property: read.property,
26
+ ...(read.labels === undefined ? {} : { labels: { ...read.labels } }),
27
+ });
21
28
  }
22
29
  for (const action of detail.actions) {
23
30
  let kind;
@@ -1 +1 @@
1
- {"version":3,"file":"member-evidence.js","sourceRoot":"","sources":["../../src/device/member-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"member-evidence.js","sourceRoot":"","sources":["../../src/device/member-evidence.ts"],"names":[],"mappings":"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"}