eufy-security-client 3.8.0-dev.18 → 3.8.0-dev.20

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.
@@ -72,6 +72,7 @@ export declare class Device extends TypedEmitter<DeviceEvents> {
72
72
  static isLockWifiNoFinger(type: number): boolean;
73
73
  static isLockWifiT8531(type: number): boolean;
74
74
  static isLockWifiT85D0(type: number): boolean;
75
+ static isLockWifiT85P0(type: number): boolean;
75
76
  static isLockWifiR10(type: number): boolean;
76
77
  static isLockWifiR20(type: number): boolean;
77
78
  static isLockWifiVideo(type: number): boolean;
@@ -171,6 +172,7 @@ export declare class Device extends TypedEmitter<DeviceEvents> {
171
172
  isLockWifiT8531(): boolean;
172
173
  isLockWifiT85V0(): boolean;
173
174
  isLockWifiT85L0(): boolean;
175
+ isLockWifiT85P0(): boolean;
174
176
  isBatteryDoorbell1(): boolean;
175
177
  isBatteryDoorbell2(): boolean;
176
178
  isBatteryDoorbellDual(): boolean;
@@ -204,7 +204,8 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
204
204
  const val = value;
205
205
  if (property.key === types_1.ParamType.PRIVATE_MODE ||
206
206
  property.key === types_1.ParamType.OPEN_DEVICE ||
207
- property.key === types_2.CommandType.CMD_DEVS_SWITCH) {
207
+ property.key === types_2.CommandType.CMD_DEVS_SWITCH ||
208
+ property.key === types_2.CommandType.CMD_INDOOR_ENABLE_PRIVACY_MODE_S350) {
208
209
  if ((this.isIndoorCamera() && !this.isIndoorPanAndTiltCameraS350()) ||
209
210
  (this.isWiredDoorbell() && !this.isWiredDoorbellT8200X()) ||
210
211
  this.getDeviceType() === types_1.DeviceType.FLOODLIGHT_CAMERA_8422 ||
@@ -1432,6 +1433,9 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
1432
1433
  else if (property.name === types_1.PropertyName.Model && this.isLockWifiT85V0()) {
1433
1434
  return "T85V0";
1434
1435
  }
1436
+ else if (property.name === types_1.PropertyName.Model && this.isLockWifiT85P0()) {
1437
+ return "T85P0";
1438
+ }
1435
1439
  else if (property.type === "number") {
1436
1440
  const numericProperty = property;
1437
1441
  try {
@@ -1630,7 +1634,16 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
1630
1634
  types_1.DeviceDetectionStatisticsRecordedEventsProperty;
1631
1635
  if (!this.isSmartDrop()) {
1632
1636
  //TODO: Check with future devices if this property overriding is correct (for example with indoor cameras etc.)
1633
- newMetadata[types_1.PropertyName.DeviceEnabled] = types_1.DeviceEnabledSoloProperty;
1637
+ // Outdoor pan/tilt cams (eufyCam S4 etc.) report enabled state
1638
+ // through the wrapped CMD_INDOOR_ENABLE_PRIVACY_MODE_S350 (6250)
1639
+ // param. Binding them to DeviceEnabledSoloProperty (key=1035) here
1640
+ // would re-anchor the read on a value the cam never updates again.
1641
+ if (this.isOutdoorPanAndTiltCamera()) {
1642
+ newMetadata[types_1.PropertyName.DeviceEnabled] = types_1.DeviceEnabledIndoorS350Property;
1643
+ }
1644
+ else {
1645
+ newMetadata[types_1.PropertyName.DeviceEnabled] = types_1.DeviceEnabledSoloProperty;
1646
+ }
1634
1647
  }
1635
1648
  metadata = newMetadata;
1636
1649
  }
@@ -1790,6 +1803,7 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
1790
1803
  type == types_1.DeviceType.LOCK_85V0 ||
1791
1804
  type == types_1.DeviceType.LOCK_8502 ||
1792
1805
  type == types_1.DeviceType.LOCK_85L0 ||
1806
+ type == types_1.DeviceType.LOCK_85P0 ||
1793
1807
  type == types_1.DeviceType.SMART_SAFE_7400 ||
1794
1808
  type == types_1.DeviceType.SMART_SAFE_7401 ||
1795
1809
  type == types_1.DeviceType.SMART_SAFE_7402 ||
@@ -1968,7 +1982,8 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
1968
1982
  Device.isLockWifiT8502(type) ||
1969
1983
  Device.isLockWifiT85L0(type) ||
1970
1984
  Device.isLockWifiT8531(type) ||
1971
- Device.isLockWifiT85D0(type));
1985
+ Device.isLockWifiT85D0(type) ||
1986
+ Device.isLockWifiT85P0(type));
1972
1987
  }
1973
1988
  static isLockKeypad(type) {
1974
1989
  return Device.isLockWifiR10Keypad(type) || Device.isLockWifiR20Keypad(type);
@@ -1994,6 +2009,10 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
1994
2009
  static isLockWifiT85D0(type) {
1995
2010
  return types_1.DeviceType.LOCK_85D0 == type;
1996
2011
  }
2012
+ static isLockWifiT85P0(type) {
2013
+ //T85P0
2014
+ return types_1.DeviceType.LOCK_85P0 == type;
2015
+ }
1997
2016
  static isLockWifiR10(type) {
1998
2017
  return types_1.DeviceType.LOCK_8503 == type;
1999
2018
  }
@@ -2259,6 +2278,7 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
2259
2278
  return (sn.startsWith("T8510") ||
2260
2279
  sn.startsWith("T8520") ||
2261
2280
  sn.startsWith("T85V0") ||
2281
+ sn.startsWith("T85P0") ||
2262
2282
  sn.startsWith("T8500") ||
2263
2283
  sn.startsWith("T8501") ||
2264
2284
  sn.startsWith("T8503") ||
@@ -2404,6 +2424,9 @@ class Device extends tiny_typed_emitter_1.TypedEmitter {
2404
2424
  isLockWifiT85L0() {
2405
2425
  return Device.isLockWifiT85L0(this.rawDevice.device_type);
2406
2426
  }
2427
+ isLockWifiT85P0() {
2428
+ return Device.isLockWifiT85P0(this.rawDevice.device_type);
2429
+ }
2407
2430
  isBatteryDoorbell1() {
2408
2431
  return Device.isBatteryDoorbell1(this.rawDevice.device_type);
2409
2432
  }