eufy-security-client 3.7.1 → 3.7.2-dev.2

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 (43) hide show
  1. package/README.md +4 -0
  2. package/build/eufysecurity.js +7 -3
  3. package/build/eufysecurity.js.map +1 -1
  4. package/build/http/api.d.ts +1 -1
  5. package/build/http/api.js +4 -4
  6. package/build/http/api.js.map +1 -1
  7. package/build/http/device.d.ts +13 -0
  8. package/build/http/device.js +96 -9
  9. package/build/http/device.js.map +1 -1
  10. package/build/http/models.d.ts +0 -1
  11. package/build/http/parameter.js +1 -1
  12. package/build/http/parameter.js.map +1 -1
  13. package/build/http/station.js +94 -25
  14. package/build/http/station.js.map +1 -1
  15. package/build/http/types.d.ts +10 -0
  16. package/build/http/types.js +548 -2
  17. package/build/http/types.js.map +1 -1
  18. package/build/http/utils.d.ts +2 -2
  19. package/build/http/utils.js +5 -5
  20. package/build/http/utils.js.map +1 -1
  21. package/build/p2p/session.js +35 -75
  22. package/build/p2p/session.js.map +1 -1
  23. package/build/p2p/utils.d.ts +0 -10
  24. package/build/p2p/utils.js +3 -63
  25. package/build/p2p/utils.js.map +1 -1
  26. package/build/push/service.js +9 -1
  27. package/build/push/service.js.map +1 -1
  28. package/build/push/types.d.ts +3 -1
  29. package/build/push/types.js +2 -0
  30. package/build/push/types.js.map +1 -1
  31. package/coverage/clover.xml +13119 -10508
  32. package/coverage/coverage-final.json +31 -21
  33. package/coverage/lcov-report/index.html +65 -50
  34. package/coverage/lcov.info +25586 -20511
  35. package/package.json +3 -3
  36. package/.idea/eufy-security-client.iml +0 -12
  37. package/.idea/modules.xml +0 -8
  38. package/.idea/vcs.xml +0 -7
  39. package/a.ts +0 -61
  40. package/bin/act +0 -0
  41. package/coverage/lcov-report/error.ts.html +0 -871
  42. package/coverage/lcov-report/logging.ts.html +0 -598
  43. package/dont-care.js +0 -101
@@ -382,7 +382,6 @@ export interface Cipher {
382
382
  cipher_id: number;
383
383
  user_id: string;
384
384
  private_key: string;
385
- ecc_private_key?: string;
386
385
  }
