eufy-security-client 2.2.0-rc.2 → 2.2.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 (57) hide show
  1. package/README.md +32 -13
  2. package/build/error.d.ts +18 -0
  3. package/build/error.js +49 -1
  4. package/build/error.js.map +1 -1
  5. package/build/eufysecurity.d.ts +12 -5
  6. package/build/eufysecurity.js +351 -77
  7. package/build/eufysecurity.js.map +1 -1
  8. package/build/http/api.d.ts +6 -1
  9. package/build/http/api.js +161 -14
  10. package/build/http/api.js.map +1 -1
  11. package/build/http/device.d.ts +45 -2
  12. package/build/http/device.js +485 -8
  13. package/build/http/device.js.map +1 -1
  14. package/build/http/interfaces.d.ts +14 -0
  15. package/build/http/models.d.ts +35 -0
  16. package/build/http/station.d.ts +28 -5
  17. package/build/http/station.js +757 -132
  18. package/build/http/station.js.map +1 -1
  19. package/build/http/types.d.ts +76 -1
  20. package/build/http/types.js +460 -14
  21. package/build/http/types.js.map +1 -1
  22. package/build/http/utils.d.ts +8 -6
  23. package/build/http/utils.js +103 -38
  24. package/build/http/utils.js.map +1 -1
  25. package/build/interfaces.d.ts +8 -1
  26. package/build/mqtt/service.js +2 -1
  27. package/build/mqtt/service.js.map +1 -1
  28. package/build/p2p/ble.d.ts +47 -0
  29. package/build/p2p/ble.js +189 -0
  30. package/build/p2p/ble.js.map +1 -0
  31. package/build/p2p/error.d.ts +24 -0
  32. package/build/p2p/error.js +68 -0
  33. package/build/p2p/error.js.map +1 -0
  34. package/build/p2p/index.d.ts +2 -0
  35. package/build/p2p/index.js +2 -0
  36. package/build/p2p/index.js.map +1 -1
  37. package/build/p2p/interfaces.d.ts +1 -0
  38. package/build/p2p/models.d.ts +50 -1
  39. package/build/p2p/session.d.ts +12 -2
  40. package/build/p2p/session.js +533 -379
  41. package/build/p2p/session.js.map +1 -1
  42. package/build/p2p/types.d.ts +51 -28
  43. package/build/p2p/types.js +57 -40
  44. package/build/p2p/types.js.map +1 -1
  45. package/build/p2p/utils.d.ts +8 -2
  46. package/build/p2p/utils.js +109 -2
  47. package/build/p2p/utils.js.map +1 -1
  48. package/build/push/models.d.ts +37 -1
  49. package/build/push/models.js.map +1 -1
  50. package/build/push/service.js +128 -167
  51. package/build/push/service.js.map +1 -1
  52. package/build/push/types.d.ts +51 -0
  53. package/build/push/types.js +55 -1
  54. package/build/push/types.js.map +1 -1
  55. package/build/utils.js +3 -3
  56. package/build/utils.js.map +1 -1
  57. package/package.json +7 -7
package/README.md CHANGED
@@ -80,27 +80,46 @@ Please use GitHub issues for this.
80
80
 
81
81
  ## Changelog
82
82
 
83
- ### 2.2.0-rc.2 (2022-08-27)
83
+ ### 2.2.0 (2022-11-01)
84
84
 
