eufy-security-client 1.6.6 → 2.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 (67) hide show
  1. package/README.md +45 -0
  2. package/build/error.d.ts +6 -0
  3. package/build/error.js +17 -1
  4. package/build/error.js.map +1 -1
  5. package/build/eufysecurity.d.ts +20 -10
  6. package/build/eufysecurity.js +453 -280
  7. package/build/eufysecurity.js.map +1 -1
  8. package/build/http/api.d.ts +16 -13
  9. package/build/http/api.js +669 -644
  10. package/build/http/api.js.map +1 -1
  11. package/build/http/cache.d.ts +8 -0
  12. package/build/http/cache.js +34 -0
  13. package/build/http/cache.js.map +1 -0
  14. package/build/http/device.d.ts +63 -27
  15. package/build/http/device.js +656 -287
  16. package/build/http/device.js.map +1 -1
  17. package/build/http/error.d.ts +4 -0
  18. package/build/http/error.js +10 -1
  19. package/build/http/error.js.map +1 -1
  20. package/build/http/index.js +5 -1
  21. package/build/http/index.js.map +1 -1
  22. package/build/http/interfaces.d.ts +27 -22
  23. package/build/http/parameter.d.ts +2 -1
  24. package/build/http/parameter.js +25 -10
  25. package/build/http/parameter.js.map +1 -1
  26. package/build/http/station.d.ts +66 -6
  27. package/build/http/station.js +1191 -236
  28. package/build/http/station.js.map +1 -1
  29. package/build/http/types.d.ts +135 -16
  30. package/build/http/types.js +926 -172
  31. package/build/http/types.js.map +1 -1
  32. package/build/http/utils.d.ts +2 -0
  33. package/build/http/utils.js +44 -2
  34. package/build/http/utils.js.map +1 -1
  35. package/build/index.js +5 -1
  36. package/build/index.js.map +1 -1
  37. package/build/interfaces.d.ts +11 -10
  38. package/build/mqtt/service.js +5 -27
  39. package/build/mqtt/service.js.map +1 -1
  40. package/build/p2p/interfaces.d.ts +22 -3
  41. package/build/p2p/models.d.ts +3 -2
  42. package/build/p2p/session.d.ts +13 -2
  43. package/build/p2p/session.js +199 -88
  44. package/build/p2p/session.js.map +1 -1
  45. package/build/p2p/talkback.d.ts +10 -0
  46. package/build/p2p/talkback.js +23 -0
  47. package/build/p2p/talkback.js.map +1 -0
  48. package/build/p2p/types.d.ts +54 -2
  49. package/build/p2p/types.js +58 -2
  50. package/build/p2p/types.js.map +1 -1
  51. package/build/p2p/utils.d.ts +4 -3
  52. package/build/p2p/utils.js +65 -37
  53. package/build/p2p/utils.js.map +1 -1
  54. package/build/push/client.js +5 -27
  55. package/build/push/client.js.map +1 -1
  56. package/build/push/index.js +5 -1
  57. package/build/push/index.js.map +1 -1
  58. package/build/push/parser.js +2 -5
  59. package/build/push/parser.js.map +1 -1
  60. package/build/push/service.js +23 -25
  61. package/build/push/service.js.map +1 -1
  62. package/build/push/utils.js +3 -6
  63. package/build/push/utils.js.map +1 -1
  64. package/build/utils.d.ts +3 -2
  65. package/build/utils.js +29 -22
  66. package/build/utils.js.map +1 -1
  67. package/package.json +19 -15
