@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.27 → 5.0.0-beta.29

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.
@@ -1,9 +1,10 @@
1
1
  import { createConnection } from 'node:net';
2
- import { answeredDevice, answeredStatus, areRuntimeChannelDevices, FrameReader, isRuntimeChannelStatus, ownedSocket, RUNTIME_CHANNEL_CONNECT_TIMEOUT_MS, RUNTIME_CHANNEL_PROTOCOL, RUNTIME_CHANNEL_RESPONSE_TIMEOUT_MS, RUNTIME_CHANNEL_STAND_DOWN_TIMEOUT_MS, RUNTIME_DEVICES_PATH, RUNTIME_DIAGNOSTICS_PATH, RUNTIME_RESTART_PATH, RUNTIME_STAND_DOWN_PATH, RUNTIME_STATUS_PATH, } from '../runtime/channel.js';
2
+ import { answeredDevice, answeredDeviceSetting, answeredStatus, areRuntimeChannelDevices, areRuntimeChannelDeviceSettings, FrameReader, isRuntimeChannelStatus, ownedSocket, RUNTIME_CHANNEL_CONNECT_TIMEOUT_MS, RUNTIME_CHANNEL_PROTOCOL, RUNTIME_CHANNEL_RESPONSE_TIMEOUT_MS, RUNTIME_CHANNEL_STAND_DOWN_TIMEOUT_MS, RUNTIME_CHANNEL_WRITE_TIMEOUT_MS, RUNTIME_DEVICE_SETTING_WRITE_PATH, RUNTIME_DEVICE_SETTINGS_PATH, RUNTIME_DEVICES_PATH, RUNTIME_DIAGNOSTICS_PATH, RUNTIME_RESTART_PATH, RUNTIME_STAND_DOWN_PATH, RUNTIME_STATUS_PATH, } from '../runtime/channel.js';
3
3
  const STATUS_REQUEST = 1;
4
4
  const DEVICES_REQUEST = 2;
5
5
  const DIAGNOSTICS_REQUEST = 3;
6
6
  const DEPARTURE_REQUEST = 4;