387
386
  export interface Voice {
388
387
  voice_id: number;
@@ -55,7 +55,7 @@ class ParameterHelper {
55
55
  //if (typeof value !== "string") return value;
56
56
  if (typeof value !== "string") {
57
57
  log.debug("Watch out for this object! .", {
58
- value: JSON.stringify(value, null, 2)
58
+ value: JSON.stringify(value, null, 2),
59
59
  });
60
60
  return value;
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../src/http/parameter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../src/http/parameter.ts"],"names":[],"mappings":"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"}
@@ -97,7 +97,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
97
97
  !device_1.Device.isLockWifiT8506(stationData.device_type) &&
98
98
  !device_1.Device.isLockWifiT8502(stationData.device_type) &&
99
99
  !device_1.Device.isLockWifiT8510P(stationData.device_type, stationData.station_sn) &&
100
- !device_1.Device.isLockWifiT8520P(stationData.device_type, stationData.station_sn)) {
100
+ !device_1.Device.isLockWifiT8520P(stationData.device_type, stationData.station_sn) &&
101
+ !device_1.Device.isLockWifiT85L0(stationData.device_type) &&
102
+ !device_1.Device.isLockWifiT85V0(stationData.device_type, stationData.station_sn)) {
101
103
  publicKey = await api.getPublicKey(stationData.station_sn, types_1.PublicKeyType.LOCK);
102
104
  }
103
105
  return new Station(api, stationData, ipAddress, listeningPort, publicKey, enableEmbeddedPKCS1Support);
@@ -404,6 +406,10 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
404
406
  if (property.name === types_1.PropertyName.Model && device_1.Device.isLockWifiT8510P(this.getDeviceType(), this.getSerial())) {
405
407
  return "T8510P";
406
408
  }
409
+ else if (property.name === types_1.PropertyName.Model &&
410
+ device_1.Device.isLockWifiT85V0(this.getDeviceType(), this.getSerial())) {
411
+ return "T85V0";
412
+ }
407
413
  else if (property.type === "number") {
408
414
  const numericProperty = property;
409
415
  try {
@@ -5661,6 +5667,12 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
5661
5667
  });
5662
5668
  }
5663
5669
  if (!device.hasCommand(types_1.CommandName.DeviceTriggerAlarmSound)) {
5670
+ logging_1.rootHTTPLogger.debug(`This functionality is not implemented or supported by this device - triggerDeviceAlarmSound`, {
5671
+ device: device.getSerial(),
5672
+ station: this.getSerial(),
5673
+ commandName: commandData.name,
5674
+ commandValue: commandData.value,
5675
+ });
5664
5676
  throw new error_1.NotSupportedError("This functionality is not implemented or supported by this device", {
5665
5677
  context: {
5666
5678
  device: device.getSerial(),
@@ -5733,6 +5745,11 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
5733
5745
  value: value,
5734
5746
  };
5735
5747
  if (!this.hasProperty(propertyData.name)) {
5748
+ logging_1.rootHTTPLogger.debug(`This functionality is not implemented or supported - setStationAlarmTone`, {
5749
+ propertyName: propertyData.name,
5750
+ propertyValue: propertyData.value,
5751
+ station: this.getSerial(),
5752
+ });
5736
5753
  throw new error_1.NotSupportedError("This functionality is not implemented or supported", {
5737
5754
  context: { propertyName: propertyData.name, propertyValue: propertyData.value, station: this.getSerial() },
5738
5755
  });
@@ -6028,6 +6045,12 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
6028
6045
  });
6029
6046
  }
6030
6047
  if (!device.hasProperty(propertyData.name)) {
6048
+ logging_1.rootHTTPLogger.debug(`This functionality is not implemented or supported by this device - setRTSPStream`, {
6049
+ device: device.getSerial(),
6050
+ station: this.getSerial(),
6051
+ propertyName: propertyData.name,
6052
+ propertyValue: propertyData.value,
6053
+ });
6031
6054
  throw new error_1.NotSupportedError("This functionality is not implemented or supported by this device", {
6032
6055
  context: {
6033
6056
  device: device.getSerial(),
@@ -6569,7 +6592,7 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
6569
6592
  command: commandData,
6570
6593
  });
6571
6594
  }
6572
- else if (device.isOutdoorPanAndTiltCamera() || device.isBatteryDoorbellDualE340() || device.isFloodLightT8425()) {
6595
+ else if (device.isOutdoorPanAndTiltCamera()) {
6573
6596
  logging_1.rootHTTPLogger.debug(`Station start livestream - sending command using CMD_DOORBELL_SET_PAYLOAD (1)`, {
6574
6597
  stationSN: this.getSerial(),
6575
6598
  deviceSN: device.getSerial(),
@@ -6621,7 +6644,8 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
6621
6644
  command: commandData,
6622
6645
  });
6623
6646
  }
6624
- else if (((device.isIndoorPanAndTiltCameraS350() || device.isIndoorCamC24()) && this.isDeviceControlledByHomeBase())) {
6647
+ else if (((device.isIndoorPanAndTiltCameraS350() || device.isIndoorCamC24()) && this.isDeviceControlledByHomeBase()) ||
6648
+ device.isFloodLightT8425()) {
6625
6649
  logging_1.rootHTTPLogger.debug(`Station start livestream - sending command using CMD_SET_PAYLOAD`, {
6626
6650
  stationSN: this.getSerial(),
6627
6651
  deviceSN: device.getSerial(),
@@ -7315,7 +7339,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
7315
7339
  else if (device.isLockWifiT8506() ||
7316
7340
  device.isLockWifiT8502() ||
7317
7341
  device.isLockWifiT8510P() ||
7318
- device.isLockWifiT8520P()) {
7342
+ device.isLockWifiT8520P() ||
7343
+ device.isLockWifiT85L0() ||
7344
+ device.isLockWifiT85V0()) {
7319
7345
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.ON_OFF_LOCK, device.getChannel(), this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockUnlock(this.rawStation.member.admin_user_id, value, this.rawStation.member.nick_name, this.rawStation.member.short_user_id));
7320
7346
  logging_1.rootHTTPLogger.debug("Station lock device - Locking/unlocking device...", {
7321
7347
  station: this.getSerial(),
@@ -8833,7 +8859,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
8833
8859
  else if (device.isLockWifiT8506() ||
8834
8860
  device.isLockWifiT8502() ||
8835
8861
  device.isLockWifiT8510P() ||
8836
- device.isLockWifiT8520P()) {
8862
+ device.isLockWifiT8520P() ||
8863
+ device.isLockWifiT85L0() ||
8864
+ device.isLockWifiT85V0()) {
8837
8865
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.ON_OFF_LOCK, device.getChannel(), this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockCalibrate(this.rawStation.member.admin_user_id));
8838
8866
  logging_1.rootHTTPLogger.debug("Station calibrate lock - Calibrate lock...", {
8839
8867
  station: this.getSerial(),
@@ -10962,7 +10990,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
10962
10990
  else if (device.isLockWifiT8506() ||
10963
10991
  device.isLockWifiT8502() ||
10964
10992
  device.isLockWifiT8510P() ||
10965
- device.isLockWifiT8520P()) {
10993
+ device.isLockWifiT8520P() ||
10994
+ device.isLockWifiT85L0() ||
10995
+ device.isLockWifiT85V0()) {
10966
10996
  this.setSmartLockParams(device, types_1.PropertyName.DeviceScramblePasscode, value);
10967
10997
  }
10968
10998
  else if (device.isSmartSafe()) {
@@ -11018,7 +11048,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
11018
11048
  else if (device.isLockWifiT8506() ||
11019
11049
  device.isLockWifiT8502() ||
11020
11050
  device.isLockWifiT8510P() ||
11021
- device.isLockWifiT8520P()) {
11051
+ device.isLockWifiT8520P() ||
11052
+ device.isLockWifiT85L0() ||
11053
+ device.isLockWifiT85V0()) {
11022
11054
  this.setSmartLockParams(device, types_1.PropertyName.DeviceWrongTryProtection, value);
11023
11055
  }
11024
11056
  else if (device.isSmartSafe()) {
@@ -11074,7 +11106,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
11074
11106
  else if (device.isLockWifiT8506() ||
11075
11107
  device.isLockWifiT8502() ||
11076
11108
  device.isLockWifiT8510P() ||
11077
- device.isLockWifiT8520P()) {
11109
+ device.isLockWifiT8520P() ||
11110
+ device.isLockWifiT85L0() ||
11111
+ device.isLockWifiT85V0()) {
11078
11112
  this.setSmartLockParams(device, types_1.PropertyName.DeviceWrongTryAttempts, value);
11079
11113
  }
11080
11114
  else if (device.isSmartSafe()) {
@@ -11130,7 +11164,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
11130
11164
  else if (device.isLockWifiT8506() ||
11131
11165
  device.isLockWifiT8502() ||
11132
11166
  device.isLockWifiT8510P() ||
11133
- device.isLockWifiT8520P()) {
11167
+ device.isLockWifiT8520P() ||
11168
+ device.isLockWifiT85L0() ||
11169
+ device.isLockWifiT85V0()) {
11134
11170
  this.setSmartLockParams(device, types_1.PropertyName.DeviceWrongTryLockdownTime, value);
11135
11171
  }
11136
11172
  else if (device.isSmartSafe()) {
@@ -11667,7 +11703,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
11667
11703
  else if (device.isLockWifiT8506() ||
11668
11704
  device.isLockWifiT8502() ||
11669
11705
  device.isLockWifiT8510P() ||
11670
- device.isLockWifiT8520P()) {
11706
+ device.isLockWifiT8520P() ||
11707
+ device.isLockWifiT85L0() ||
11708
+ device.isLockWifiT85V0()) {
11671
11709
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.ADD_PW, device.getChannel(), this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockAddUser(this.rawStation.member.admin_user_id, shortUserId, (0, utils_1.encodePasscode)(passcode), username, schedule));
11672
11710
  logging_1.rootHTTPLogger.debug("Station smart lock device - Add user...", {
11673
11711
  station: this.getSerial(),
@@ -11781,7 +11819,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
11781
11819
  else if (device.isLockWifiT8506() ||
11782
11820
  device.isLockWifiT8502() ||
11783
11821
  device.isLockWifiT8510P() ||
11784
- device.isLockWifiT8520P()) {
11822
+ device.isLockWifiT8520P() ||
11823
+ device.isLockWifiT85L0() ||
11824
+ device.isLockWifiT85V0()) {
11785
11825
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.DELETE_USER, device.getChannel(), this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockDeleteUser(this.rawStation.member.admin_user_id, shortUserId));
11786
11826
  logging_1.rootHTTPLogger.debug("Station delete user - payload", {
11787
11827
  station: this.getSerial(),
@@ -11909,7 +11949,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
11909
11949
  else if (device.isLockWifiT8506() ||
11910
11950
  device.isLockWifiT8502() ||
11911
11951
  device.isLockWifiT8510P() ||
11912
- device.isLockWifiT8520P()) {
11952
+ device.isLockWifiT8520P() ||
11953
+ device.isLockWifiT85L0() ||
11954
+ device.isLockWifiT85V0()) {
11913
11955
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.UPDATE_USER_TIME, device.getChannel(), this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockUpdateSchedule(this.rawStation.member.admin_user_id, shortUserId, username, schedule));
11914
11956
  logging_1.rootHTTPLogger.debug("Station update user schedule - payload", {
11915
11957
  station: this.getSerial(),
@@ -12036,7 +12078,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12036
12078
  else if (device.isLockWifiT8506() ||
12037
12079
  device.isLockWifiT8502() ||
12038
12080
  device.isLockWifiT8510P() ||
12039
- device.isLockWifiT8520P()) {
12081
+ device.isLockWifiT8520P() ||
12082
+ device.isLockWifiT85L0() ||
12083
+ device.isLockWifiT85V0()) {
12040
12084
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.UPDATE_PW, device.getChannel(), this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockModifyPassword(this.rawStation.member.admin_user_id, passwordId, (0, utils_1.encodePasscode)(passcode)));
12041
12085
  logging_1.rootHTTPLogger.debug("Station update user passcode - payload", {
12042
12086
  station: this.getSerial(),
@@ -12191,7 +12235,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12191
12235
  if (device.isLockWifiT8506() ||
12192
12236
  device.isLockWifiT8502() ||
12193
12237
  device.isLockWifiT8510P() ||
12194
- device.isLockWifiT8520P()) {
12238
+ device.isLockWifiT8520P() ||
12239
+ device.isLockWifiT85L0() ||
12240
+ device.isLockWifiT85V0()) {
12195
12241
  let payload;
12196
12242
  switch (property) {
12197
12243
  case types_1.PropertyName.DeviceWrongTryProtection:
@@ -12293,7 +12339,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12293
12339
  else if (device.isLockWifiT8506() ||
12294
12340
  device.isLockWifiT8502() ||
12295
12341
  device.isLockWifiT8510P() ||
12296
- device.isLockWifiT8520P()) {
12342
+ device.isLockWifiT8520P() ||
12343
+ device.isLockWifiT85L0() ||
12344
+ device.isLockWifiT85V0()) {
12297
12345
  this.setSmartLockParams(device, types_1.PropertyName.DeviceAutoLock, value);
12298
12346
  }
12299
12347
  else {
@@ -12346,7 +12394,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12346
12394
  else if (device.isLockWifiT8506() ||
12347
12395
  device.isLockWifiT8502() ||
12348
12396
  device.isLockWifiT8510P() ||
12349
- device.isLockWifiT8520P()) {
12397
+ device.isLockWifiT8520P() ||
12398
+ device.isLockWifiT85L0() ||
12399
+ device.isLockWifiT85V0()) {
12350
12400
  this.setSmartLockParams(device, types_1.PropertyName.DeviceAutoLockSchedule, value);
12351
12401
  }
12352
12402
  else {
@@ -12399,7 +12449,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12399
12449
  else if (device.isLockWifiT8506() ||
12400
12450
  device.isLockWifiT8502() ||
12401
12451
  device.isLockWifiT8510P() ||
12402
- device.isLockWifiT8520P()) {
12452
+ device.isLockWifiT8520P() ||
12453
+ device.isLockWifiT85L0() ||
12454
+ device.isLockWifiT85V0()) {
12403
12455
  this.setSmartLockParams(device, types_1.PropertyName.DeviceAutoLockScheduleStartTime, value);
12404
12456
  }
12405
12457
  else {
@@ -12452,7 +12504,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12452
12504
  else if (device.isLockWifiT8506() ||
12453
12505
  device.isLockWifiT8502() ||
12454
12506
  device.isLockWifiT8510P() ||
12455
- device.isLockWifiT8520P()) {
12507
+ device.isLockWifiT8520P() ||
12508
+ device.isLockWifiT85L0() ||
12509
+ device.isLockWifiT85V0()) {
12456
12510
  this.setSmartLockParams(device, types_1.PropertyName.DeviceAutoLockScheduleEndTime, value);
12457
12511
  }
12458
12512
  else {
@@ -12505,7 +12559,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12505
12559
  else if (device.isLockWifiT8506() ||
12506
12560
  device.isLockWifiT8502() ||
12507
12561
  device.isLockWifiT8510P() ||
12508
- device.isLockWifiT8520P()) {
12562
+ device.isLockWifiT8520P() ||
12563
+ device.isLockWifiT85L0() ||
12564
+ device.isLockWifiT85V0()) {
12509
12565
  this.setSmartLockParams(device, types_1.PropertyName.DeviceAutoLockTimer, value);
12510
12566
  }
12511
12567
  else {
@@ -12558,7 +12614,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12558
12614
  else if (device.isLockWifiT8506() ||
12559
12615
  device.isLockWifiT8502() ||
12560
12616
  device.isLockWifiT8510P() ||
12561
- device.isLockWifiT8520P()) {
12617
+ device.isLockWifiT8520P() ||
12618
+ device.isLockWifiT85L0() ||
12619
+ device.isLockWifiT85V0()) {
12562
12620
  this.setSmartLockParams(device, types_1.PropertyName.DeviceOneTouchLocking, value);
12563
12621
  }
12564
12622
  else {
@@ -12611,7 +12669,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12611
12669
  else if (device.isLockWifiT8506() ||
12612
12670
  device.isLockWifiT8502() ||
12613
12671
  device.isLockWifiT8510P() ||
12614
- device.isLockWifiT8520P()) {
12672
+ device.isLockWifiT8520P() ||
12673
+ device.isLockWifiT85L0() ||
12674
+ device.isLockWifiT85V0()) {
12615
12675
  this.setSmartLockParams(device, types_1.PropertyName.DeviceSound, value);
12616
12676
  }
12617
12677
  else {
@@ -12675,6 +12735,7 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12675
12735
  device.isLockWifiT8510P() ||
12676
12736
  device.isLockWifiT8520P() ||
12677
12737
  device.isLockWifiR10() ||
12738
+ device.isLockWifiT85L0() ||
12678
12739
  device.isLockWifiR20()) {
12679
12740
  let oldvalue = 0;
12680
12741
  const rawproperty = device.getRawProperty(types_2.CommandType.CMD_DOORLOCK_SET_PUSH_MODE);
@@ -12753,6 +12814,7 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12753
12814
  device.isLockWifiT8510P() ||
12754
12815
  device.isLockWifiT8520P() ||
12755
12816
  device.isLockWifiR10() ||
12817
+ device.isLockWifiT85L0() ||
12756
12818
  device.isLockWifiR20()) {
12757
12819
  let oldvalue = 0;
12758
12820
  const rawproperty = device.getRawProperty(types_2.CommandType.CMD_DOORLOCK_SET_PUSH_MODE);
@@ -12831,6 +12893,7 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12831
12893
  device.isLockWifiT8510P() ||
12832
12894
  device.isLockWifiT8520P() ||
12833
12895
  device.isLockWifiR10() ||
12896
+ device.isLockWifiT85L0() ||
12834
12897
  device.isLockWifiR20()) {
12835
12898
  let oldvalue = 0;
12836
12899
  const rawproperty = device.getRawProperty(types_2.CommandType.CMD_DOORLOCK_SET_PUSH_MODE);
@@ -12986,7 +13049,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
12986
13049
  else if (device.isLockWifiT8506() ||
12987
13050
  device.isLockWifiT8502() ||
12988
13051
  device.isLockWifiT8510P() ||
12989
- device.isLockWifiT8520P()) {
13052
+ device.isLockWifiT8520P() ||
13053
+ device.isLockWifiT85L0() ||
13054
+ device.isLockWifiT85V0()) {
12990
13055
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.QUERY_ALL_USERS, device.getChannel(), this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockGetUserList(this.rawStation.member.admin_user_id));
12991
13056
  logging_1.rootHTTPLogger.debug("Station get user list - payload", {
12992
13057
  station: this.getSerial(),
@@ -13153,7 +13218,7 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
13153
13218
  flag: 0,
13154
13219
  res_unzip: 1,
13155
13220
  start_date: format(startDate, "YYYYMMDD"),
13156
- start_time: `${format(endDate, "YYYYMMDD")}000000`,
13221
+ start_time: `${format(startDate, "YYYYMMDD")}000000`,
13157
13222
  storage_cloud: storageType === types_2.FilterStorageType.NONE ||
13158
13223
  (storageType !== types_2.FilterStorageType.LOCAL && storageType !== types_2.FilterStorageType.CLOUD)
13159
13224
  ? -1
@@ -15408,7 +15473,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
15408
15473
  if (device_1.Device.isLockWifiT8506(this.getDeviceType()) ||
15409
15474
  device_1.Device.isLockWifiT8502(this.getDeviceType()) ||
15410
15475
  device_1.Device.isLockWifiT8510P(this.getDeviceType(), this.getSerial()) ||
15411
- device_1.Device.isLockWifiT8520P(this.getDeviceType(), this.getSerial())) {
15476
+ device_1.Device.isLockWifiT8520P(this.getDeviceType(), this.getSerial()) ||
15477
+ device_1.Device.isLockWifiT85V0(this.getDeviceType(), this.getSerial()) ||
15478
+ device_1.Device.isLockWifiT85L0(this.getDeviceType())) {
15412
15479
  logging_1.rootHTTPLogger.debug(`Station smart lock send get lock parameters command`, { stationSN: this.getSerial() });
15413
15480
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.GET_LOCK_PARAM, 0, this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockGetParams(this.rawStation.member.admin_user_id));
15414
15481
  this.p2pSession.sendCommandWithStringPayload(command.payload);
@@ -15424,7 +15491,9 @@ class Station extends tiny_typed_emitter_1.TypedEmitter {
15424
15491
  if (device_1.Device.isLockWifiT8506(this.getDeviceType()) ||
15425
15492
  device_1.Device.isLockWifiT8502(this.getDeviceType()) ||
15426
15493
  device_1.Device.isLockWifiT8510P(this.getDeviceType(), this.getSerial()) ||
15427
- device_1.Device.isLockWifiT8520P(this.getDeviceType(), this.getSerial())) {
15494
+ device_1.Device.isLockWifiT8520P(this.getDeviceType(), this.getSerial()) ||
15495
+ device_1.Device.isLockWifiT85V0(this.getDeviceType(), this.getSerial()) ||
15496
+ device_1.Device.isLockWifiT85L0(this.getDeviceType())) {
15428
15497
  logging_1.rootHTTPLogger.debug(`Station smart lock send get lock status command`, { stationSN: this.getSerial() });
15429
15498
  const command = (0, utils_2.getSmartLockP2PCommand)(this.rawStation.station_sn, this.rawStation.member.admin_user_id, types_2.SmartLockCommand.QUERY_STATUS_IN_LOCK, 0, this.p2pSession.incLockSequenceNumber(), device_1.Lock.encodeCmdSmartLockStatus(this.rawStation.member.admin_user_id));
15430
15499
  this.p2pSession.sendCommandWithStringPayload(command.payload);