package/README.md CHANGED
@@ -5,6 +5,7 @@
5
5
  [![node](https://img.shields.io/node/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
6
6
  [![NPM version](http://img.shields.io/npm/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
7
7
  [![Downloads](https://img.shields.io/npm/dm/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
8
+ [![Total Downloads](https://img.shields.io/npm/dt/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
8
9
  [![Dependency Status](https://img.shields.io/librariesio/release/npm/eufy-security-client)](https://libraries.io/npm/eufy-security-client)
9
10
  [![Known Vulnerabilities](https://snyk.io/test/github/bropat/eufy-security-client/badge.svg)](https://snyk.io/test/github/bropat/eufy-security-client)
10
11
 
@@ -79,6 +80,50 @@ Please use GitHub issues for this.
79
80
 
80
81
  ## Changelog
81
82
 
83
+ ### 2.1.0 (2022-06-12)
84
+
85
+ * (bropat) Added toggle for Spotlight for Outdoor Cam Pro (T8441; #123)
86
+ * (bropat & thieren) Added talkback commands for supported devices (#38, #153; thanks @thieren)
87
+ * (fabianluque) Added missing RTSP properties for Floodlight T8423 (#146)
88
+ * (Palmke) Add alarm delay event (#88, #155)
89
+ * (Palmke) P&T T8410: Set motion zone and image mirror (#156)
90
+ * (Palmke) Send an event when the alarm is armed and alarm events from p2p (#105, #157)
91
+ * (bropat) Implemented simple request throttling for Eufy Cloud
92
+ * (bropat) Fixed push notification token renewal
93
+ * (bropat) Fixed issue #161
94
+
95
+ ### 2.0.1 (2022-05-03)
96
+
97
+ * (bropat) **Breaking Change** Fixed regression in device data loading
98
+ * (bropat) Target set back to ES2019
99
+
100
+ ### 2.0.0 (2022-04-30)
101
+
102
+ * (bropat) **Breaking Change** Requires node version >= 14.17
103
+ * (bropat) **Breaking Change** HTTPApi class, EufySecurity class and Device classes instantiation changed
104
+ * (bropat) **Breaking Change** Timestamp for device and station properties has been removed
105
+ * (bropat) Added support for Battery Doorbell Dual (T8213; #126)
106
+ * (bropat) Added support for Video Doorbell Dual (T8203; #141)
107
+ * (bropat) Added support for IndoorCam Mini (T8414; #143)
108
+ * (bropat) Added continuos recording setting for some supported cameras
109
+ * (bropat) Added continuos recording type setting for some supported cameras
110
+ * (bropat) Added default angle setting for IndoorCam Mini (T8414)
111
+ * (bropat) Added default angle idle time setting for IndoorCam Mini (T8414)
112
+ * (bropat) Added notification interval time setting for some supported cameras
113
+ * (bropat) Added calibrate command for some supported cameras
114
+ * (bropat) Added set default angle command for IndoorCam Mini (T8414
115
+ * (bropat) Added set privacy angle command for IndoorCam Mini (T8414)
116
+ * (bropat) Removed PREFER_LOCAL P2P connectivity mode. Default mode is now QUICKEST.
117
+ * (bropat) Added new charging status "solar charging" (value: 4; issue #127)
118
+ * (bropat) Fixed Eufy cloud authentication token renewal
119
+ * (bropat) Fixed some Eufy cloud authentication issues
120
+ * (bropat) Fixed authentication issues when changing country setting
121
+ * (bropat) Fixed possible wrong battery values on some devices
122
+ * (bropat) Fixed issue if device doesn't support P2P communication
123
+ * (bropat) Fixed issue #136
124
+ * (bropat) Fixed issue #122
125
+ * (bropat) Updated versions of the package dependencies
126
+
82
127
  ### 1.6.6 (2022-02-12)
83
128
 
84
129
  * (bropat) Fixed issue where no devices/stations are found (#116)
package/build/error.d.ts CHANGED
@@ -34,3 +34,9 @@ export declare class InvalidCommandValueError extends Error {
34
34
  export declare class ReadOnlyPropertyError extends Error {
35
35
  constructor(message?: string);
36
36
  }
37
+ export declare class LivestreamError extends Error {
38
+ constructor(message?: string);
39
+ }
40
+ export declare class TalkbackError extends Error {
41
+ constructor(message?: string);
42
+ }
package/build/error.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReadOnlyPropertyError = exports.InvalidCommandValueError = exports.InvalidPropertyValueError = exports.RTSPPropertyNotEnabled = exports.WrongStationError = exports.NotSupportedError = exports.DuplicateDeviceError = exports.DeviceNotFoundError = exports.DuplicateStationError = exports.StationNotFoundError = exports.InvalidLanguageCodeError = exports.InvalidCountryCodeError = void 0;
3
+ exports.TalkbackError = exports.LivestreamError = exports.ReadOnlyPropertyError = exports.InvalidCommandValueError = exports.InvalidPropertyValueError = exports.RTSPPropertyNotEnabled = exports.WrongStationError = exports.NotSupportedError = exports.DuplicateDeviceError = exports.DeviceNotFoundError = exports.DuplicateStationError = exports.StationNotFoundError = exports.InvalidLanguageCodeError = exports.InvalidCountryCodeError = void 0;
4
4
  class InvalidCountryCodeError extends Error {
5
5
  constructor(message) {
6
6
  super(message);
@@ -97,4 +97,20 @@ class ReadOnlyPropertyError extends Error {
97
97
  }
98
98
  }
99
99
  exports.ReadOnlyPropertyError = ReadOnlyPropertyError;
100
+ class LivestreamError extends Error {
101
+ constructor(message) {
102
+ super(message);
103
+ Object.setPrototypeOf(this, new.target.prototype);
104
+ this.name = LivestreamError.name;
105
+ }
106
+ }
107
+ exports.LivestreamError = LivestreamError;
108
+ class TalkbackError extends Error {
109
+ constructor(message) {
110
+ super(message);
111
+ Object.setPrototypeOf(this, new.target.prototype);
112
+ this.name = TalkbackError.name;
113
+ }
114
+ }
115
+ exports.TalkbackError = TalkbackError;
100
116
  //# sourceMappingURL=error.js.map
@@ -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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"}
@@ -2,6 +2,7 @@ import { TypedEmitter } from "tiny-typed-emitter";
2
2
  import { Logger } from "ts-log";
3
3
  import { EufySecurityEvents, EufySecurityConfig } from "./interfaces";
4
4
  import { HTTPApi } from "./http/api";
5
+ import { LoginOptions } from "./http/interfaces";
5
6
  import { Station } from "./http/station";
6
7
  import { PushNotificationService } from "./push/service";
7
8
  import { Credentials } from "./push/models";
@@ -25,9 +26,13 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
25
26
  private persistentFile;
26
27
  private persistentData;
27
28
  private connected;
29
+ private retries;
28
30
  private refreshEufySecurityCloudTimeout?;
29
31
  private refreshEufySecurityP2PTimeout;
30
- constructor(config: EufySecurityConfig, log?: Logger);
32
+ private loadingDevices?;
33
+ private constructor();
34
+ static initialize(config: EufySecurityConfig, log?: Logger): Promise<EufySecurity>;
35
+ protected _initializeInternals(): Promise<void>;
31
36
  private initMQTT;
32
37
  getPushService(): PushNotificationService;
33
38
  private addStation;
@@ -36,9 +41,9 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
36
41
  private addDevice;
37
42
  private removeDevice;
38
43
  private updateDevice;
39
- getDevices(): Array<Device>;
40
- getDevice(deviceSN: string): Device;
41
- getStationDevice(stationSN: string, channel: number): Device;
44
+ getDevices(): Promise<Array<Device>>;
45
+ getDevice(deviceSN: string): Promise<Device>;
46
+ getStationDevice(stationSN: string, channel: number): Promise<Device>;
42
47
  getStations(): Array<Station>;
43
48
  getStation(stationSN: string): Station;
44
49
  getApi(): HTTPApi;
@@ -55,7 +60,7 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
55
60
  setCameraMaxLivestreamDuration(seconds: number): void;
56
61
  getCameraMaxLivestreamDuration(): number;
57
62
  registerPushNotifications(credentials?: Credentials, persistentIds?: string[]): Promise<void>;
58
- connect(verifyCodeOrCaptcha?: string | null, captchaId?: string | null): Promise<boolean>;
63
+ connect(options?: LoginOptions): Promise<void>;
59
64
  getPushPersistentIds(): string[];
60
65
  private updateDeviceProperties;
61
66
  private onAPIClose;
@@ -65,7 +70,6 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
65
70
  stopStationLivestream(deviceSN: string): Promise<void>;
66
71
  stopCloudLivestream(deviceSN: string): Promise<void>;
67
72
  private writePersistentData;
68
- private saveAPIBase;
69
73
  private saveCloudToken;
70
74
  private savePushCredentials;
71
75
  private savePushPersistentIds;
@@ -82,6 +86,7 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
82
86
  setStationProperty(stationSN: string, name: string, value: unknown): Promise<void>;
83
87
  private onStartStationLivestream;
84
88
  private onStopStationLivestream;
89
+ private onErrorStationLivestream;
85
90
  private onStartStationRTSPLivestream;
86
91
  private onStopStationRTSPLivestream;
87
92
  private onStationStartDownload;
@@ -91,14 +96,12 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
91
96
  private onStationGuardMode;
92
97
  private onStationCurrentMode;
93
98
  private onStationPropertyChanged;
94
- private onStationPropertyRenewed;
95
99
  private onStationRawPropertyChanged;
96
- private onStationRawPropertyRenewed;
97
100
  private onStationAlarmEvent;
101
+ private onStationAlarmDelayEvent;
102
+ private onStationAlarmArmedEvent;
98
103
  private onDevicePropertyChanged;
99
- private onDevicePropertyRenewed;
100
104
  private onDeviceRawPropertyChanged;
101
- private onDeviceRawPropertyRenewed;
102
105
  private onDeviceCryingDetected;
103
106
  private onDeviceSoundDetected;
104
107
  private onDevicePetDetected;
@@ -113,4 +116,11 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
113
116
  private onStationWifiRssi;
114
117
  private onCaptchaRequest;
115
118
  private onFloodlightManualSwitch;
119
+ private onAuthTokenInvalidated;
120
+ private onTfaRequest;
121
+ private onStationTalkbackStart;
122
+ private onStationTalkbackStop;
123
+ private onStationTalkbackError;
124
+ startStationTalkback(deviceSN: string): Promise<void>;
125
+ stopStationTalkback(deviceSN: string): Promise<void>;
116
126
  }