eufy-security-client 3.0.0 → 3.1.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.
Files changed (46) hide show
  1. package/README.md +24 -0
  2. package/build/error.js +2 -2
  3. package/build/error.js.map +1 -1
  4. package/build/eufysecurity.js +34 -19
  5. package/build/eufysecurity.js.map +1 -1
  6. package/build/http/api.d.ts +0 -1
  7. package/build/http/api.js +27 -5
  8. package/build/http/api.js.map +1 -1
  9. package/build/http/device.d.ts +27 -28
  10. package/build/http/device.js +197 -172
  11. package/build/http/device.js.map +1 -1
  12. package/build/http/interfaces.d.ts +3 -2
  13. package/build/http/station.d.ts +2 -2
  14. package/build/http/station.js +10 -10
  15. package/build/http/station.js.map +1 -1
  16. package/build/http/types.d.ts +3 -0
  17. package/build/http/types.js +71 -16
  18. package/build/http/types.js.map +1 -1
  19. package/build/http/utils.d.ts +0 -5
  20. package/build/interfaces.d.ts +4 -1
  21. package/build/p2p/ble.d.ts +0 -1
  22. package/build/p2p/interfaces.d.ts +2 -5
  23. package/build/p2p/models.d.ts +0 -1
  24. package/build/p2p/session.d.ts +4 -1
  25. package/build/p2p/session.js +70 -28
  26. package/build/p2p/session.js.map +1 -1
  27. package/build/p2p/talkback.d.ts +0 -2
  28. package/build/p2p/types.d.ts +0 -1
  29. package/build/p2p/utils.d.ts +3 -5
  30. package/build/p2p/utils.js +20 -11
  31. package/build/p2p/utils.js.map +1 -1
  32. package/build/push/models.d.ts +2 -0
  33. package/build/push/models.js.map +1 -1
  34. package/build/push/parser.d.ts +0 -1
  35. package/build/push/service.js +4 -7
  36. package/build/push/service.js.map +1 -1
  37. package/build/push/types.d.ts +1 -0
  38. package/build/push/types.js +1 -0
  39. package/build/push/types.js.map +1 -1
  40. package/build/push/utils.d.ts +0 -1
  41. package/build/push/utils.js +3 -3
  42. package/build/push/utils.js.map +1 -1
  43. package/build/utils.d.ts +0 -1
  44. package/build/utils.js +4 -4
  45. package/build/utils.js.map +1 -1
  46. package/package.json +18 -18
package/README.md CHANGED
@@ -80,6 +80,30 @@ Please use GitHub issues for this.
80
80
 
81
81
  ## Changelog
82
82
 