7
+ const SETTINGS_REQUEST = 5;
7
8
  /**
8
9
  * Speaks the channel the runtime serves while it owns the account session: reads, notifications, requests.
9
10
  *
@@ -21,11 +22,22 @@ export class RuntimeChannelClient {
21
22
  connectTimeoutMs;
22
23
  responseTimeoutMs;
23
24
  standDownTimeoutMs;
25
+ writeTimeoutMs;
24
26
  constructor(endpoint, options = {}) {
25
27
  this.endpoint = endpoint;
26
28
  this.connectTimeoutMs = options.connectTimeoutMs ?? RUNTIME_CHANNEL_CONNECT_TIMEOUT_MS;
27
29
  this.responseTimeoutMs = options.responseTimeoutMs ?? RUNTIME_CHANNEL_RESPONSE_TIMEOUT_MS;
28
30
  this.standDownTimeoutMs = options.standDownTimeoutMs ?? RUNTIME_CHANNEL_STAND_DOWN_TIMEOUT_MS;
31
+ this.writeTimeoutMs = options.writeTimeoutMs ?? RUNTIME_CHANNEL_WRITE_TIMEOUT_MS;
32
+ }
33
+ async readDeviceSettings(serial) {
34
+ return this.over(undefined, (connection) => this.requested(connection, RUNTIME_DEVICE_SETTINGS_PATH, { serial }, this.responseTimeoutMs, (response) => response.ok && areRuntimeChannelDeviceSettings(response.data)
35
+ ? response.data.map(answeredDeviceSetting)
36
+ : undefined));
37
+ }
38
+ async writeDeviceSetting(write) {
39
+ const accepted = await this.over(undefined, (connection) => this.requested(connection, RUNTIME_DEVICE_SETTING_WRITE_PATH, write, this.writeTimeoutMs, (response) => response.ok ? true : undefined));
40
+ return accepted === true;
29
41
  }
30
42
  async read() {
31
43
  return this.over(undefined, (connection) => this.exchange(connection));
@@ -210,6 +222,57 @@ export class RuntimeChannelClient {
210
222
  });
211
223
  });
212
224
  }
225
+ /**
226
+ * Sends one request after the greeting and answers what `accept` makes of its response.
227
+ *
228
+ * Undefined is every other outcome: a protocol this client does not speak, which is never sent the request, a
229
+ * refusal, an answer `accept` does not take, and no answer within `timeoutMs`.
230
+ */
231
+ requested(connection, path, body, timeoutMs, accept) {
232
+ return new Promise((resolve) => {
233
+ const settle = setTimeout(() => resolve(undefined), timeoutMs);
234
+ settle.unref();
235
+ const conclude = (value) => {
236
+ clearTimeout(settle);
237
+ resolve(value);
238
+ };
239
+ const reader = new FrameReader();
240
+ let requested = false;
241
+ connection.once('error', () => conclude(undefined));
242
+ connection.once('close', () => conclude(undefined));
243
+ connection.on('data', (chunk) => {
244
+ const frames = reader.accept(chunk);
245
+ if (!frames) {
246
+ conclude(undefined);
247
+ return;
248
+ }
249
+ for (const frame of frames) {
250
+ let parsed;
251
+ try {
252
+ parsed = JSON.parse(frame);
253
+ }
254
+ catch {
255
+ conclude(undefined);
256
+ return;
257
+ }
258
+ if (!requested) {
259
+ if (parsed?.protocol !== RUNTIME_CHANNEL_PROTOCOL) {
260
+ conclude(undefined);
261
+ return;
262
+ }
263
+ requested = true;
264
+ connection.write(`${JSON.stringify({ v: RUNTIME_CHANNEL_PROTOCOL, id: SETTINGS_REQUEST, path, body })}\n`);
265
+ continue;
266
+ }
267
+ const response = parsed;
268
+ if (response?.id === SETTINGS_REQUEST) {
269
+ conclude(accept(response));
270
+ return;
271
+ }
272
+ }
273
+ });
274
+ });
275
+ }
213
276
  exchange(connection) {
214
277
  return new Promise((resolve, reject) => {
215
278
  const settle = setTimeout(() => concludeOrFail('runtime channel response timed out'), this.responseTimeoutMs);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-channel-client.js","sourceRoot":"","sources":["../../src/ui/runtime-channel-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-channel-client.js","sourceRoot":"","sources":["../../src/ui/runtime-channel-client.ts"],"names":[],"mappings":"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"}
package/dist/ui/server.js CHANGED
@@ -8,7 +8,7 @@ import { parseConfig } from '../configuration.js';
8
8
  import { GuidedDiagnostics, isDiagnosticsProfile, isDiagnosticsReproductionMode, isDiagnosticsUiEvent, } from '../diagnostics.js';
9
9
  import { PersistedLastSuccessfulImages } from '../media/last-successful-image.js';
10
10
  import { readDeviceImage } from './device-image.js';
11
- import { runtimeChannelEndpointForHost } from '../runtime/channel.js';
11
+ import { noticedDeviceSettingWrite, runtimeChannelEndpointForHost, } from '../runtime/channel.js';
12
12
  import { RuntimeTracker } from '../runtime/tracker.js';
13
13
  import { resolveStorageRoot } from '../storage.js';
14
14
  import { readDashboard } from './dashboard.js';
@@ -156,6 +156,35 @@ export function parseDeviceImageRequest(value) {
156
156
  }
157
157
  return serial;
158
158
  }
159
+ /** Validates a browser-submitted request for one device's eufy settings, which names a serial and nothing else. */
160
+ export function parseDeviceSettingsRequest(value) {
161
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
162
+ throw new RequestError('Invalid device settings request', { status: 400 });
163
+ }
164
+ const payload = value;
165
+ const serial = requiredString(payload.serial, 64);
166
+ if (Object.keys(payload).join(',') !== 'serial' || !serial?.match(/^[A-Za-z0-9]{1,64}$/)) {
167
+ throw new RequestError('Invalid device settings request', { status: 400 });
168
+ }
169
+ return serial;
170
+ }
171
+ /**
172
+ * Validates a browser-submitted write of one eufy setting.
173
+ *
174
+ * A write reaches a real device, so the request names exactly a serial, one setting of the channel's closed set,
175
+ * and a value of the type that setting takes, and nothing beside them.
176
+ */
177
+ export function parseDeviceSettingWriteRequest(value) {
178
+ const write = noticedDeviceSettingWrite(value);
179
+ if (!write ||
180
+ Object.keys(value)
181
+ .sort()
182
+ .join(',') !== 'serial,setting,value' ||
183
+ !write.serial.match(/^[A-Za-z0-9]{1,64}$/)) {
184
+ throw new RequestError('Invalid device setting write', { status: 400 });
185
+ }
186
+ return write;
187
+ }
159
188
  function parseArchiveReview(value) {
160
189
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
161
190
  throw new RequestError('Invalid support archive request', { status: 400 });
@@ -219,6 +248,13 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
219
248
  this.onRequest('/dashboard', (payload) => readDashboard(this.runtimeTracker, Date.now, parseRepresentationPreferences(payload), this.runtimeChannel, this.persistence));
220
249
  this.onRequest('/update/restart', () => this.runtimeChannel.requestRestart());
221
250
  this.onRequest('/device/image', (payload) => readDeviceImage(this.images, this.runtimeChannel, parseDeviceImageRequest(payload)));
251
+ this.onRequest('/device/settings', async (payload) => {
252
+ const settings = await this.runtimeChannel.readDeviceSettings(parseDeviceSettingsRequest(payload));
253
+ return settings ? { available: true, settings } : { available: false };
254
+ });
255
+ this.onRequest('/device/settings/write', async (payload) => ({
256
+ ok: await this.runtimeChannel.writeDeviceSetting(parseDeviceSettingWriteRequest(payload)),
257
+ }));
222
258
  this.onRequest('/diagnostics/status', () => this.diagnostics.status());
223
259
  this.onRequest('/diagnostics/authorize', async (payload) => {
224
260
  const authorization = parseDiagnosticsAuthorization(payload);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@
9
9
  "advancedEyebrow": "Configuration",
10
10
  "advancedFfmpegHelp": "Leave blank to use the FFmpeg executable bundled with the plugin.",
11
11
  "advancedFfmpegLabel": "Custom FFmpeg path",
12
+ "advancedLiveVideoPassthroughHelp": "Turn this on if live view never shows, or if the log says FFmpeg stopped before sending video. Live video from cameras that record H.264 is then sent as the camera recorded it, as version 4 did, instead of being converted to what the Home app asked for.",
13
+ "advancedLiveVideoPassthroughLabel": "Send camera video unchanged",
14
+ "advancedHdLiveVideoHelp": "Turn this on if live view in the Home app looks blurry. Cameras then offer the Home app only 720p and 1080p, also on mobile data and in the camera grid, which uses more data.",
15
+ "advancedHdLiveVideoLabel": "Always HD live video",
16
+ "advancedIgnoreHomeBitRateHelp": "Turn this on if live video looks sharp for a few seconds, then blurry or blocky. Video is then converted at a constant quality close to the camera’s own, instead of the low bit rate the Home app asks for, which uses more network bandwidth.",
17
+ "advancedIgnoreHomeBitRateLabel": "Ignore the Home app’s bit rate limit",
12
18
  "advancedPollingHelp": "Use 0 to disable scheduled polling. The default is 10 minutes.",
13
19
  "advancedPollingInvalid": "Enter a whole number of minutes greater than or equal to zero.",
14
20
  "advancedPollingLabel": "Polling interval in minutes",
@@ -9,6 +9,12 @@
9
9
  "advancedEyebrow": "Configuration",
10
10
  "advancedFfmpegHelp": "Laissez vide pour utiliser l’exécutable FFmpeg fourni avec le plugin.",
11
11
  "advancedFfmpegLabel": "Chemin FFmpeg personnalisé",
12
+ "advancedLiveVideoPassthroughHelp": "Activez cette option si la vidéo en direct ne s’affiche jamais, ou si le journal indique que FFmpeg s’est arrêté avant d’envoyer la vidéo. La vidéo des caméras qui enregistrent en H.264 est alors envoyée telle que la caméra l’a enregistrée, comme dans la version 4, au lieu d’être convertie selon ce que demande l’app Maison.",
13
+ "advancedLiveVideoPassthroughLabel": "Envoyer la vidéo de la caméra sans conversion",
14
+ "advancedHdLiveVideoHelp": "Activez cette option si la vidéo en direct paraît floue dans l’app Maison. Les caméras ne proposent alors à l’app Maison que du 720p et du 1080p, aussi en données mobiles et dans la grille des caméras, ce qui consomme plus de données.",
15
+ "advancedHdLiveVideoLabel": "Vidéo en direct toujours en HD",
16
+ "advancedIgnoreHomeBitRateHelp": "Activez cette option si la vidéo en direct est nette quelques secondes, puis floue ou pixelisée. La vidéo est alors convertie à une qualité constante proche de celle de la caméra, au lieu du faible débit demandé par l’app Maison, ce qui utilise plus de bande passante.",
17
+ "advancedIgnoreHomeBitRateLabel": "Ignorer la limite de débit de l’app Maison",
12
18
  "advancedPollingHelp": "Utilisez 0 pour désactiver l’interrogation planifiée. La valeur par défaut est de 10 minutes.",
13
19
  "advancedPollingInvalid": "Saisissez un nombre entier de minutes supérieur ou égal à zéro.",
14
20
  "advancedPollingLabel": "Intervalle d’interrogation en minutes",
@@ -171,6 +171,21 @@
171
171
  <input type="checkbox" data-advanced-small-video-packets />
172
172
  <small data-i18n="advancedSmallVideoPacketsHelp"></small>
173
173
  </label>
174
+ <label>
175
+ <span data-i18n="advancedLiveVideoPassthroughLabel"></span>
176
+ <input type="checkbox" data-advanced-live-video-passthrough />
177
+ <small data-i18n="advancedLiveVideoPassthroughHelp"></small>
178
+ </label>
179
+ <label>
180
+ <span data-i18n="advancedHdLiveVideoLabel"></span>
181
+ <input type="checkbox" data-advanced-hd-live-video />
182
+ <small data-i18n="advancedHdLiveVideoHelp"></small>
183
+ </label>
184
+ <label>
185
+ <span data-i18n="advancedIgnoreHomeBitRateLabel"></span>
186
+ <input type="checkbox" data-advanced-ignore-home-bit-rate />
187
+ <small data-i18n="advancedIgnoreHomeBitRateHelp"></small>
188
+ </label>
174
189
  </div>
175
190
  <p class="advanced-device-help" data-i18n="advancedDeviceHelp"></p>
176
191
  <p class="advanced-status" role="status" aria-live="polite" data-advanced-status></p>
@@ -76,6 +76,9 @@ const advancedPolling = document.querySelector('[data-advanced-polling]');
76
76
  const advancedConcurrentMedia = document.querySelector('[data-advanced-concurrent-media]');
77
77
  const advancedFfmpeg = document.querySelector('[data-advanced-ffmpeg]');
78
78
  const advancedSmallVideoPackets = document.querySelector('[data-advanced-small-video-packets]');
79
+ const advancedLiveVideoPassthrough = document.querySelector('[data-advanced-live-video-passthrough]');
80
+ const advancedHdLiveVideo = document.querySelector('[data-advanced-hd-live-video]');
81
+ const advancedIgnoreHomeBitRate = document.querySelector('[data-advanced-ignore-home-bit-rate]');
79
82
  const warmUpAvailable = document.querySelector('[data-warm-up-available]');
80
83
  const warmUpChosen = document.querySelector('[data-warm-up-chosen]');
81
84
  const warmUpAdd = document.querySelector('[data-warm-up-add]');
@@ -588,6 +591,9 @@ menuAdvanced.addEventListener('click', async () => {
588
591
  renderWarmUp();
589
592
  advancedFfmpeg.value = config.ffmpegPath ?? '';
590
593
  advancedSmallVideoPackets.checked = config.smallVideoPackets === true;
594
+ advancedLiveVideoPassthrough.checked = config.liveVideoPassthrough === true;
595
+ advancedHdLiveVideo.checked = config.hdLiveVideo === true;
596
+ advancedIgnoreHomeBitRate.checked = config.ignoreHomeBitRate === true;
591
597
  openDashboardPanel(advancedPanel, menuAdvanced);
592
598
  /**
593
599
  * The panel asks for its own candidates rather than relying on the devices view having been opened first.
@@ -645,6 +651,12 @@ async function updateAdvancedSettings() {
645
651
  else delete next.ffmpegPath;
646
652
  if (advancedSmallVideoPackets.checked) next.smallVideoPackets = true;
647
653
  else delete next.smallVideoPackets;
654
+ if (advancedLiveVideoPassthrough.checked) next.liveVideoPassthrough = true;
655
+ else delete next.liveVideoPassthrough;
656
+ if (advancedHdLiveVideo.checked) next.hdLiveVideo = true;
657
+ else delete next.hdLiveVideo;
658
+ if (advancedIgnoreHomeBitRate.checked) next.ignoreHomeBitRate = true;
659
+ else delete next.ignoreHomeBitRate;
648
660
  // The default is what the plugin applies when the key is absent, so storing it would only pin today's default.
649
661
  if (warmUpSelection.length === 1 && warmUpSelection[0] === 'doorbellPress') delete next.warmUpEvents;
650
662
  else next.warmUpEvents = [...warmUpSelection];
@@ -661,6 +673,9 @@ advancedPolling.addEventListener('change', updateAdvancedSettings);
661
673
  advancedConcurrentMedia.addEventListener('change', updateAdvancedSettings);
662
674
  advancedFfmpeg.addEventListener('change', updateAdvancedSettings);
663
675
  advancedSmallVideoPackets.addEventListener('change', updateAdvancedSettings);
676
+ advancedLiveVideoPassthrough.addEventListener('change', updateAdvancedSettings);
677
+ advancedHdLiveVideo.addEventListener('change', updateAdvancedSettings);
678
+ advancedIgnoreHomeBitRate.addEventListener('change', updateAdvancedSettings);
664
679
  warmUpAdd.addEventListener('click', () => moveWarmUp('available'));
665
680
  warmUpAddAll.addEventListener('click', () => moveWarmUp('available', true));
666
681
  warmUpRemove.addEventListener('click', () => moveWarmUp('chosen'));
@@ -934,21 +949,10 @@ function reportAuthRequestFailure(error) {
934
949
 
935
950
  authForm.addEventListener('submit', async (event) => {
936
951
  event.preventDefault();
952
+ // A sign-in replaces the account and nothing else: every other key of the block, the child bridge included, is kept.
937
953
  const existing = pluginConfig.find((block) => block.platform === 'HomebridgeEufy') ?? {};
938
- const retained = Object.fromEntries(
939
- [
940
- 'pollingIntervalMinutes',
941
- 'sessionWarmUp',
942
- 'ffmpegPath',
943
- 'entityPreferences',
944
- 'discardedV4Settings',
945
- 'discardedV4Acknowledged',
946
- ]
947
- .filter((key) => Object.hasOwn(existing, key))
948
- .map((key) => [key, existing[key]]),
949
- );
950
954
  pendingConfig = {
951
- ...retained,
955
+ ...existing,
952
956
  platform: 'HomebridgeEufy',
953
957
  username: accountInput.value.trim(),
954
958
  password: passwordInput.value,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Eufy",
3
3
  "name": "@homebridge-plugins/homebridge-eufy-security",
4
- "version": "5.0.0-beta.27",
4
+ "version": "5.0.0-beta.29",
5
5
  "description": "Control Eufy Security from homebridge.",
6
6
  "type": "module",
7
7
  "license": "Apache-2.0",
@@ -47,7 +47,7 @@
47
47
  ],
48
48
  "dependencies": {
49
49
  "@homebridge/plugin-ui-utils": "^2.2.6",
50
- "@mega-yfue/eufy-sdk": "0.5.0-beta.9",
50
+ "@mega-yfue/eufy-sdk": "0.5.0-beta.19",
51
51
  "ffmpeg-for-homebridge": "2.2.2"
52
52
  },
53
53
  "devDependencies": {
@@ -63,5 +63,8 @@
63
63
  "author": "homebridge-eufy",
64
64
  "allowScripts": {
65
65
  "ffmpeg-for-homebridge@2.2.2": true
66
+ },
67
+ "optionalDependencies": {
68
+ "node-datachannel": "0.33.4"
66
69
  }
67
70
  }