85
+ * (bropat) **Breaking Change** Renamed all lock settings parameters according to standard
86
+ * (bropat) **Breaking Change** Station class initialization is now async
87
+ * (bropat) Renewed p2p device address discovery (now also includes local discovery via broadcast; cloud discovery optimised)
88
+ * (bropat) Added support for Doorbell Dual notification types (package delivered, package taken, package stranded, someone loitering, radar motion detected)
89
+ * (bropat) Added support for eufyCam 3C (#233)
90
+ * (bropat) Added support for eufyCam 3 (#228)
91
+ * (bropat) Added support for Homebase 3 (#228)
92
+ * (bropat) Added support to programmatically add access to lock (#204)
93
+ * (thieren) Added station event for connection timeout (#202)
94
+ * (bropat) Added Smart Safe support (tested only T7400; #182)
85
95
  * (bropat) Added snooze command for supported devices (#173, #176)
86
96
  * (bropat) Added support for video type store to NAS for indoor cameras (#147)
97
+ * (bropat) Switched API login to new login_sec endpoint
98
+ * (bropat) Incremented p2p disconnect timeout for energy saving device to 30 seconds
99
+ * (bropat) Implemented new resend of not acknowledged p2p commands
87
100
  * (bropat) Fixed issue with energy saving measures interrupting running streams
88
101
  * (bropat) Better error handling for not supported p2p commands
89
102
  * (bropat) Fixed signalling of event `station command result`
90
- * (bropat) Updated docs - Added supported devices SoloCam L20 (T8122), SoloCam L40 (T8123), SoloCam S40 (T8124), SoloCam E20 (T8130)
91
- * (bropat) Changed default persistent directory path for saving persistent data
92
-
93
- ### 2.2.0-rc.1 (2022-08-19)
94
-
95
- * (bropat) **Breaking Change** Renamed all lock settings parameters according to standard
96
- * (bropat) Renewed p2p device address discovery (now also includes local discovery via broadcast; cloud discovery optimised)
97
- * (bropat) Added support for Doorbell Dual notification types (package delivered, package taken, package stranded, someone loitering, radar motion detected)
98
- * (bropat) Added Smart Safe support (tested only T7401; #182 **WIP**)
99
- * (thieren) Added station event for connection timeout (#202)
100
- * (bropat) Fixed issue #196
101
- * (bropat) Fixed issue #201
103
+ * (bropat) Fixed local device discovery exception (udp broadcast)
104
+ * (bropat) Fixed checking of valid property values (function validValues)
105
+ * (bropat) Fixed regression in parsing lock push notifications
106
+ * (bropat) Fixed updating of device properties on p2p command result event for some devices
107
+ * (bropat) Fixed parsing of raw values of property `motionDetectionSensitivity`
108
+ * (bropat) Fixed MQTT certification verification for some eufy servers (disabled certification verrification, since some server have expired certs)
102
109
  * (bropat) Fixed emitting of event "locked" for lock devices
110
+ * (bropat) Fixed issue #227
111
+ * (bropat) Fixed issue #215
112
+ * (bropat) Fixed issue #212
113
+ * (bropat) Fixed issue #207
114
+ * (bropat) Fixed issue #201
115
+ * (bropat) Fixed issue #196
116
+ * (martijnpoppen) FIX: set DevicePictureUrl for sound and crying (#234)
103
117
  * (bropat) Small bugfixes and optimizations
118
+ * (bropat) Updated docs - Added partial supported device HomeBase 3 (T8030, S380)
119
+ * (bropat) Updated docs - Added supported devices eufyCam 3 (T8160, S330), eufyCam 3C (T8161, S300)
120
+ * (bropat) Updated docs - Added supported devices Smart Safe S10 (T7400), Smart Safe S12 (T7401)
121
+ * (bropat) Updated docs - Added supported devices SoloCam L20 (T8122), SoloCam L40 (T8123), SoloCam S40 (T8124), SoloCam E20 (T8130)
122
+ * (bropat) Changed default persistent directory path for saving persistent data
104
123
 
105
124
  ### 2.1.2 (2022-07-30)
106
125
 
package/build/error.d.ts CHANGED
@@ -37,3 +37,21 @@ export declare class TalkbackError extends Error {
37
37
  export declare class StationConnectTimeoutError extends Error {
38
38
  constructor(message?: string);
39
39
  }
40
+ export declare class AddUserError extends Error {
41
+ constructor(message?: string);
42
+ }
43
+ export declare class DeleteUserError extends Error {
44
+ constructor(message?: string);
45
+ }
46
+ export declare class UpdateUserUsernameError extends Error {
47
+ constructor(message?: string);
48
+ }
49
+ export declare class UpdateUserScheduleError extends Error {
50
+ constructor(message?: string);
51
+ }
52
+ export declare class UpdateUserPasscodeError extends Error {
53
+ constructor(message?: string);
54
+ }
55
+ export declare class PinNotVerifiedError extends Error {
56
+ constructor(message?: string);
57
+ }
package/build/error.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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 = 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 = void 0;
4
4
  class InvalidCountryCodeError extends Error {
5
5
  constructor(message) {
6
6
  super(message);
@@ -105,4 +105,52 @@ class StationConnectTimeoutError extends Error {
105
105
  }
106
106
  }
107
107
  exports.StationConnectTimeoutError = StationConnectTimeoutError;
108
+ class AddUserError extends Error {
109
+ constructor(message) {
110
+ super(message);
111
+ Object.setPrototypeOf(this, new.target.prototype);
112
+ this.name = AddUserError.name;
113
+ }
114
+ }
115
+ exports.AddUserError = AddUserError;
116
+ class DeleteUserError extends Error {
117
+ constructor(message) {
118
+ super(message);
119
+ Object.setPrototypeOf(this, new.target.prototype);
120
+ this.name = DeleteUserError.name;
121
+ }
122
+ }
123
+ exports.DeleteUserError = DeleteUserError;
124
+ class UpdateUserUsernameError extends Error {
125
+ constructor(message) {
126
+ super(message);
127
+ Object.setPrototypeOf(this, new.target.prototype);
128
+ this.name = UpdateUserUsernameError.name;
129
+ }
130
+ }
131
+ exports.UpdateUserUsernameError = UpdateUserUsernameError;
132
+ class UpdateUserScheduleError extends Error {
133
+ constructor(message) {
134
+ super(message);
135
+ Object.setPrototypeOf(this, new.target.prototype);
136
+ this.name = UpdateUserScheduleError.name;
137
+ }
138
+ }
139
+ exports.UpdateUserScheduleError = UpdateUserScheduleError;
140
+ class UpdateUserPasscodeError extends Error {
141
+ constructor(message) {
142
+ super(message);
143
+ Object.setPrototypeOf(this, new.target.prototype);
144
+ this.name = UpdateUserPasscodeError.name;
145
+ }
146
+ }
147
+ exports.UpdateUserPasscodeError = UpdateUserPasscodeError;
148
+ class PinNotVerifiedError extends Error {
149
+ constructor(message) {
150
+ super(message);
151
+ Object.setPrototypeOf(this, new.target.prototype);
152
+ this.name = PinNotVerifiedError.name;
153
+ }
154
+ }
155
+ exports.PinNotVerifiedError = PinNotVerifiedError;
108
156
  //# 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,7 +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
+ import { LoginOptions, Schedule } from "./http/interfaces";
6
6
  import { Station } from "./http/station";
7
7
  import { PushNotificationService } from "./push/service";
8
8
  import { Credentials } from "./push/models";
@@ -30,6 +30,7 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
30
30
  private refreshEufySecurityCloudTimeout?;
31
31
  private refreshEufySecurityP2PTimeout;
32
32
  private deviceSnoozeTimeout;
33
+ private loadingStations?;
33
34
  private loadingDevices?;
34
35
  private constructor();
35
36
  static initialize(config: EufySecurityConfig, log?: Logger): Promise<EufySecurity>;
@@ -45,12 +46,12 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
45
46
  getDevices(): Promise<Array<Device>>;
46
47
  getDevice(deviceSN: string): Promise<Device>;
47
48
  getStationDevice(stationSN: string, channel: number): Promise<Device>;
48
- getStations(): Array<Station>;
49
- getStation(stationSN: string): Station;
49
+ getStations(): Promise<Array<Station>>;
50
+ getStation(stationSN: string): Promise<Station>;
50
51
  getApi(): HTTPApi;
51
52
  connectToStation(stationSN: string, p2pConnectionType?: P2PConnectionType): Promise<void>;
52
- isStationConnected(stationSN: string): boolean;
53
- isStationEnergySavingDevice(stationSN: string): boolean;
53
+ isStationConnected(stationSN: string): Promise<boolean>;
54
+ isStationEnergySavingDevice(stationSN: string): Promise<boolean>;
54
55
  private handleHouses;
55
56
  private handleHubs;
56
57
  private onStationConnect;
@@ -143,4 +144,10 @@ export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
143
144
  private onStationDeviceJammed;
144
145
  private onStationDeviceLowBattery;
145
146
  private onStationDeviceWrongTryProtectAlarm;
147
+ addUser(deviceSN: string, username: string, passcode: string, schedule?: Schedule): Promise<void>;
148
+ deleteUser(deviceSN: string, username: string): Promise<void>;
149
+ updateUser(deviceSN: string, username: string, newUsername: string): Promise<void>;
150
+ updateUserPasscode(deviceSN: string, username: string, passcode: string): Promise<void>;
151
+ updateUserSchedule(deviceSN: string, username: string, schedule: Schedule): Promise<void>;
152
+ private onStationDevicePinVerified;
146
153
  }