83
+ ### 3.1.0 (2024-08-27)
84
+
85
+ * (bropat) **Breaking Change** Requires node version >= 20.0.0
86
+ * (martijnpoppen) NEW: add deviceConfig with simultaneousDetections option (#494)
87
+ * (PhilippEngler) added StationTimeZoneProperty (#472)
88
+ * (martijnpoppen) FIX: HB3 Doorbell Known Face detection not coming trough and Doorbell Ringing (#495)
89
+ * (bropat/lenoxys) Added ability to disable automatic cloud polling (#533)
90
+ * (bropat/PhilippEngler) Added ability to choose listening port of p2p station communication (#473)
91
+ * (bropat) Added vehicleDetected property to Floodlight Cam E340 (T8425)
92
+ * (bropat) Implemented runaway limit during parsing of p2p message data (infinite loop detection)
93
+ * (bropat) Added new EufySecurity options enableEmbeddedPKCS1Support (possible workaround for issue #487)
94
+ * (bropat) Added more logging about the initiation of P2P connections
95
+ * (bropat) Added more authentication log for info level
96
+ * (bropat) Improved livestream handling
97
+ * (PhilippEngler) update T8416 support (#535)
98
+ * (PhilippEngler) update T8170 support (#536)
99
+ * (bassrock) fix(bool): convert numeric to boolean (#523)
100
+ * (bropat) Fixed issue #482
101
+ * (bropat) Fixed an unhandled case that led to a infinite loop when parsing p2p messages
102
+ * (bropat) Fixed possible incorrect initiation of a P2P reconnection
103
+ * (bropat) Fixed some more property parsing
104
+ * (bropat) Possible fix for some locks missing some metadata
105
+ * (bropat) Updated versions of the package dependencies
106
+
83
107
  ### 3.0.0 (2024-03-03)
84
108
 
85
109
  * (bropat) **Breaking Change** New modular logging implementation
package/build/error.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PinNotVerifiedError = exports.UpdateUserPasscodeError = exports.UpdateUserScheduleError = exports.UpdateUserUsernameError = exports.DeleteUserError = exports.AddUserError = exports.StationConnectTimeoutError = exports.TalkbackError = exports.LivestreamError = exports.ReadOnlyPropertyError = exports.InvalidCommandValueError = exports.InvalidPropertyValueError = exports.RTSPPropertyNotEnabledError = exports.WrongStationError = exports.NotSupportedError = exports.DeviceNotFoundError = exports.StationNotFoundError = exports.InvalidLanguageCodeError = exports.InvalidCountryCodeError = exports.ensureError = exports.BaseError = void 0;
3
+ exports.PinNotVerifiedError = exports.UpdateUserPasscodeError = exports.UpdateUserScheduleError = exports.UpdateUserUsernameError = exports.DeleteUserError = exports.AddUserError = exports.StationConnectTimeoutError = exports.TalkbackError = exports.LivestreamError = exports.ReadOnlyPropertyError = exports.InvalidCommandValueError = exports.InvalidPropertyValueError = exports.RTSPPropertyNotEnabledError = exports.WrongStationError = exports.NotSupportedError = exports.DeviceNotFoundError = exports.StationNotFoundError = exports.InvalidLanguageCodeError = exports.InvalidCountryCodeError = exports.BaseError = void 0;
4
+ exports.ensureError = ensureError;
4
5
  class BaseError extends Error {
5
6
  context;
6
7
  constructor(message, options = {}) {
@@ -22,7 +23,6 @@ function ensureError(value) {
22
23
  const error = new Error(`This value was thrown as is, not through an Error: ${stringified}`);
23
24
  return error;
24
25
  }
25
- exports.ensureError = ensureError;
26
26
  class InvalidCountryCodeError extends BaseError {
27
27
  constructor(message, options = {}) {
28
28
  super(message, options);
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,14 @@ class EufySecurity extends tiny_typed_emitter_1.TypedEmitter {
132
132
  if (this.config.acceptInvitations === undefined) {
133
133
  this.config.acceptInvitations = false;
134
134
  }
135
+ if (this.config.enableEmbeddedPKCS1Support === undefined) {
136
+ this.config.enableEmbeddedPKCS1Support = false;
137
+ }
138
+ if (this.config.deviceConfig === undefined) {
139
+ this.config.deviceConfig = {
140
+ simultaneousDetections: true
141
+ };
142
+ }
135
143
  if (this.config.persistentDir === undefined) {
136
144
  this.config.persistentDir = path.resolve(__dirname, "../../..");
137
145
  }
@@ -335,6 +343,7 @@ class EufySecurity extends tiny_typed_emitter_1.TypedEmitter {
335
343
  this.stations[hub.station_sn].update(hub);
336
344
  if (!this.stations[hub.station_sn].isConnected() && !this.stations[hub.station_sn].isEnergySavingDevice() && this.stations[hub.station_sn].isP2PConnectableDevice()) {
337
345
  this.stations[hub.station_sn].setConnectionType(this.config.p2pConnectionSetup);
346
+ logging_1.rootMainLogger.debug(`Updating station cloud data - initiate station connection to get local data over p2p`, { stationSN: hub.station_sn });
338
347
  this.stations[hub.station_sn].connect();
339
348
  }
340
349
  this.getStorageInfo(hub.station_sn);
@@ -445,6 +454,7 @@ class EufySecurity extends tiny_typed_emitter_1.TypedEmitter {
445
454
  const station = await this.getStation(stationSN);
446
455
  if (station.isP2PConnectableDevice()) {
447
456
  station.setConnectionType(p2pConnectionType);
457
+ logging_1.rootMainLogger.debug(`Explicit request for p2p connection to the station`, { stationSN: station.getSerial() });
448
458
  await station.connect();
449
459
  }
450
460
  }
@@ -601,6 +611,7 @@ class EufySecurity extends tiny_typed_emitter_1.TypedEmitter {
601
611
  const deviceSNs = Object.keys(this.devices);
602
612
  const newDeviceSNs = Object.keys(devices);
603
613
  const promises = [];
614
+ const deviceConfig = this.config.deviceConfig;
604
615
  for (const device of Object.values(devices)) {
605
616
  if (deviceSNs.includes(device.device_sn)) {
606
617
  this.updateDevice(device);
@@ -610,58 +621,58 @@ class EufySecurity extends tiny_typed_emitter_1.TypedEmitter {
610
621
  this.devicesLoaded = (0, utils_1.waitForEvent)(this.loadingEmitter, "devices loaded");
611
622
  let new_device;
612
623
  if (device_1.Device.isIndoorCamera(device.device_type)) {
613
- new_device = device_1.IndoorCamera.getInstance(this.api, device);
624
+ new_device = device_1.IndoorCamera.getInstance(this.api, device, deviceConfig);
614
625
  }
615
626
  else if (device_1.Device.isSoloCameras(device.device_type)) {
616
- new_device = device_1.SoloCamera.getInstance(this.api, device);
627
+ new_device = device_1.SoloCamera.getInstance(this.api, device, deviceConfig);
617
628
  }
618
629
  else if (device_1.Device.isLockWifiVideo(device.device_type)) {
619
- new_device = device_1.DoorbellLock.getInstance(this.api, device);
630
+ new_device = device_1.DoorbellLock.getInstance(this.api, device, deviceConfig);
620
631
  }
621
632
  else if (device_1.Device.isBatteryDoorbell(device.device_type)) {
622
- new_device = device_1.BatteryDoorbellCamera.getInstance(this.api, device);
633
+ new_device = device_1.BatteryDoorbellCamera.getInstance(this.api, device, deviceConfig);
623
634
  }
624
635
  else if (device_1.Device.isWiredDoorbell(device.device_type) || device_1.Device.isWiredDoorbellDual(device.device_type)) {
625
- new_device = device_1.WiredDoorbellCamera.getInstance(this.api, device);
636
+ new_device = device_1.WiredDoorbellCamera.getInstance(this.api, device, deviceConfig);
626
637
  }
627
638
  else if (device_1.Device.isFloodLight(device.device_type)) {
628
- new_device = device_1.FloodlightCamera.getInstance(this.api, device);
639
+ new_device = device_1.FloodlightCamera.getInstance(this.api, device, deviceConfig);
629
640
  }
630
641
  else if (device_1.Device.isWallLightCam(device.device_type)) {
631
- new_device = device_1.WallLightCam.getInstance(this.api, device);
642
+ new_device = device_1.WallLightCam.getInstance(this.api, device, deviceConfig);
632
643
  }
633
644
  else if (device_1.Device.isGarageCamera(device.device_type)) {
634
- new_device = device_1.GarageCamera.getInstance(this.api, device);
645
+ new_device = device_1.GarageCamera.getInstance(this.api, device, deviceConfig);
635
646
  }
636
647
  else if (device_1.Device.isSmartDrop(device.device_type)) {
637
- new_device = device_1.SmartDrop.getInstance(this.api, device);
648
+ new_device = device_1.SmartDrop.getInstance(this.api, device, deviceConfig);
638
649
  }
639
650
  else if (device_1.Device.isCamera(device.device_type)) {
640
- new_device = device_1.Camera.getInstance(this.api, device);
651
+ new_device = device_1.Camera.getInstance(this.api, device, deviceConfig);
641
652
  }
642
653
  else if (device_1.Device.isLock(device.device_type)) {
643
- new_device = device_1.Lock.getInstance(this.api, device);
654
+ new_device = device_1.Lock.getInstance(this.api, device, deviceConfig);
644
655
  }
645
656
  else if (device_1.Device.isMotionSensor(device.device_type)) {
646
- new_device = device_1.MotionSensor.getInstance(this.api, device);
657
+ new_device = device_1.MotionSensor.getInstance(this.api, device, deviceConfig);
647
658
  }
648
659
  else if (device_1.Device.isEntrySensor(device.device_type)) {
649
- new_device = device_1.EntrySensor.getInstance(this.api, device);
660
+ new_device = device_1.EntrySensor.getInstance(this.api, device, deviceConfig);
650
661
  }
651
662
  else if (device_1.Device.isKeyPad(device.device_type)) {
652
- new_device = device_1.Keypad.getInstance(this.api, device);
663
+ new_device = device_1.Keypad.getInstance(this.api, device, deviceConfig);
653
664
  }
654
665
  else if (device_1.Device.isSmartSafe(device.device_type)) {
655
- new_device = device_1.SmartSafe.getInstance(this.api, device);
666
+ new_device = device_1.SmartSafe.getInstance(this.api, device, deviceConfig);
656
667
  }
657
668
  else if (device_1.Device.isSmartTrack(device.device_type)) {
658
- new_device = device_1.Tracker.getInstance(this.api, device);
669
+ new_device = device_1.Tracker.getInstance(this.api, device, deviceConfig);
659
670
  }
660
671
  else if (device_1.Device.isLockKeypad(device.device_type)) {
661
- new_device = device_1.LockKeypad.getInstance(this.api, device);
672
+ new_device = device_1.LockKeypad.getInstance(this.api, device, deviceConfig);
662
673
  }
663
674
  else {
664
- new_device = device_1.UnknownDevice.getInstance(this.api, device);
675
+ new_device = device_1.UnknownDevice.getInstance(this.api, device, deviceConfig);
665
676
  }
666
677
  promises.push(new_device.then((device) => {
667
678
  try {
@@ -714,6 +725,7 @@ class EufySecurity extends tiny_typed_emitter_1.TypedEmitter {
714
725
  this.getStation(device.getStationSerial()).then((station) => {
715
726
  if (!station.isConnected() && station.isP2PConnectableDevice()) {
716
727
  station.setConnectionType(this.config.p2pConnectionSetup);
728
+ logging_1.rootMainLogger.debug(`Initiate first station connection to get data over p2p`, { stationSN: station.getSerial() });
717
729
  station.connect();
718
730
  }
719
731
  }).catch((err) => {
@@ -752,7 +764,10 @@ class EufySecurity extends tiny_typed_emitter_1.TypedEmitter {
752
764
  });
753
765
  if (this.refreshEufySecurityCloudTimeout !== undefined)
754
766
  clearTimeout(this.refreshEufySecurityCloudTimeout);
755
- this.refreshEufySecurityCloudTimeout = setTimeout(() => { this.refreshCloudData(); }, this.config.pollingIntervalMinutes * 60 * 1000);
767
+ if (this.config.pollingIntervalMinutes > 0)
768
+ this.refreshEufySecurityCloudTimeout = setTimeout(() => { this.refreshCloudData(); }, this.config.pollingIntervalMinutes * 60 * 1000);
769
+ else
770
+ logging_1.rootMainLogger.info(`Automatic retrieval of data from the cloud has been deactivated (config pollingIntervalMinutes: ${this.config.pollingIntervalMinutes})`);
756
771
  }
757
772
  close() {
758
773
  for (const device_sn of this.cameraStationLivestreamTimeout.keys()) {