eufy-security-client 2.1.0 → 2.1.1

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 (76) hide show
  1. package/README.md +591 -582
  2. package/build/error.d.ts +36 -42
  3. package/build/error.js +99 -115
  4. package/build/error.js.map +1 -1
  5. package/build/eufysecurity.d.ts +127 -126
  6. package/build/eufysecurity.js +1555 -1551
  7. package/build/eufysecurity.js.map +1 -1
  8. package/build/http/api.d.ts +84 -84
  9. package/build/http/api.js +1154 -1154
  10. package/build/http/cache.d.ts +8 -8
  11. package/build/http/cache.js +33 -33
  12. package/build/http/device.d.ts +266 -266
  13. package/build/http/device.js +1834 -1834
  14. package/build/http/error.d.ts +16 -16
  15. package/build/http/error.js +44 -44
  16. package/build/http/index.d.ts +9 -9
  17. package/build/http/index.js +28 -28
  18. package/build/http/interfaces.d.ts +161 -160
  19. package/build/http/interfaces.js +2 -2
  20. package/build/http/models.d.ts +516 -501
  21. package/build/http/models.js +2 -2
  22. package/build/http/parameter.d.ts +5 -5
  23. package/build/http/parameter.js +54 -54
  24. package/build/http/station.d.ts +250 -249
  25. package/build/http/station.js +4787 -4756
  26. package/build/http/station.js.map +1 -1
  27. package/build/http/types.d.ts +709 -697
  28. package/build/http/types.js +4423 -4363
  29. package/build/http/types.js.map +1 -1
  30. package/build/http/utils.d.ts +21 -21
  31. package/build/http/utils.js +3220 -3220
  32. package/build/index.d.ts +7 -7
  33. package/build/index.js +25 -25
  34. package/build/interfaces.d.ts +83 -82
  35. package/build/interfaces.js +2 -2
  36. package/build/mqtt/interface.d.ts +6 -6
  37. package/build/mqtt/interface.js +2 -2
  38. package/build/mqtt/model.d.ts +24 -24
  39. package/build/mqtt/model.js +2 -2
  40. package/build/mqtt/service.d.ts +30 -30
  41. package/build/mqtt/service.js +144 -144
  42. package/build/p2p/index.d.ts +5 -5
  43. package/build/p2p/index.js +22 -22
  44. package/build/p2p/interfaces.d.ts +154 -154
  45. package/build/p2p/interfaces.js +2 -2
  46. package/build/p2p/models.d.ts +70 -70
  47. package/build/p2p/models.js +2 -2
  48. package/build/p2p/session.d.ts +145 -145
  49. package/build/p2p/session.js +1711 -1709
  50. package/build/p2p/session.js.map +1 -1
  51. package/build/p2p/talkback.d.ts +10 -10
  52. package/build/p2p/talkback.js +22 -22
  53. package/build/p2p/types.d.ts +769 -768
  54. package/build/p2p/types.js +803 -802
  55. package/build/p2p/types.js.map +1 -1
  56. package/build/p2p/utils.d.ts +48 -48
  57. package/build/p2p/utils.js +491 -491
  58. package/build/push/client.d.ts +51 -51
  59. package/build/push/client.js +285 -285
  60. package/build/push/index.d.ts +5 -5
  61. package/build/push/index.js +21 -21
  62. package/build/push/interfaces.d.ts +19 -19
  63. package/build/push/interfaces.js +2 -2
  64. package/build/push/models.d.ts +238 -238
  65. package/build/push/models.js +30 -30
  66. package/build/push/parser.d.ts +28 -28
  67. package/build/push/parser.js +192 -192
  68. package/build/push/service.d.ts +45 -45
  69. package/build/push/service.js +611 -611
  70. package/build/push/types.d.ts +107 -107
  71. package/build/push/types.js +119 -119
  72. package/build/push/utils.d.ts +7 -7
  73. package/build/push/utils.js +79 -79
  74. package/build/utils.d.ts +12 -12
  75. package/build/utils.js +152 -152
  76. package/package.json +71 -71
package/README.md CHANGED
@@ -1,582 +1,591 @@
1
- # eufy-security-client
2
-
3
- ![Logo](docs/_media/eufy-security-client.png)
4
-
5
- [![node](https://img.shields.io/node/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
6
- [![NPM version](http://img.shields.io/npm/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
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)
9
- [![Dependency Status](https://img.shields.io/librariesio/release/npm/eufy-security-client)](https://libraries.io/npm/eufy-security-client)
10
- [![Known Vulnerabilities](https://snyk.io/test/github/bropat/eufy-security-client/badge.svg)](https://snyk.io/test/github/bropat/eufy-security-client)
11
-
12
- [![NPM](https://nodei.co/npm/eufy-security-client.png?downloads=true)](https://nodei.co/npm/eufy-security-client/)
13
-
14
- The development of this shared library was inspired by the work of the following people:
15
-
16
- * FuzzyMistborn (<https://github.com/FuzzyMistborn/python-eufy-security>)
17
- * keshavdv (<https://github.com/keshavdv/python-eufy-security>)
18
- * JanLoebel (<https://github.com/JanLoebel/eufy-node-client>)
19
-
20
- Credits go to them as well.
21
-
22
- If you appreciate my work and progress and want to support me, you can do it here:
23
-
24
- [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E332Q6Z)
25
- [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.me/pbroetto)
26
-
27
- **This project is not affiliated with Anker and Eufy (Eufy Security). It is a personal project that is maintained in spare time.**
28
-
29
- ## Description
30
-
31
- This shared library allows to control [Eufy security devices](https://us.eufylife.com/collections/security) by connecting to the Eufy cloud servers and local/remote stations over p2p.
32
-
33
- You need to provide your Cloud login credentials.
34
-
35
- One client instance will show all devices from one Eufy Cloud account and allows to control them.
36
-
37
- ## Features
38
-
39
- * Connects to Eufy cloud (supports 2fa)
40
- * Connects to station/devices using p2p communication (supported: local and remote connectivity)
41
- * Supports receiving push notification (unified push messages interface)
42
- * Basic P2P implementation that supports also commands not already implemented
43
- * Get info and parameters from stations/devices over https and/or p2p
44
- * P2P functionality already implemented:
45
- * Station:
46
- * Change guard mode
47
- * Reboot station
48
- * Devices:
49
- * Start livestream (local/remote p2p or rtmp over cloud)
50
- * Stop livestream (local/remote p2p or rtmp over cloud)
51
- * Enable/disable device
52
- * Enable/disable auto night vision (only camera products)
53
- * Enable/disable led (only camera 2 products, indoor cameras, floodlight camera, solo cameras and doorbells)
54
- * Enable/disable anti-theft detection (only camera 2 products)
55
- * Enable/disable motion detection
56
- * Enable/disable pet detection (only indoor cameras)
57
- * Enable/disable sound detection (only indoor cameras)
58
- * Enable/disable RTSP stream (only camera2 products, indoor cameras and solo cameras)
59
- * Change video watermark setting (only camera products)
60
- * Start/cancel download video
61
- * Quick response (only doorbells)
62
- * Lock/unlock (only smart lock products)
63
- * And many more, check it out...
64
-
65
- ## Documentation
66
-
67
- Look [here](https://bropat.github.io/eufy-security-client/).
68
-
69
- *As an example, you can look at the following projects: [ioBroker.eufy-security](https://github.com/bropat/ioBroker.eufy-security), [eufy-security-ws](https://github.com/bropat/eufy-security-ws), [eufy_security](https://github.com/fuatakgun/eufy_security)*
70
-
71
- ## Known working devices
72
-
73
- For a list of supported devices, please see [here](https://bropat.github.io/eufy-security-client/#/supported_devices).
74
-
75
- If more devices work (or also not) please report them by opening a GitHub issue.
76
-
77
- ## How to report issues and feature requests
78
-
79
- Please use GitHub issues for this.
80
-
81
- ## Changelog
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
-
127
- ### 1.6.6 (2022-02-12)
128
-
129
- * (bropat) Fixed issue where no devices/stations are found (#116)
130
-
131
- ### 1.6.5 (2022-02-08)
132
-
133
- * (bropat) Fixed regression in authentication flow introduced when fixing issue #116
134
- * (bropat) Updated versions of the package dependencies
135
-
136
- ### 1.6.4 (2022-02-07)
137
-
138
- * (bropat) Fixed issue #116 (choosing the correct country as in the Eufy App is esentially)
139
-
140
- **Note:** Selecting the correct country is essential for the devices to be found (should match the setting in the Eufy app).
141
-
142
- ### 1.6.3 (2022-02-06)
143
-
144
- * (bropat) Initialize MQTT connection only if supported devices are found
145
-
146
- ### 1.6.2 (2022-02-05)
147
-
148
- * (bropat) Fixed MQTT connection issue (error: 5)
149
-
150
- ### 1.6.1 (2022-02-05)
151
-
152
- * (bropat) Fixed small issue on driver upgrade of persistence data (has no impact; error entry in log on first startup)
153
-
154
- ### 1.6.0 (2022-02-05)
155
-
156
- * (bropat) Supports new [Home Management](https://communitysecurity.eufylife.com/t/tips-for-eufy-security-app-v4-0/2420747) feature of Eufy Security 4.0
157
- * (bropat) Added support for Smart Lock Touch & Wifi (T8520; #89)
158
- * (bropat) Implemented Eufy MQTT notification subscription for Smart Lock Touch & Wifi (T8520)
159
- * (bropat) Added auto lock setting for Smart Lock Touch & Wifi (T8520)
160
- * (bropat) Added auto lock schedule setting for Smart Lock Touch & Wifi (T8520)
161
- * (bropat) Added auto lock schedule start time setting for Smart Lock Touch & Wifi (T8520)
162
- * (bropat) Added auto lock schedule end time setting for Smart Lock Touch & Wifi (T8520)
163
- * (bropat) Added auto lock timer setting for Smart Lock Touch & Wifi (T8520)
164
- * (bropat) Added notification setting for Smart Lock Touch & Wifi (T8520)
165
- * (bropat) Added notification locked setting for Smart Lock Touch & Wifi (T8520)
166
- * (bropat) Added notification unlocked setting for Smart Lock Touch & Wifi (T8520)
167
- * (bropat) Added one touch locking setting for Smart Lock Touch & Wifi (T8520)
168
- * (bropat) Added scramble passcode setting for Smart Lock Touch & Wifi (T8520)
169
- * (bropat) Added sound setting for Smart Lock Touch & Wifi (T8520)
170
- * (bropat) Added wrong try protection setting for Smart Lock Touch & Wifi (T8520)
171
- * (bropat) Added wrong try attempts setting for Smart Lock Touch & Wifi (T8520)
172
- * (bropat) Added wrong try lockdown time setting for Smart Lock Touch & Wifi (T8520)
173
- * (bropat) Added lock/unlock command for Smart Lock Touch & Wifi (T8520)
174
- * (bropat) Added lock calibration command for Smart Lock Touch & Wifi (T8520)
175
- * (bropat) Improved p2p communication with energy saving devices
176
- * (bropat) Added new HTTPApi methods supporting Eufy Security 4.0
177
- * (bropat) Some small improvements were made to the HTTPApi
178
- * (bropat) Fixed issue #97
179
- * (bropat) Fixed issue #102
180
- * (bropat) Fixed issue #109
181
- * (bropat) Updated versions of the package dependencies
182
-
183
- ### 1.5.0 (2021-12-19)
184
-
185
- * (bropat) Added support for floodlight cam 2 pro (T8423)
186
- * (bropat) Added motion detection range setting for floodlight cam 2 pro (T8423)
187
- * (bropat) Added motion detection range standard sensitivity setting for floodlight cam 2 pro (T8423)
188
- * (bropat) Added motion detection range advanced left sensitivity setting for floodlight cam 2 pro (T8423)
189
- * (bropat) Added motion detection range advanced middle sensitivity setting for floodlight cam 2 pro (T8423)
190
- * (bropat) Added motion detection range advanced right sensitivity setting for floodlight cam 2 pro (T8423)
191
- * (bropat) Added motion detection range test mode setting for floodlight cam 2 pro (T8423)
192
- * (bropat) Added motion tracking sensitivity setting for floodlight cam 2 pro (T8423)
193
- * (bropat) Added motion auto-cruise setting for floodlight cam 2 pro (T8423)
194
- * (bropat) Added motion out-of-view detection setting for floodlight cam 2 pro (T8423)
195
- * (bropat) Added light setting color temperature manual setting for floodlight cam 2 pro (T8423)
196
- * (bropat) Added light setting color temperature mamotion setting for floodlight cam 2 pro (T8423)
197
- * (bropat) Added light setting color temperature schedule setting for floodlight cam 2 pro (T8423)
198
- * (bropat) Added light setting motion activation mode setting for floodlight cam 2 pro (T8423)
199
- * (bropat) Added video nightvision image adjustment setting for floodlight cam 2 pro (T8423)
200
- * (bropat) Added video color nightvision setting for floodlight cam 2 pro (T8423)
201
- * (bropat) Added auto calibration setting for floodlight cam 2 pro (T8423)
202
- * (bropat) Added start/stop rtsp livestream command for floodlight cam 2 pro (T8423)
203
- * (bropat) Added battery and wifi rssi properties to eufycam 1/E
204
- * (bropat) Implemented another p2p-keepalive mechanism found in some floodlights (e.g. T8420)
205
- * (bropat) Fixed support for floodlight (T8420) - tested with FW: 1.0.0.35 HW: 2.2
206
- * (bropat) Fixed status led setting for floodlight (T8420)
207
- * (bropat) Fixed motion detected setting for floodlight (T8420)
208
- * (bropat) Fixed motion detected sensitivity setting for floodlight (T8420)
209
- * (bropat) Fixed audio recording setting for floodlight (T8420)
210
- * (bropat) Fixed enable/disable device for floodlight (T8420)
211
- * (bropat) Fixed start livestream command for floodlight (T8420)
212
- * (bropat) Fixed issue #79
213
- * (bropat) Fixed issue #66
214
- * (bropat) Fixed some other minor issues
215
- * (bropat) Added docs (:construction:)
216
- * (bropat) Updated versions of the package dependencies
217
-
218
- ### 1.4.0 (2021-11-22)
219
-
220
- * (bropat) Implemented captcha authentication mechanism (API v2)
221
- * (bropat) Fixed issue #69
222
-
223
- ### 1.3.0 (2021-11-20)
224
-
225
- * (bropat) Implemented new encrypted authentication mechanism (API v2)
226
- * (bropat) Dropped old plaintext authentication mechanism (API v1)
227
- * (bropat) Fixed issue #67
228
- * (bropat) Exchanged axios with got for HTTP/2 support
229
-
230
- **Note:** If you have 2FA enabled, you will need to authenticate again after this update.
231
-
232
- ### 1.2.4 (2021-11-17)
233
-
234
- * (bropat) Fixed issue #63
235
-
236
- ### 1.2.3 (2021-11-16)
237
-
238
- * (bropat) Fixed issue #64
239
- * (bropat) Fixed issue #65
240
- * (bropat) Updated versions of the package dependencies
241
-
242
- ### 1.2.2 (2021-11-06)
243
-
244
- * (bropat) Fixed issue of wrong channel value on event rtsp livestream stopped
245
- * (bropat) Updated versions of the package dependencies
246
-
247
- ### 1.2.1 (2021-10-23)
248
-
249
- * (bropat) Changed event detection for start/stop local RTSP streaming
250
- * (bropat) Fixed regression introduced by fixing issue #51
251
- * (bropat) Fixed new implementation that detects interrupted p2p streams
252
- * (bropat) Fixed missing start/stop local RTSP streaming commands to hasCommand and getCommands
253
-
254
- ### 1.2.0 (2021-10-17)
255
-
256
- * (bropat) Extended p2p implementation to better support solo cameras and other battery powered devices
257
- * (bropat) Revised p2p implementation to send commands sequentially
258
- * (bropat) Added support for Floodlight T8422
259
- * (bropat) Added support for SoloCam E40 (T8131)
260
- * (bropat) Added experimental feature for supported devices: start/stop local RTSP streaming
261
- * (bropat) Added new properties for solo cameras: battery, batteryTemperature, wifiSignalLevel, state, chargingStatus, lastChargingDays, lastChargingRecordedEvents, lastChargingTotalEvents, batteryUsageLastWeek
262
- * (bropat) Implemented interrupted p2p stream detection
263
- * (bropat) Fixed issue #51
264
- * (bropat) Fixed push notifications for solo cameras (motion and person detection)
265
- * (bropat) Fixed "livestream stopped" if live stream is started for multiple devices of the same station (1 p2p session could start only 1 live stream at a time)
266
- * (bropat) Fixed "download finished" if download is started for multiple devices of the same station (1 p2p session could start only 1 download at a time)
267
- * (bropat) Fixed an issue where the P2P connection type PREFER_LOCAL did not attempt to connect if no local IP address was found
268
- * (bropat) Updated versions of the package dependencies
269
-
270
- ### 1.1.2 (2021-08-19)
271
-
272
- * (bropat) Fixed push notification issue on new indoor outdoor camera device (thx to @lenoxys)
273
- * (bropat) Fixed issue where device doesn't support p2p connection
274
-
275
- ### 1.1.1 (2021-08-13)
276
-
277
- * (bropat) Fixed p2p video streaming for some devices (fallback mechanism implemented)
278
- * (bropat) Fixed p2p audio codec detection
279
-
280
- ### 1.1.0 (2021-08-11)
281
-
282
- * (bropat) Added brightness light setting for 2c/2c pro cameras, new solo cameras and new outdoor cameras
283
- * (bropat) Added enable/disable light setting for 2c/2c pro cameras, new solo cameras and new outdoor cameras
284
- * (bropat) Added trigger/reset alarm sound for indoor cameras, solo cameras and floodlight cameras
285
- * (bropat) Added video streaming quality setting for 2c pro cameras
286
- * (bropat) Added video recording quality setting for 2c pro cameras
287
- * (bropat) Added trigger alarm sound for indoor cameras, solo cameras (incl. new) and floodlight cameras
288
- * (bropat) Added reset alarm sound for indoor cameras, solo cameras (incl. new) and floodlight cameras
289
- * (bropat) Added battery charging state for keypad devices
290
- * (bropat) Added new property "batteryIsCharging" for keypad devices
291
- * (bropat) Added property "wifiRssi" for keypad devices
292
- * (bropat) Added new property "nightvision" for devices supporting the "light" nightvision mode
293
- * (bropat) Added new properties "switchModeWithAccessCode", "autoEndAlarm" and "turnOffAlarmWithButton" for station with registered keypad
294
- * (bropat) Added default values for some properties that, if not set first, were not listed in the cloud response
295
- * (bropat) Fixed issue with guard mode setting where the "Off" state was not handled correctly (only supported with keypad) (#27)
296
- * (bropat) Fixed issue in class EufySecurity if start cloud stream command fails
297
- * (bropat) Fixed issue with "locked" event for locks
298
- * (bropat) Fixed issue with nightvision setting for devices with light (b&w, light, off)
299
- * (bropat) Fixed issue in station property value conversion for number or boolean types
300
- * (bropat) Fixed issue where "motionDetection" property was incorrectly updated instead of "motionDetected" when a push notification arrived
301
- * (lenoxys) Handle Lock Push Event for Lock / Unlock #36
302
-
303
- ### 1.0.0 (2021-08-07)
304
-
305
- * (bropat) Added new method "getSensorHistory" to HTTPApi class for getting entry sensor history data
306
- * (bropat) Added new events "station connect" and "station close" to EufySecurity class
307
- * (bropat) Added new "chargingStatus", "wifiSignalLevel", "rtspStreamUrl", "chirpVolume", "chirpTone", "videoHdr", "videoDistortionCorrection" and "videoRingRecord" properties for supported devices
308
- * (bropat) Added enable/disable led setting for camera 1 products
309
- * (bropat) Added motion detection sensitivity setting for camera 1 products and wired doorbell
310
- * (bropat) Added motion detection type setting for camera 1 products
311
- * (bropat) Added motion audio recording setting for camera 1 products and wired doorbell
312
- * (bropat) Added ringtone volume setting for wired doorbell
313
- * (bropat) Added enable/disable indoor chime setting for wired doorbell
314
- * (bropat) Added notification ring setting for wired doorbell
315
- * (bropat) Added notification motion setting for wired doorbell
316
- * (bropat) Added video streaming quality setting for wired doorbell
317
- * (bropat) Added video recording quality setting for wired doorbell
318
- * (bropat) Added video HDR setting for wired doorbell
319
- * (bropat) Added video distortion correction setting for wired doorbell
320
- * (bropat) Added video ring recording setting for wired doorbell
321
- * (bropat) Added notification type setting for camera 1 products, solo cameras and wired doorbell
322
- * (bropat) Added chirp volume setting for entry sensor
323
- * (bropat) Added chirp tone setting for entry sensor
324
- * (bropat) Implemented queuing of p2p commands in class P2PClientProtocol if connection to station isn't already present
325
- * (bropat) Renamed some properties for typo issues
326
- * (bropat) Renamed some properties to correct the use of camelcase
327
- * (bropat) Fixed issue where data was not updated (cloud and p2p polling)
328
- * (bropat) Fixed issue with resetting api_base when changing credentials
329
- * (bropat) Fixed some issues with clearing timeouts in class P2PClientProtocol
330
- * (bropat) Fixed issue in class P2PClientProtocol not detecting video codec for some devices (#)
331
- * (bropat) Fixed event "rtsp url" returning the url value containing nulls "\0"
332
- * (bropat) Updated versions of the package dependencies
333
-
334
- ### 0.9.4 (2021-07-23)
335
-
336
- * (bropat) Fixed regression on p2p connection timeout and reconnect tentatives
337
- * (bropat) Updated versions of the package dependencies
338
-
339
- ### 0.9.3 (2021-07-20)
340
-
341
- * (bropat) Fixed p2p livestream video regression
342
- * (bropat) Merged #22 - Add custom modes in alarm mode (thx to @piitaya)
343
-
344
- ### 0.9.1 (2021-07-17)
345
-
346
- * (bropat) Exported some missing error classes and types
347
- * (bropat) Checking valid direction values for panAndTilt command
348
-
349
- ### 0.9.0 (2021-07-16)
350
-
351
- * (bropat) **Breaking Change** Station/EufySecurity "guard mode" event changed to emit only the guard mode
352
- * (bropat) Added Station/EufySecurity "current mode" event that emits only the current mode change
353
- * (bropat) Added more Eufy Cloud error codes to "ResponseErrorCode"
354
- * (bropat) Added more server push notification types to "ServerPushEvent"
355
- * (bropat) Added pan an tilt functionality to supported indoor cameras
356
- * (bropat) Added functionality to handle invitations on "HTTPApi"
357
- * (bropat) Added error detection if stopping or starting stream that isn't running or already running
358
- * (bropat) Added new setting "acceptInvitations" to "EufySecurity" to accept invitations automatically
359
- * (bropat) Added floodlight camera light switch
360
- * (bropat) Added motion detection sensitivity for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
361
- * (bropat) Added motion detection type for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
362
- * (bropat) Added motion tracking for indoor camera pan & tilt cameras
363
- * (bropat) Added video stream quality setting for indoor cameras, solo cameras, floodlight cameras and battery doorbell
364
- * (bropat) Added video recording quality setting for indoor cameras
365
- * (bropat) Added WDR setting for battery doorbells
366
- * (bropat) Added microphone mute setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
367
- * (bropat) Added audio recording setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
368
- * (bropat) Added enable/disable speaker setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products
369
- * (bropat) Added speaker volume setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
370
- * (bropat) Added power source setting for camera 2 products cameras, eufy cameras and eufy E cameras
371
- * (bropat) Added power working mode setting for solo cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
372
- * (bropat) Added power custom working mode recording clip length setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
373
- * (bropat) Added power custom working mode recording retrigger interval setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
374
- * (bropat) Added power custom working mode recording ends if motion stops setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
375
- * (bropat) Added video streaming quality setting for indoor cameras, solo cameras, floodlight cameras and battery doorbells
376
- * (bropat) Added video recording quality setting for indoor 2k cameras
377
- * (bropat) Added motion detection sensitivity setting for indoor cameras, floodlight cameras and camera 2 products
378
- * (bropat) Added enable/disable motion tracking setting for indoor pan & tilt cameras
379
- * (bropat) Added motion detection type setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
380
- * (bropat) Added enable/disable WDR setting for battery doorbells
381
- * (bropat) Added ringtone volume setting for battery doorbells
382
- * (bropat) Added enable/disable chime indoor setting for battery doorbells
383
- * (bropat) Added enable/disable chime homebase setting for battery doorbells
384
- * (bropat) Added chime homebase ringtone volume setting for battery doorbells
385
- * (bropat) Added chime homebase ringtone type setting for battery doorbells
386
- * (bropat) Added notification type setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
387
- * (bropat) Added enable/disable person notification setting for indoor cameras
388
- * (bropat) Added enable/disable pet notification setting for indoor cameras
389
- * (bropat) Added enable/disable all other motion notification setting for indoor cameras
390
- * (bropat) Added enable/disable all sound notification setting for indoor cameras
391
- * (bropat) Added enable/disable crying notification setting for indoor cameras
392
- * (bropat) Added enable/disable motion notification setting for battery doorbells
393
- * (bropat) Added enable/disable ring notification setting for battery doorbells
394
- * (bropat) Added trigger alarm sound for camera 2 products
395
- * (bropat) Added reset alarm sound for camera 2 products
396
- * (bropat) Added trigger alarm sound for homebase 1+2
397
- * (bropat) Added reset alarm sound for homebase 1+2
398
- * (bropat) Added alarm tone setting for homebase 1+2
399
- * (bropat) Added alarm volume setting for homebase 1+2
400
- * (bropat) Added prompt volume setting for homebase 1+2
401
- * (bropat) Added time format setting for homebase 1+2
402
- * (bropat) Added enable/disable switch mode app notification setting for homebase 1+2
403
- * (bropat) Added enable/disable switch mode geofence notification setting for homebase 1+2
404
- * (bropat) Added enable/disable switch mode schedule notification setting for homebase 1+2
405
- * (bropat) Added enable/disable switch mode keypad notification setting for homebase 1+2
406
- * (bropat) Added enable/disable start alarm delay notification setting for homebase 1+2
407
- * (bropat) Added new floodlight, solo and outdoor cameras (untested!)
408
- * (bropat) Added alarm event for Station
409
- * (bropat) Picture url attribute is now also updated via push notifications
410
- * (bropat) Fixed issue where the "pollingIntervalMinutes" setting of "EufySecurity" was not respected
411
- * (bropat) Fixed p2p livestream for floodlight camera
412
- * (bropat) Fixed p2p enable/disable device for floodlight camera
413
- * (bropat) Fixed p2p enable/disable autonightvision for floodlight camera
414
- * (bropat) Fixed p2p download video
415
- * (bropat) Fixed P2PClientProtocol "close" event that was emitted even if there was no connection and a reconnection was attempted
416
- * (bropat) Fixed "guard mode" and "current mode" event not emittet in some conditions
417
- * (bropat) Fixed possible race conditions processing unordered p2p packets
418
- * (bropat) Optimized p2p lookup functionality
419
- * (bropat) Other small bugfixes and code cleanup
420
- * (bropat) Updated versions of the package dependencies
421
-
422
- ### 0.8.3 (2021-06-01)
423
-
424
- * (bropat) Fixed regression in p2p protocol
425
-
426
- ### 0.8.2 (2021-05-26)
427
-
428
- * (bropat) Fixed issue [#2](https://github.com/bropat/eufy-security-client/issues/2)
429
- * (bropat) Added new high level property "type" for devices/stations
430
- * (bropat) Updated versions of the package dependencies
431
-
432
- ### 0.8.1 (2021-05-14)
433
-
434
- * (bropat) Fixed (raw) property value refresh for devices and stations
435
- * (bropat) Fixed "enabled" property for standalone devices
436
- * (bropat) Fixed "lanIpAddress" property for standalone devices
437
- * (bropat) Fixed "macAddress" property for standalone devices
438
- * (bropat) Added "station raw property changed" and "device raw property changed" event for high level class EufySecurity
439
-
440
- ### 0.8.0 (2021-05-12)
441
-
442
- * (bropat) **Breaking Changes** (renamed emitter, renamed some functions etc.)
443
- * (bropat) Added high level class EufySecurity
444
- * (bropat) Added high level properties with metadata information
445
- * (bropat) Better error handling
446
- * (bropat) Fixed Guard Mode Emitter
447
- * (bropat) Fixed push notification for indoor and floodlight cams
448
- * (bropat) Cleanup code
449
- * (bropat) Updated versions of the package dependencies
450
-
451
- ### 0.7.2 (2021-04-10)
452
-
453
- * (bropat) Added new HTTP API methods: getVideoEvents, getAlarmEvents, getHistoryEvents, getAllVideoEvents, getAllAlarmEvents, getAllHistoryEvents
454
- * (bropat) P2P session: Added station serial number to logging entries for debugging purposes
455
- * (bropat) Updated versions of the package dependencies
456
-
457
- ### 0.7.1 (2021-04-02)
458
-
459
- * (bropat) Lowered UDP receive buffer size for FreeBSD
460
- * (bropat) Fixed lookup timeout issue on "local prefered" connection establishment
461
-
462
- ### 0.7.0 (2021-03-30)
463
-
464
- * (bropat) Added support for smart locks
465
- * (bropat) Added new P2P feature: lock/unlock smart lock products
466
- * (bropat) Optimized speed of P2P connection establishment
467
- * (bropat) Implemented P2P connection setup preference: local prefered, local only or quickest connection
468
- * (bropat) Trying to solve issue [#2](https://github.com/bropat/eufy-security-client/issues/2)
469
- * (bropat) Dropped support for NodeJS 10.x (min. requirement 12)
470
- * (bropat) Updated versions of the package dependencies
471
-
472
- ### 0.6.0 (2021-03-11)
473
-
474
- * (bropat) Added new command types to enum CommandType
475
- * (bropat) Added new P2P feature: enable/disable pet detection for indoor cameras
476
- * (bropat) Added new P2P feature: enable/disable sound detection for indoor cameras
477
- * (bropat) Added new P2P feature: enable/disable led for wired doorbells
478
- * (bropat) Added some functions to p2p station class: getLANIPAddress, getGuardMode, getCurrentMode
479
- * (bropat) Added new device class: BatteryDoorbellCamera, IndoorCamera, SoloCamera
480
- * (bropat) Added new functions to some device classes returning specific parameter values
481
- * (bropat) Renamed interface ParameterValue to StringValue and added new: BooleanValue, NumberValue
482
- * (bropat) All functions of the Device base class that return parameter values, return now the value and timestamp of the last modification
483
- * (bropat) Fixed enable/disable led (for battery doorbells, indoor cameras, floodlight camera and solo cameras)
484
- * (bropat) Fixed enable/disable motion detection (for wired doorbells, indoor cameras, floodlight camera and solo cameras)
485
- * (bropat) Fixed change video watermark setting (for wired doorbells, battery doorbells, indoor cameras and floodlight camera)
486
- * (bropat) Fixed issue with multibyte string with function buildCommandWithStringTypePayload
487
- * (bropat) Fixed issue on PushMessage interface (fixed parsing of file_path)
488
-
489
- ### 0.5.1 (2021-03-05)
490
-
491
- * (bropat) Fixed download of videos via p2p (wrong channel value in callback)
492
- * (bropat) Updated versions of the dev package dependencies
493
-
494
- ### 0.5.0 (2021-03-03)
495
-
496
- * (bropat) Added new P2P feature: enable/disable motion detection for camera products
497
- * (bropat) Added new P2P feature: enable/disable rtsp stream for camera2 products, indoor and solo cameras
498
- * (bropat) Added option to P2P session to enable quick start livestream (after receiving first video frame)
499
- * (bropat) Added new methods to HTTPApi for setting custom HTTP session headers: PhoneModel, Country, Language
500
- * (bropat) Changed return type of HTTPApi authenticate function
501
- * (bropat) Fixed issue during livestreaming if p2p connection is lost
502
-
503
- ### 0.4.4 (2021-02-20)
504
-
505
- * (bropat) Fixed possible race condition that sometimes interrupts the livestream
506
-
507
- ### 0.4.3 (2021-02-18)
508
-
509
- * (bropat) Added new P2P feature: quick response for doorbell products
510
- * (bropat) Fixed wired doorbell p2p livestream (should fix also indoor, floodlight and solo cameras)
511
- * (bropat) Fixed issue on new PushMessage interface
512
- * (bropat) Updated versions of the package dependencies
513
-
514
- ### 0.4.2 (2021-02-15)
515
-
516
- * (bropat) Fixed battery doorbell start livestream P2P command
517
- * (bropat) Added CMD_DOORBELL_SET_PAYLOAD as nested command type
518
-
519
- ### 0.4.1 (2021-02-14)
520
-
521
- * (bropat) Fixed small typo
522
- * (bropat) Uniform debug messages
523
-
524
- ### 0.4.0 (2021-02-13)
525
-
526
- * (bropat) Added new P2P feature: Enable/disable device (for camera products)
527
- * (bropat) Added new P2P feature: Enable/disable auto night vision (for camera products)
528
- * (bropat) Added new P2P feature: Enable/disable led (for camera 2 products, indoor cameras, floodlight camera and solo cameras)
529
- * (bropat) Added new P2P feature: Enable/disable anti-theft detection (for camera 2 products)
530
- * (bropat) Added new P2P feature: Change video watermark setting (for camera products)
531
- * (bropat) Fixed P2P command retry on error 503
532
- * (bropat) Fixed issue on new PushMessage interface
533
- * (bropat) Fixed issue with handling unencrypted video data
534
-
535
- ### 0.3.0 (2021-02-11)
536
-
537
- * (bropat) Added new P2P feature: Download video
538
- * (bropat) Implemented refreshing of device and station parameters via P2P
539
- * (bropat) Migrated to TypedEmitter (tiny-typed-emitter)
540
- * (bropat) Implemented new managed push notification class: PushNotificationService
541
- * (bropat) Removed old push notification class: PushRegisterService
542
- * (bropat) Renamed previous PushMessage interface to RawPushMessage
543
- * (bropat) Introduced new PushMessage interface that normalizes all push notification types into one
544
- * (bropat) Fixed issue where readable streams were not correctly destroyed when terminating p2p video streams
545
- * (bropat) Fixed P2P start livestream command for Floodlight / Indoor / Solo cameras
546
- * (bropat) Implemented refresh of GUARD_MODE on change of SCHEDULE_MODE over p2p (instantly)
547
-
548
- ### 0.2.2 (2021-02-06)
549
-
550
- * (bropat) Exported missing P2P interface: StreamMetadata
551
-
552
- ### 0.2.1 (2021-02-06)
553
-
554
- * (bropat) Added typescript declaration files
555
-
556
- ### 0.2.0 (2021-02-06)
557
-
558
- * (bropat) initial release
559
-
560
- ## License
561
-
562
- MIT License
563
-
564
- Copyright (c) 2021 bropat <patrick.broetto@gmail.com>
565
-
566
- Permission is hereby granted, free of charge, to any person obtaining a copy
567
- of this software and associated documentation files (the "Software"), to deal
568
- in the Software without restriction, including without limitation the rights
569
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
570
- copies of the Software, and to permit persons to whom the Software is
571
- furnished to do so, subject to the following conditions:
572
-
573
- The above copyright notice and this permission notice shall be included in all
574
- copies or substantial portions of the Software.
575
-
576
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
577
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
578
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
579
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
580
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
581
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
582
- SOFTWARE.
1
+ # eufy-security-client
2
+
3
+ ![Logo](docs/_media/eufy-security-client.png)
4
+
5
+ [![node](https://img.shields.io/node/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
6
+ [![NPM version](http://img.shields.io/npm/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
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)
9
+ [![Dependency Status](https://img.shields.io/librariesio/release/npm/eufy-security-client)](https://libraries.io/npm/eufy-security-client)
10
+ [![Known Vulnerabilities](https://snyk.io/test/github/bropat/eufy-security-client/badge.svg)](https://snyk.io/test/github/bropat/eufy-security-client)
11
+
12
+ [![NPM](https://nodei.co/npm/eufy-security-client.png?downloads=true)](https://nodei.co/npm/eufy-security-client/)
13
+
14
+ The development of this shared library was inspired by the work of the following people:
15
+
16
+ * FuzzyMistborn (<https://github.com/FuzzyMistborn/python-eufy-security>)
17
+ * keshavdv (<https://github.com/keshavdv/python-eufy-security>)
18
+ * JanLoebel (<https://github.com/JanLoebel/eufy-node-client>)
19
+
20
+ Credits go to them as well.
21
+
22
+ If you appreciate my work and progress and want to support me, you can do it here:
23
+
24
+ [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E332Q6Z)
25
+ [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.me/pbroetto)
26
+
27
+ **This project is not affiliated with Anker and Eufy (Eufy Security). It is a personal project that is maintained in spare time.**
28
+
29
+ ## Description
30
+
31
+ This shared library allows to control [Eufy security devices](https://us.eufylife.com/collections/security) by connecting to the Eufy cloud servers and local/remote stations over p2p.
32
+
33
+ You need to provide your Cloud login credentials.
34
+
35
+ One client instance will show all devices from one Eufy Cloud account and allows to control them.
36
+
37
+ ## Features
38
+
39
+ * Connects to Eufy cloud (supports 2fa)
40
+ * Connects to station/devices using p2p communication (supported: local and remote connectivity)
41
+ * Supports receiving push notification (unified push messages interface)
42
+ * Basic P2P implementation that supports also commands not already implemented
43
+ * Get info and parameters from stations/devices over https and/or p2p
44
+ * P2P functionality already implemented:
45
+ * Station:
46
+ * Change guard mode
47
+ * Reboot station
48
+ * Devices:
49
+ * Start livestream (local/remote p2p or rtmp over cloud)
50
+ * Stop livestream (local/remote p2p or rtmp over cloud)
51
+ * Enable/disable device
52
+ * Enable/disable auto night vision (only camera products)
53
+ * Enable/disable led (only camera 2 products, indoor cameras, floodlight camera, solo cameras and doorbells)
54
+ * Enable/disable anti-theft detection (only camera 2 products)
55
+ * Enable/disable motion detection
56
+ * Enable/disable pet detection (only indoor cameras)
57
+ * Enable/disable sound detection (only indoor cameras)
58
+ * Enable/disable RTSP stream (only camera2 products, indoor cameras and solo cameras)
59
+ * Change video watermark setting (only camera products)
60
+ * Start/cancel download video
61
+ * Quick response (only doorbells)
62
+ * Lock/unlock (only smart lock products)
63
+ * And many more, check it out...
64
+
65
+ ## Documentation
66
+
67
+ Look [here](https://bropat.github.io/eufy-security-client/).
68
+
69
+ *As an example, you can look at the following projects: [ioBroker.eufy-security](https://github.com/bropat/ioBroker.eufy-security), [eufy-security-ws](https://github.com/bropat/eufy-security-ws), [eufy_security](https://github.com/fuatakgun/eufy_security)*
70
+
71
+ ## Known working devices
72
+
73
+ For a list of supported devices, please see [here](https://bropat.github.io/eufy-security-client/#/supported_devices).
74
+
75
+ If more devices work (or also not) please report them by opening a GitHub issue.
76
+
77
+ ## How to report issues and feature requests
78
+
79
+ Please use GitHub issues for this.
80
+
81
+ ## Changelog
82
+
83
+ ### 2.1.1 (2022-07-16)
84
+
85
+ * (Palmke) Add alarm arm delay event (#180)
86
+ * (thieren) Fix: stream command for T8420 (#171)
87
+ * (Palmke) Don't send the alarm armed p2p events as alarm events (#169)
88
+ * (bropat) Fixed issue #167
89
+ * (bropat) Fixed issue #161
90
+ * (bropat) Updated versions of the package dependencies
91
+
92
+ ### 2.1.0 (2022-06-12)
93
+
94
+ * (bropat) Added toggle for Spotlight for Outdoor Cam Pro (T8441; #123)
95
+ * (bropat & thieren) Added talkback commands for supported devices (#38, #153; thanks @thieren)
96
+ * (fabianluque) Added missing RTSP properties for Floodlight T8423 (#146)
97
+ * (Palmke) Add alarm delay event (#88, #155)
98
+ * (Palmke) P&T T8410: Set motion zone and image mirror (#156)
99
+ * (Palmke) Send an event when the alarm is armed and alarm events from p2p (#105, #157)
100
+ * (bropat) Implemented simple request throttling for Eufy Cloud
101
+ * (bropat) Fixed push notification token renewal
102
+ * (bropat) Fixed issue #161
103
+
104
+ ### 2.0.1 (2022-05-03)
105
+
106
+ * (bropat) **Breaking Change** Fixed regression in device data loading
107
+ * (bropat) Target set back to ES2019
108
+
109
+ ### 2.0.0 (2022-04-30)
110
+
111
+ * (bropat) **Breaking Change** Requires node version >= 14.17
112
+ * (bropat) **Breaking Change** HTTPApi class, EufySecurity class and Device classes instantiation changed
113
+ * (bropat) **Breaking Change** Timestamp for device and station properties has been removed
114
+ * (bropat) Added support for Battery Doorbell Dual (T8213; #126)
115
+ * (bropat) Added support for Video Doorbell Dual (T8203; #141)
116
+ * (bropat) Added support for IndoorCam Mini (T8414; #143)
117
+ * (bropat) Added continuos recording setting for some supported cameras
118
+ * (bropat) Added continuos recording type setting for some supported cameras
119
+ * (bropat) Added default angle setting for IndoorCam Mini (T8414)
120
+ * (bropat) Added default angle idle time setting for IndoorCam Mini (T8414)
121
+ * (bropat) Added notification interval time setting for some supported cameras
122
+ * (bropat) Added calibrate command for some supported cameras
123
+ * (bropat) Added set default angle command for IndoorCam Mini (T8414
124
+ * (bropat) Added set privacy angle command for IndoorCam Mini (T8414)
125
+ * (bropat) Removed PREFER_LOCAL P2P connectivity mode. Default mode is now QUICKEST.
126
+ * (bropat) Added new charging status "solar charging" (value: 4; issue #127)
127
+ * (bropat) Fixed Eufy cloud authentication token renewal
128
+ * (bropat) Fixed some Eufy cloud authentication issues
129
+ * (bropat) Fixed authentication issues when changing country setting
130
+ * (bropat) Fixed possible wrong battery values on some devices
131
+ * (bropat) Fixed issue if device doesn't support P2P communication
132
+ * (bropat) Fixed issue #136
133
+ * (bropat) Fixed issue #122
134
+ * (bropat) Updated versions of the package dependencies
135
+
136
+ ### 1.6.6 (2022-02-12)
137
+
138
+ * (bropat) Fixed issue where no devices/stations are found (#116)
139
+
140
+ ### 1.6.5 (2022-02-08)
141
+
142
+ * (bropat) Fixed regression in authentication flow introduced when fixing issue #116
143
+ * (bropat) Updated versions of the package dependencies
144
+
145
+ ### 1.6.4 (2022-02-07)
146
+
147
+ * (bropat) Fixed issue #116 (choosing the correct country as in the Eufy App is esentially)
148
+
149
+ **Note:** Selecting the correct country is essential for the devices to be found (should match the setting in the Eufy app).
150
+
151
+ ### 1.6.3 (2022-02-06)
152
+
153
+ * (bropat) Initialize MQTT connection only if supported devices are found
154
+
155
+ ### 1.6.2 (2022-02-05)
156
+
157
+ * (bropat) Fixed MQTT connection issue (error: 5)
158
+
159
+ ### 1.6.1 (2022-02-05)
160
+
161
+ * (bropat) Fixed small issue on driver upgrade of persistence data (has no impact; error entry in log on first startup)
162
+
163
+ ### 1.6.0 (2022-02-05)
164
+
165
+ * (bropat) Supports new [Home Management](https://communitysecurity.eufylife.com/t/tips-for-eufy-security-app-v4-0/2420747) feature of Eufy Security 4.0
166
+ * (bropat) Added support for Smart Lock Touch & Wifi (T8520; #89)
167
+ * (bropat) Implemented Eufy MQTT notification subscription for Smart Lock Touch & Wifi (T8520)
168
+ * (bropat) Added auto lock setting for Smart Lock Touch & Wifi (T8520)
169
+ * (bropat) Added auto lock schedule setting for Smart Lock Touch & Wifi (T8520)
170
+ * (bropat) Added auto lock schedule start time setting for Smart Lock Touch & Wifi (T8520)
171
+ * (bropat) Added auto lock schedule end time setting for Smart Lock Touch & Wifi (T8520)
172
+ * (bropat) Added auto lock timer setting for Smart Lock Touch & Wifi (T8520)
173
+ * (bropat) Added notification setting for Smart Lock Touch & Wifi (T8520)
174
+ * (bropat) Added notification locked setting for Smart Lock Touch & Wifi (T8520)
175
+ * (bropat) Added notification unlocked setting for Smart Lock Touch & Wifi (T8520)
176
+ * (bropat) Added one touch locking setting for Smart Lock Touch & Wifi (T8520)
177
+ * (bropat) Added scramble passcode setting for Smart Lock Touch & Wifi (T8520)
178
+ * (bropat) Added sound setting for Smart Lock Touch & Wifi (T8520)
179
+ * (bropat) Added wrong try protection setting for Smart Lock Touch & Wifi (T8520)
180
+ * (bropat) Added wrong try attempts setting for Smart Lock Touch & Wifi (T8520)
181
+ * (bropat) Added wrong try lockdown time setting for Smart Lock Touch & Wifi (T8520)
182
+ * (bropat) Added lock/unlock command for Smart Lock Touch & Wifi (T8520)
183
+ * (bropat) Added lock calibration command for Smart Lock Touch & Wifi (T8520)
184
+ * (bropat) Improved p2p communication with energy saving devices
185
+ * (bropat) Added new HTTPApi methods supporting Eufy Security 4.0
186
+ * (bropat) Some small improvements were made to the HTTPApi
187
+ * (bropat) Fixed issue #97
188
+ * (bropat) Fixed issue #102
189
+ * (bropat) Fixed issue #109
190
+ * (bropat) Updated versions of the package dependencies
191
+
192
+ ### 1.5.0 (2021-12-19)
193
+
194
+ * (bropat) Added support for floodlight cam 2 pro (T8423)
195
+ * (bropat) Added motion detection range setting for floodlight cam 2 pro (T8423)
196
+ * (bropat) Added motion detection range standard sensitivity setting for floodlight cam 2 pro (T8423)
197
+ * (bropat) Added motion detection range advanced left sensitivity setting for floodlight cam 2 pro (T8423)
198
+ * (bropat) Added motion detection range advanced middle sensitivity setting for floodlight cam 2 pro (T8423)
199
+ * (bropat) Added motion detection range advanced right sensitivity setting for floodlight cam 2 pro (T8423)
200
+ * (bropat) Added motion detection range test mode setting for floodlight cam 2 pro (T8423)
201
+ * (bropat) Added motion tracking sensitivity setting for floodlight cam 2 pro (T8423)
202
+ * (bropat) Added motion auto-cruise setting for floodlight cam 2 pro (T8423)
203
+ * (bropat) Added motion out-of-view detection setting for floodlight cam 2 pro (T8423)
204
+ * (bropat) Added light setting color temperature manual setting for floodlight cam 2 pro (T8423)
205
+ * (bropat) Added light setting color temperature mamotion setting for floodlight cam 2 pro (T8423)
206
+ * (bropat) Added light setting color temperature schedule setting for floodlight cam 2 pro (T8423)
207
+ * (bropat) Added light setting motion activation mode setting for floodlight cam 2 pro (T8423)
208
+ * (bropat) Added video nightvision image adjustment setting for floodlight cam 2 pro (T8423)
209
+ * (bropat) Added video color nightvision setting for floodlight cam 2 pro (T8423)
210
+ * (bropat) Added auto calibration setting for floodlight cam 2 pro (T8423)
211
+ * (bropat) Added start/stop rtsp livestream command for floodlight cam 2 pro (T8423)
212
+ * (bropat) Added battery and wifi rssi properties to eufycam 1/E
213
+ * (bropat) Implemented another p2p-keepalive mechanism found in some floodlights (e.g. T8420)
214
+ * (bropat) Fixed support for floodlight (T8420) - tested with FW: 1.0.0.35 HW: 2.2
215
+ * (bropat) Fixed status led setting for floodlight (T8420)
216
+ * (bropat) Fixed motion detected setting for floodlight (T8420)
217
+ * (bropat) Fixed motion detected sensitivity setting for floodlight (T8420)
218
+ * (bropat) Fixed audio recording setting for floodlight (T8420)
219
+ * (bropat) Fixed enable/disable device for floodlight (T8420)
220
+ * (bropat) Fixed start livestream command for floodlight (T8420)
221
+ * (bropat) Fixed issue #79
222
+ * (bropat) Fixed issue #66
223
+ * (bropat) Fixed some other minor issues
224
+ * (bropat) Added docs (:construction:)
225
+ * (bropat) Updated versions of the package dependencies
226
+
227
+ ### 1.4.0 (2021-11-22)
228
+
229
+ * (bropat) Implemented captcha authentication mechanism (API v2)
230
+ * (bropat) Fixed issue #69
231
+
232
+ ### 1.3.0 (2021-11-20)
233
+
234
+ * (bropat) Implemented new encrypted authentication mechanism (API v2)
235
+ * (bropat) Dropped old plaintext authentication mechanism (API v1)
236
+ * (bropat) Fixed issue #67
237
+ * (bropat) Exchanged axios with got for HTTP/2 support
238
+
239
+ **Note:** If you have 2FA enabled, you will need to authenticate again after this update.
240
+
241
+ ### 1.2.4 (2021-11-17)
242
+
243
+ * (bropat) Fixed issue #63
244
+
245
+ ### 1.2.3 (2021-11-16)
246
+
247
+ * (bropat) Fixed issue #64
248
+ * (bropat) Fixed issue #65
249
+ * (bropat) Updated versions of the package dependencies
250
+
251
+ ### 1.2.2 (2021-11-06)
252
+
253
+ * (bropat) Fixed issue of wrong channel value on event rtsp livestream stopped
254
+ * (bropat) Updated versions of the package dependencies
255
+
256
+ ### 1.2.1 (2021-10-23)
257
+
258
+ * (bropat) Changed event detection for start/stop local RTSP streaming
259
+ * (bropat) Fixed regression introduced by fixing issue #51
260
+ * (bropat) Fixed new implementation that detects interrupted p2p streams
261
+ * (bropat) Fixed missing start/stop local RTSP streaming commands to hasCommand and getCommands
262
+
263
+ ### 1.2.0 (2021-10-17)
264
+
265
+ * (bropat) Extended p2p implementation to better support solo cameras and other battery powered devices
266
+ * (bropat) Revised p2p implementation to send commands sequentially
267
+ * (bropat) Added support for Floodlight T8422
268
+ * (bropat) Added support for SoloCam E40 (T8131)
269
+ * (bropat) Added experimental feature for supported devices: start/stop local RTSP streaming
270
+ * (bropat) Added new properties for solo cameras: battery, batteryTemperature, wifiSignalLevel, state, chargingStatus, lastChargingDays, lastChargingRecordedEvents, lastChargingTotalEvents, batteryUsageLastWeek
271
+ * (bropat) Implemented interrupted p2p stream detection
272
+ * (bropat) Fixed issue #51
273
+ * (bropat) Fixed push notifications for solo cameras (motion and person detection)
274
+ * (bropat) Fixed "livestream stopped" if live stream is started for multiple devices of the same station (1 p2p session could start only 1 live stream at a time)
275
+ * (bropat) Fixed "download finished" if download is started for multiple devices of the same station (1 p2p session could start only 1 download at a time)
276
+ * (bropat) Fixed an issue where the P2P connection type PREFER_LOCAL did not attempt to connect if no local IP address was found
277
+ * (bropat) Updated versions of the package dependencies
278
+
279
+ ### 1.1.2 (2021-08-19)
280
+
281
+ * (bropat) Fixed push notification issue on new indoor outdoor camera device (thx to @lenoxys)
282
+ * (bropat) Fixed issue where device doesn't support p2p connection
283
+
284
+ ### 1.1.1 (2021-08-13)
285
+
286
+ * (bropat) Fixed p2p video streaming for some devices (fallback mechanism implemented)
287
+ * (bropat) Fixed p2p audio codec detection
288
+
289
+ ### 1.1.0 (2021-08-11)
290
+
291
+ * (bropat) Added brightness light setting for 2c/2c pro cameras, new solo cameras and new outdoor cameras
292
+ * (bropat) Added enable/disable light setting for 2c/2c pro cameras, new solo cameras and new outdoor cameras
293
+ * (bropat) Added trigger/reset alarm sound for indoor cameras, solo cameras and floodlight cameras
294
+ * (bropat) Added video streaming quality setting for 2c pro cameras
295
+ * (bropat) Added video recording quality setting for 2c pro cameras
296
+ * (bropat) Added trigger alarm sound for indoor cameras, solo cameras (incl. new) and floodlight cameras
297
+ * (bropat) Added reset alarm sound for indoor cameras, solo cameras (incl. new) and floodlight cameras
298
+ * (bropat) Added battery charging state for keypad devices
299
+ * (bropat) Added new property "batteryIsCharging" for keypad devices
300
+ * (bropat) Added property "wifiRssi" for keypad devices
301
+ * (bropat) Added new property "nightvision" for devices supporting the "light" nightvision mode
302
+ * (bropat) Added new properties "switchModeWithAccessCode", "autoEndAlarm" and "turnOffAlarmWithButton" for station with registered keypad
303
+ * (bropat) Added default values for some properties that, if not set first, were not listed in the cloud response
304
+ * (bropat) Fixed issue with guard mode setting where the "Off" state was not handled correctly (only supported with keypad) (#27)
305
+ * (bropat) Fixed issue in class EufySecurity if start cloud stream command fails
306
+ * (bropat) Fixed issue with "locked" event for locks
307
+ * (bropat) Fixed issue with nightvision setting for devices with light (b&w, light, off)
308
+ * (bropat) Fixed issue in station property value conversion for number or boolean types
309
+ * (bropat) Fixed issue where "motionDetection" property was incorrectly updated instead of "motionDetected" when a push notification arrived
310
+ * (lenoxys) Handle Lock Push Event for Lock / Unlock #36
311
+
312
+ ### 1.0.0 (2021-08-07)
313
+
314
+ * (bropat) Added new method "getSensorHistory" to HTTPApi class for getting entry sensor history data
315
+ * (bropat) Added new events "station connect" and "station close" to EufySecurity class
316
+ * (bropat) Added new "chargingStatus", "wifiSignalLevel", "rtspStreamUrl", "chirpVolume", "chirpTone", "videoHdr", "videoDistortionCorrection" and "videoRingRecord" properties for supported devices
317
+ * (bropat) Added enable/disable led setting for camera 1 products
318
+ * (bropat) Added motion detection sensitivity setting for camera 1 products and wired doorbell
319
+ * (bropat) Added motion detection type setting for camera 1 products
320
+ * (bropat) Added motion audio recording setting for camera 1 products and wired doorbell
321
+ * (bropat) Added ringtone volume setting for wired doorbell
322
+ * (bropat) Added enable/disable indoor chime setting for wired doorbell
323
+ * (bropat) Added notification ring setting for wired doorbell
324
+ * (bropat) Added notification motion setting for wired doorbell
325
+ * (bropat) Added video streaming quality setting for wired doorbell
326
+ * (bropat) Added video recording quality setting for wired doorbell
327
+ * (bropat) Added video HDR setting for wired doorbell
328
+ * (bropat) Added video distortion correction setting for wired doorbell
329
+ * (bropat) Added video ring recording setting for wired doorbell
330
+ * (bropat) Added notification type setting for camera 1 products, solo cameras and wired doorbell
331
+ * (bropat) Added chirp volume setting for entry sensor
332
+ * (bropat) Added chirp tone setting for entry sensor
333
+ * (bropat) Implemented queuing of p2p commands in class P2PClientProtocol if connection to station isn't already present
334
+ * (bropat) Renamed some properties for typo issues
335
+ * (bropat) Renamed some properties to correct the use of camelcase
336
+ * (bropat) Fixed issue where data was not updated (cloud and p2p polling)
337
+ * (bropat) Fixed issue with resetting api_base when changing credentials
338
+ * (bropat) Fixed some issues with clearing timeouts in class P2PClientProtocol
339
+ * (bropat) Fixed issue in class P2PClientProtocol not detecting video codec for some devices (#)
340
+ * (bropat) Fixed event "rtsp url" returning the url value containing nulls "\0"
341
+ * (bropat) Updated versions of the package dependencies
342
+
343
+ ### 0.9.4 (2021-07-23)
344
+
345
+ * (bropat) Fixed regression on p2p connection timeout and reconnect tentatives
346
+ * (bropat) Updated versions of the package dependencies
347
+
348
+ ### 0.9.3 (2021-07-20)
349
+
350
+ * (bropat) Fixed p2p livestream video regression
351
+ * (bropat) Merged #22 - Add custom modes in alarm mode (thx to @piitaya)
352
+
353
+ ### 0.9.1 (2021-07-17)
354
+
355
+ * (bropat) Exported some missing error classes and types
356
+ * (bropat) Checking valid direction values for panAndTilt command
357
+
358
+ ### 0.9.0 (2021-07-16)
359
+
360
+ * (bropat) **Breaking Change** Station/EufySecurity "guard mode" event changed to emit only the guard mode
361
+ * (bropat) Added Station/EufySecurity "current mode" event that emits only the current mode change
362
+ * (bropat) Added more Eufy Cloud error codes to "ResponseErrorCode"
363
+ * (bropat) Added more server push notification types to "ServerPushEvent"
364
+ * (bropat) Added pan an tilt functionality to supported indoor cameras
365
+ * (bropat) Added functionality to handle invitations on "HTTPApi"
366
+ * (bropat) Added error detection if stopping or starting stream that isn't running or already running
367
+ * (bropat) Added new setting "acceptInvitations" to "EufySecurity" to accept invitations automatically
368
+ * (bropat) Added floodlight camera light switch
369
+ * (bropat) Added motion detection sensitivity for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
370
+ * (bropat) Added motion detection type for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
371
+ * (bropat) Added motion tracking for indoor camera pan & tilt cameras
372
+ * (bropat) Added video stream quality setting for indoor cameras, solo cameras, floodlight cameras and battery doorbell
373
+ * (bropat) Added video recording quality setting for indoor cameras
374
+ * (bropat) Added WDR setting for battery doorbells
375
+ * (bropat) Added microphone mute setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
376
+ * (bropat) Added audio recording setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
377
+ * (bropat) Added enable/disable speaker setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products
378
+ * (bropat) Added speaker volume setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
379
+ * (bropat) Added power source setting for camera 2 products cameras, eufy cameras and eufy E cameras
380
+ * (bropat) Added power working mode setting for solo cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
381
+ * (bropat) Added power custom working mode recording clip length setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
382
+ * (bropat) Added power custom working mode recording retrigger interval setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
383
+ * (bropat) Added power custom working mode recording ends if motion stops setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
384
+ * (bropat) Added video streaming quality setting for indoor cameras, solo cameras, floodlight cameras and battery doorbells
385
+ * (bropat) Added video recording quality setting for indoor 2k cameras
386
+ * (bropat) Added motion detection sensitivity setting for indoor cameras, floodlight cameras and camera 2 products
387
+ * (bropat) Added enable/disable motion tracking setting for indoor pan & tilt cameras
388
+ * (bropat) Added motion detection type setting for indoor cameras, solo cameras, floodlight cameras, camera 2 products and battery doorbells
389
+ * (bropat) Added enable/disable WDR setting for battery doorbells
390
+ * (bropat) Added ringtone volume setting for battery doorbells
391
+ * (bropat) Added enable/disable chime indoor setting for battery doorbells
392
+ * (bropat) Added enable/disable chime homebase setting for battery doorbells
393
+ * (bropat) Added chime homebase ringtone volume setting for battery doorbells
394
+ * (bropat) Added chime homebase ringtone type setting for battery doorbells
395
+ * (bropat) Added notification type setting for solo cameras, floodlight cameras, camera 2 products, battery doorbells, eufy cameras and eufy E cameras
396
+ * (bropat) Added enable/disable person notification setting for indoor cameras
397
+ * (bropat) Added enable/disable pet notification setting for indoor cameras
398
+ * (bropat) Added enable/disable all other motion notification setting for indoor cameras
399
+ * (bropat) Added enable/disable all sound notification setting for indoor cameras
400
+ * (bropat) Added enable/disable crying notification setting for indoor cameras
401
+ * (bropat) Added enable/disable motion notification setting for battery doorbells
402
+ * (bropat) Added enable/disable ring notification setting for battery doorbells
403
+ * (bropat) Added trigger alarm sound for camera 2 products
404
+ * (bropat) Added reset alarm sound for camera 2 products
405
+ * (bropat) Added trigger alarm sound for homebase 1+2
406
+ * (bropat) Added reset alarm sound for homebase 1+2
407
+ * (bropat) Added alarm tone setting for homebase 1+2
408
+ * (bropat) Added alarm volume setting for homebase 1+2
409
+ * (bropat) Added prompt volume setting for homebase 1+2
410
+ * (bropat) Added time format setting for homebase 1+2
411
+ * (bropat) Added enable/disable switch mode app notification setting for homebase 1+2
412
+ * (bropat) Added enable/disable switch mode geofence notification setting for homebase 1+2
413
+ * (bropat) Added enable/disable switch mode schedule notification setting for homebase 1+2
414
+ * (bropat) Added enable/disable switch mode keypad notification setting for homebase 1+2
415
+ * (bropat) Added enable/disable start alarm delay notification setting for homebase 1+2
416
+ * (bropat) Added new floodlight, solo and outdoor cameras (untested!)
417
+ * (bropat) Added alarm event for Station
418
+ * (bropat) Picture url attribute is now also updated via push notifications
419
+ * (bropat) Fixed issue where the "pollingIntervalMinutes" setting of "EufySecurity" was not respected
420
+ * (bropat) Fixed p2p livestream for floodlight camera
421
+ * (bropat) Fixed p2p enable/disable device for floodlight camera
422
+ * (bropat) Fixed p2p enable/disable autonightvision for floodlight camera
423
+ * (bropat) Fixed p2p download video
424
+ * (bropat) Fixed P2PClientProtocol "close" event that was emitted even if there was no connection and a reconnection was attempted
425
+ * (bropat) Fixed "guard mode" and "current mode" event not emittet in some conditions
426
+ * (bropat) Fixed possible race conditions processing unordered p2p packets
427
+ * (bropat) Optimized p2p lookup functionality
428
+ * (bropat) Other small bugfixes and code cleanup
429
+ * (bropat) Updated versions of the package dependencies
430
+
431
+ ### 0.8.3 (2021-06-01)
432
+
433
+ * (bropat) Fixed regression in p2p protocol
434
+
435
+ ### 0.8.2 (2021-05-26)
436
+
437
+ * (bropat) Fixed issue [#2](https://github.com/bropat/eufy-security-client/issues/2)
438
+ * (bropat) Added new high level property "type" for devices/stations
439
+ * (bropat) Updated versions of the package dependencies
440
+
441
+ ### 0.8.1 (2021-05-14)
442
+
443
+ * (bropat) Fixed (raw) property value refresh for devices and stations
444
+ * (bropat) Fixed "enabled" property for standalone devices
445
+ * (bropat) Fixed "lanIpAddress" property for standalone devices
446
+ * (bropat) Fixed "macAddress" property for standalone devices
447
+ * (bropat) Added "station raw property changed" and "device raw property changed" event for high level class EufySecurity
448
+
449
+ ### 0.8.0 (2021-05-12)
450
+
451
+ * (bropat) **Breaking Changes** (renamed emitter, renamed some functions etc.)
452
+ * (bropat) Added high level class EufySecurity
453
+ * (bropat) Added high level properties with metadata information
454
+ * (bropat) Better error handling
455
+ * (bropat) Fixed Guard Mode Emitter
456
+ * (bropat) Fixed push notification for indoor and floodlight cams
457
+ * (bropat) Cleanup code
458
+ * (bropat) Updated versions of the package dependencies
459
+
460
+ ### 0.7.2 (2021-04-10)
461
+
462
+ * (bropat) Added new HTTP API methods: getVideoEvents, getAlarmEvents, getHistoryEvents, getAllVideoEvents, getAllAlarmEvents, getAllHistoryEvents
463
+ * (bropat) P2P session: Added station serial number to logging entries for debugging purposes
464
+ * (bropat) Updated versions of the package dependencies
465
+
466
+ ### 0.7.1 (2021-04-02)
467
+
468
+ * (bropat) Lowered UDP receive buffer size for FreeBSD
469
+ * (bropat) Fixed lookup timeout issue on "local prefered" connection establishment
470
+
471
+ ### 0.7.0 (2021-03-30)
472
+
473
+ * (bropat) Added support for smart locks
474
+ * (bropat) Added new P2P feature: lock/unlock smart lock products
475
+ * (bropat) Optimized speed of P2P connection establishment
476
+ * (bropat) Implemented P2P connection setup preference: local prefered, local only or quickest connection
477
+ * (bropat) Trying to solve issue [#2](https://github.com/bropat/eufy-security-client/issues/2)
478
+ * (bropat) Dropped support for NodeJS 10.x (min. requirement 12)
479
+ * (bropat) Updated versions of the package dependencies
480
+
481
+ ### 0.6.0 (2021-03-11)
482
+
483
+ * (bropat) Added new command types to enum CommandType
484
+ * (bropat) Added new P2P feature: enable/disable pet detection for indoor cameras
485
+ * (bropat) Added new P2P feature: enable/disable sound detection for indoor cameras
486
+ * (bropat) Added new P2P feature: enable/disable led for wired doorbells
487
+ * (bropat) Added some functions to p2p station class: getLANIPAddress, getGuardMode, getCurrentMode
488
+ * (bropat) Added new device class: BatteryDoorbellCamera, IndoorCamera, SoloCamera
489
+ * (bropat) Added new functions to some device classes returning specific parameter values
490
+ * (bropat) Renamed interface ParameterValue to StringValue and added new: BooleanValue, NumberValue
491
+ * (bropat) All functions of the Device base class that return parameter values, return now the value and timestamp of the last modification
492
+ * (bropat) Fixed enable/disable led (for battery doorbells, indoor cameras, floodlight camera and solo cameras)
493
+ * (bropat) Fixed enable/disable motion detection (for wired doorbells, indoor cameras, floodlight camera and solo cameras)
494
+ * (bropat) Fixed change video watermark setting (for wired doorbells, battery doorbells, indoor cameras and floodlight camera)
495
+ * (bropat) Fixed issue with multibyte string with function buildCommandWithStringTypePayload
496
+ * (bropat) Fixed issue on PushMessage interface (fixed parsing of file_path)
497
+
498
+ ### 0.5.1 (2021-03-05)
499
+
500
+ * (bropat) Fixed download of videos via p2p (wrong channel value in callback)
501
+ * (bropat) Updated versions of the dev package dependencies
502
+
503
+ ### 0.5.0 (2021-03-03)
504
+
505
+ * (bropat) Added new P2P feature: enable/disable motion detection for camera products
506
+ * (bropat) Added new P2P feature: enable/disable rtsp stream for camera2 products, indoor and solo cameras
507
+ * (bropat) Added option to P2P session to enable quick start livestream (after receiving first video frame)
508
+ * (bropat) Added new methods to HTTPApi for setting custom HTTP session headers: PhoneModel, Country, Language
509
+ * (bropat) Changed return type of HTTPApi authenticate function
510
+ * (bropat) Fixed issue during livestreaming if p2p connection is lost
511
+
512
+ ### 0.4.4 (2021-02-20)
513
+
514
+ * (bropat) Fixed possible race condition that sometimes interrupts the livestream
515
+
516
+ ### 0.4.3 (2021-02-18)
517
+
518
+ * (bropat) Added new P2P feature: quick response for doorbell products
519
+ * (bropat) Fixed wired doorbell p2p livestream (should fix also indoor, floodlight and solo cameras)
520
+ * (bropat) Fixed issue on new PushMessage interface
521
+ * (bropat) Updated versions of the package dependencies
522
+
523
+ ### 0.4.2 (2021-02-15)
524
+
525
+ * (bropat) Fixed battery doorbell start livestream P2P command
526
+ * (bropat) Added CMD_DOORBELL_SET_PAYLOAD as nested command type
527
+
528
+ ### 0.4.1 (2021-02-14)
529
+
530
+ * (bropat) Fixed small typo
531
+ * (bropat) Uniform debug messages
532
+
533
+ ### 0.4.0 (2021-02-13)
534
+
535
+ * (bropat) Added new P2P feature: Enable/disable device (for camera products)
536
+ * (bropat) Added new P2P feature: Enable/disable auto night vision (for camera products)
537
+ * (bropat) Added new P2P feature: Enable/disable led (for camera 2 products, indoor cameras, floodlight camera and solo cameras)
538
+ * (bropat) Added new P2P feature: Enable/disable anti-theft detection (for camera 2 products)
539
+ * (bropat) Added new P2P feature: Change video watermark setting (for camera products)
540
+ * (bropat) Fixed P2P command retry on error 503
541
+ * (bropat) Fixed issue on new PushMessage interface
542
+ * (bropat) Fixed issue with handling unencrypted video data
543
+
544
+ ### 0.3.0 (2021-02-11)
545
+
546
+ * (bropat) Added new P2P feature: Download video
547
+ * (bropat) Implemented refreshing of device and station parameters via P2P
548
+ * (bropat) Migrated to TypedEmitter (tiny-typed-emitter)
549
+ * (bropat) Implemented new managed push notification class: PushNotificationService
550
+ * (bropat) Removed old push notification class: PushRegisterService
551
+ * (bropat) Renamed previous PushMessage interface to RawPushMessage
552
+ * (bropat) Introduced new PushMessage interface that normalizes all push notification types into one
553
+ * (bropat) Fixed issue where readable streams were not correctly destroyed when terminating p2p video streams
554
+ * (bropat) Fixed P2P start livestream command for Floodlight / Indoor / Solo cameras
555
+ * (bropat) Implemented refresh of GUARD_MODE on change of SCHEDULE_MODE over p2p (instantly)
556
+
557
+ ### 0.2.2 (2021-02-06)
558
+
559
+ * (bropat) Exported missing P2P interface: StreamMetadata
560
+
561
+ ### 0.2.1 (2021-02-06)
562
+
563
+ * (bropat) Added typescript declaration files
564
+
565
+ ### 0.2.0 (2021-02-06)
566
+
567
+ * (bropat) initial release
568
+
569
+ ## License
570
+
571
+ MIT License
572
+
573
+ Copyright (c) 2021 bropat <patrick.broetto@gmail.com>
574
+
575
+ Permission is hereby granted, free of charge, to any person obtaining a copy
576
+ of this software and associated documentation files (the "Software"), to deal
577
+ in the Software without restriction, including without limitation the rights
578
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
579
+ copies of the Software, and to permit persons to whom the Software is
580
+ furnished to do so, subject to the following conditions:
581
+
582
+ The above copyright notice and this permission notice shall be included in all
583
+ copies or substantial portions of the Software.
584
+
585
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
586
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
587
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
588
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
589
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
590
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
591
+ SOFTWARE.