homebridge-eufy-security 2.2.2 → 2.2.3

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.
@@ -1,7 +1,7 @@
1
1
  import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
2
2
  import { EufySecurityPlatform } from '../platform';
3
3
  import { DeviceAccessory } from './Device';
4
- import { Camera } from 'eufy-security-client';
4
+ import { Camera, Device, PropertyValue } from 'eufy-security-client';
5
5
  import { StreamingDelegate } from '../controller/streamingDelegate';
6
6
  import { CameraConfig } from '../utils/configTypes';
7
7
  /**
@@ -12,50 +12,27 @@ import { CameraConfig } from '../utils/configTypes';
12
12
  export declare class CameraAccessory extends DeviceAccessory {
13
13
  protected service: Service;
14
14
  protected CameraService: Service;
15
+ protected cameraStatus: {
16
+ isEnabled: boolean;
17
+ timestamp: number;
18
+ };
15
19
  readonly cameraConfig: CameraConfig;
16
20
  protected streamingDelegate: StreamingDelegate | null;
17
21
  private motionTimeout?;
18
22
  constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, eufyDevice: Camera);
23
+ private setupButtonService;
24
+ private setupEnableButton;
25
+ private setupMotionButton;
26
+ private setupLightButton;
19
27
  private getCameraConfig;
20
28
  private cameraFunction;
21
- handleEventSnapshotsActiveGet(): Promise<CharacteristicValue>;
22
- /**
23
- * Handle requests to set the "Event Snapshots Active" characteristic
24
- */
25
- handleEventSnapshotsActiveSet(value: any): void;
26
- /**
27
- * Handle requests to get the current value of the "HomeKit Camera Active" characteristic
28
- */
29
- handleHomeKitCameraActiveGet(): Promise<CharacteristicValue>;
30
- /**
31
- * Handle requests to set the "HomeKit Camera Active" characteristic
32
- */
33
- handleHomeKitCameraActiveSet(value: any): void;
34
- /**
35
- * Handle requests to get the current value of the "HomeKit Camera Active" characteristic
36
- */
37
- handleHomeKitCameraOperatingModeIndicatorGet(): Promise<CharacteristicValue>;
38
- /**
39
- * Handle requests to set the "HomeKit Camera Active" characteristic
40
- */
41
- handleHomeKitCameraOperatingModeIndicatorSet(value: any): Promise<void>;
42
- /**
43
- * Handle requests to get the current value of the "HomeKit Camera Active" characteristic
44
- */
45
- handleHomeKitNightVisionGet(): Promise<CharacteristicValue>;
46
- /**
47
- * Handle requests to set the "HomeKit Camera Active" characteristic
48
- */
49
- handleHomeKitNightVisionSet(value: any): Promise<void>;
50
- private motionFunction;
51
- handleMotionDetectedGet(): Promise<CharacteristicValue>;
29
+ private setupMotionFunction;
52
30
  private onDeviceEventDetectedPushNotification;
53
- handleEnableGet(): Promise<CharacteristicValue>;
54
- handleManuallyDisabledGet(): Promise<CharacteristicValue>;
55
- handleEnableSet(value: CharacteristicValue): Promise<void>;
56
- handleMotionOnGet(): Promise<CharacteristicValue>;
57
- handleMotionOnSet(value: CharacteristicValue): Promise<void>;
58
- handleLightOnGet(): Promise<CharacteristicValue>;
59
- handleLightOnSet(value: CharacteristicValue): Promise<void>;
31
+ private setupSwitchService;
32
+ private getPropertyValue;
33
+ private setPropertyValue;
34
+ protected handlePropertyChange(device: Device, name: string, value: PropertyValue): void;
35
+ handleDummyEventGet(serviceName: string): Promise<CharacteristicValue>;
36
+ handleDummyEventSet(serviceName: string, value: CharacteristicValue): void;
60
37
  }
61
38
  //# sourceMappingURL=CameraAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,OAAO,EAAE,MAAM,EAA+D,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AAEjE;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IAEjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE7D,OAAO,CAAC,aAAa,CAAC,CAAiB;gBAGrC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAmHpB,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,cAAc;IAiDtB,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM7D;;OAEG;IACH,6BAA6B,CAAC,KAAK,KAAA;IAInC;;OAEG;IACH,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM5D;;OAEG;IACH,4BAA4B,CAAC,KAAK,KAAA;IAIlC;;OAEG;IACG,4CAA4C,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWlF;;OAEG;IACG,4CAA4C,CAAC,KAAK,KAAA;IAOxD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjE;;OAEG;IACG,2BAA2B,CAAC,KAAK,KAAA;IAOvC,OAAO,CAAC,cAAc;IAsChB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW7D,OAAO,CAAC,qCAAqC;IA0BvC,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW/C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWzD,eAAe,CAAC,KAAK,EAAE,mBAAmB;IAS1C,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjD,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;IAM5C,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWhD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;CAKlD"}
1
+ {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAA2C,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AAEjE;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IAGjC,SAAS,CAAC,YAAY,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAElE,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE7D,OAAO,CAAC,aAAa,CAAC,CAAiB;gBAGrC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAuCpB,OAAO,CAAC,kBAAkB;YAuBZ,iBAAiB;YAIjB,iBAAiB;YAIjB,gBAAgB;IAI9B,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,qCAAqC;IA0B7C,OAAO,CAAC,kBAAkB;YA6BZ,gBAAgB;YAmChB,gBAAgB;cA8DX,oBAAoB,CACrC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,GACnB,IAAI;IAgBP,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBtE,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CAGpE"}
@@ -19,89 +19,59 @@ class CameraAccessory extends Device_1.DeviceAccessory {
19
19
  this.service = {};
20
20
  this.CameraService = {};
21
21
  this.cameraConfig = {};
22
+ this.cameraStatus = { isEnabled: false, timestamp: 0 }; // Initialize the cameraStatus object
22
23
  this.platform.log.debug(this.accessory.displayName, 'Constructed Camera');
23
24
  this.cameraConfig = this.getCameraConfig();
24
25
  this.platform.log.debug(this.accessory.displayName, 'config is:', this.cameraConfig);
25
26
  if (this.cameraConfig.enableCamera || (typeof this.eufyDevice.isDoorbell === 'function' && this.eufyDevice.isDoorbell())) {
26
27
  this.platform.log.debug(this.accessory.displayName, 'has a camera');
27
28
  try {
28
- this.CameraService = this.cameraFunction(accessory);
29
+ this.CameraService = this.cameraFunction();
29
30
  this.CameraService.setPrimaryService(true);
30
31
  const delegate = new streamingDelegate_1.StreamingDelegate(this.platform, eufyDevice, this.cameraConfig, this.platform.api, this.platform.api.hap);
31
32
  this.streamingDelegate = delegate;
32
33
  accessory.configureController(delegate.controller);
33
34
  }
34
- catch (Error) {
35
- this.platform.log.error(this.accessory.displayName, 'raise error to check and attach livestream function.', Error);
35
+ catch (error) {
36
+ this.platform.log.error(this.accessory.displayName, 'raise error to check and attach livestream function.', error);
36
37
  }
37
38
  }
38
39
  else {
39
40
  this.platform.log.debug(this.accessory.displayName, 'has a motion sensor.');
40
41
  }
42
+ this.service = this.setupMotionFunction(accessory);
43
+ this.setupEnableButton();
44
+ this.setupMotionButton();
45
+ this.setupLightButton();
46
+ }
47
+ setupButtonService(serviceName, configValue, PropertyName, serviceType) {
41
48
  try {
42
- this.service = this.motionFunction(accessory);
43
- }
44
- catch (Error) {
45
- this.platform.log.error(this.accessory.displayName, 'raise error to check and attach motion function.', Error);
46
- }
47
- try {
48
- this.platform.log.debug(this.accessory.displayName, 'enableButton config:', this.cameraConfig.enableButton);
49
- if (this.cameraConfig.enableButton
50
- && this.eufyDevice.hasProperty('enabled')) {
51
- this.platform.log.debug(this.accessory.displayName, 'has a isEnabled, so append switchEnabledService characteristic to him.');
52
- const switchEnabledService = this.accessory.getService('Enabled') ||
53
- this.accessory.addService(this.platform.Service.Switch, 'Enabled', 'enabled');
54
- switchEnabledService.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName + ' Enabled');
55
- switchEnabledService.getCharacteristic(this.characteristic.On)
56
- .onGet(this.handleEnableGet.bind(this))
57
- .onSet(this.handleEnableSet.bind(this));
58
- }
59
- else {
60
- // eslint-disable-next-line max-len
61
- this.platform.log.debug(this.accessory.displayName, 'Looks like not compatible with isEnabled or this has been disabled within configuration');
62
- }
63
- }
64
- catch (Error) {
65
- this.platform.log.error(this.accessory.displayName, 'raise error to check and attach switchEnabledService.', Error);
66
- }
67
- try {
68
- this.platform.log.debug(this.accessory.displayName, 'motionButton config:', this.cameraConfig.motionButton);
69
- if (this.cameraConfig.motionButton && this.eufyDevice.hasProperty('motionDetection')) {
49
+ this.platform.log.debug(`${this.accessory.displayName} ${serviceName} config:`, configValue);
50
+ if (configValue && this.eufyDevice.hasProperty(PropertyName)) {
70
51
  // eslint-disable-next-line max-len
71
- this.platform.log.debug(this.accessory.displayName, 'has a isMotionDetectionEnabled, so append switchMotionService characteristic to him.');
72
- const switchMotionService = this.accessory.getService('Motion') ||
73
- this.accessory.addService(this.platform.Service.Switch, 'Motion', 'motion');
74
- switchMotionService.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName + ' Motion');
75
- switchMotionService.getCharacteristic(this.characteristic.On)
76
- .onGet(this.handleMotionOnGet.bind(this))
77
- .onSet(this.handleMotionOnSet.bind(this));
52
+ this.platform.log.debug(`${this.accessory.displayName} has a ${PropertyName}, so append ${serviceType}${serviceName} characteristic to it.`);
53
+ const newService = this.setupSwitchService(serviceName, serviceType, PropertyName);
54
+ this.service.addLinkedService(newService);
78
55
  }
79
56
  else {
80
57
  // eslint-disable-next-line max-len
81
- this.platform.log.debug(this.accessory.displayName, 'Looks like not compatible with isMotionDetectionEnabled or this has been disabled within configuration');
58
+ this.platform.log.debug(`${this.accessory.displayName} Looks like not compatible with ${PropertyName} or this has been disabled within configuration`);
82
59
  }
83
60
  }
84
- catch (Error) {
85
- this.platform.log.error(this.accessory.displayName, 'raise error to check and attach switchMotionService.', Error);
86
- }
87
- try {
88
- if (this.eufyDevice.hasProperty('light') && (typeof this.eufyDevice.isFloodLight === 'function' && this.eufyDevice.isFloodLight())) {
89
- this.platform.log.debug(this.accessory.displayName, 'has a DeviceLight, so append switchLightService characteristic to him.');
90
- const switchLightService = this.accessory.getService('Light') ||
91
- this.accessory.addService(this.platform.Service.Switch, 'Light', 'light');
92
- switchLightService.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName + ' Light');
93
- switchLightService.getCharacteristic(this.characteristic.On)
94
- .onGet(this.handleLightOnGet.bind(this))
95
- .onSet(this.handleLightOnSet.bind(this));
96
- }
97
- else {
98
- this.platform.log.debug(this.accessory.displayName, 'Looks like not compatible with DeviceLight');
99
- }
100
- }
101
- catch (Error) {
102
- this.platform.log.error(this.accessory.displayName, 'raise error to check and attach switchLightService.', Error);
61
+ catch (error) {
62
+ this.platform.log.error(`${this.accessory.displayName} raise error to check and attach ${serviceType}${serviceName}.`, error);
63
+ throw Error;
103
64
  }
104
65
  }
66
+ async setupEnableButton() {
67
+ this.setupButtonService('Enabled', this.cameraConfig.enableButton, eufy_security_client_1.PropertyName.DeviceEnabled, 'switch');
68
+ }
69
+ async setupMotionButton() {
70
+ this.setupButtonService('Motion', this.cameraConfig.motionButton, eufy_security_client_1.PropertyName.DeviceMotionDetection, 'switch');
71
+ }
72
+ async setupLightButton() {
73
+ this.setupButtonService('Light', true, eufy_security_client_1.PropertyName.DeviceLight, 'lightbulb');
74
+ }
105
75
  getCameraConfig() {
106
76
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
107
77
  let config = {};
@@ -133,150 +103,70 @@ class CameraAccessory extends Device_1.DeviceAccessory {
133
103
  }
134
104
  return config;
135
105
  }
136
- cameraFunction(accessory) {
106
+ cameraFunction() {
137
107
  const service = this.accessory.getService(this.platform.Service.CameraOperatingMode) ||
138
108
  this.accessory.addService(this.platform.Service.CameraOperatingMode);
139
- service.setCharacteristic(this.characteristic.Name, accessory.displayName);
140
- service
141
- .getCharacteristic(this.characteristic.EventSnapshotsActive)
142
- .onGet(this.handleEventSnapshotsActiveGet.bind(this));
143
- service
144
- .getCharacteristic(this.characteristic.EventSnapshotsActive)
145
- .onSet(this.handleEventSnapshotsActiveSet.bind(this));
146
- service
147
- .getCharacteristic(this.characteristic.HomeKitCameraActive)
148
- .onGet(this.handleHomeKitCameraActiveGet.bind(this));
149
- service
150
- .getCharacteristic(this.characteristic.HomeKitCameraActive)
151
- .onSet(this.handleHomeKitCameraActiveSet.bind(this));
109
+ service.setCharacteristic(this.characteristic.Name, this.accessory.displayName);
110
+ service.getCharacteristic(this.characteristic.EventSnapshotsActive)
111
+ .onGet(this.handleDummyEventGet.bind(this, 'EventSnapshotsActive'))
112
+ .onSet(this.handleDummyEventSet.bind(this, 'EventSnapshotsActive'));
113
+ service.getCharacteristic(this.characteristic.HomeKitCameraActive)
114
+ .onGet(this.getPropertyValue.bind(this, 'this.characteristic.HomeKitCameraActive', eufy_security_client_1.PropertyName.DeviceEnabled))
115
+ .onSet(this.getPropertyValue.bind(this, 'this.characteristic.HomeKitCameraActive', eufy_security_client_1.PropertyName.DeviceEnabled));
152
116
  if (this.eufyDevice.hasProperty('enabled')) {
153
- service
154
- .getCharacteristic(this.characteristic.ManuallyDisabled)
155
- .onGet(this.handleManuallyDisabledGet.bind(this));
117
+ service.getCharacteristic(this.characteristic.ManuallyDisabled)
118
+ .onGet(this.getPropertyValue.bind(this, 'this.characteristic.ManuallyDisabled', eufy_security_client_1.PropertyName.DeviceEnabled));
156
119
  }
157
120
  if (this.eufyDevice.hasProperty('statusLed')) {
158
- service
159
- .getCharacteristic(this.characteristic.CameraOperatingModeIndicator)
160
- .onGet(this.handleHomeKitCameraOperatingModeIndicatorGet.bind(this))
161
- .onSet(this.handleHomeKitCameraOperatingModeIndicatorSet.bind(this));
121
+ service.getCharacteristic(this.characteristic.CameraOperatingModeIndicator)
122
+ .onGet(this.getPropertyValue.bind(this, 'this.characteristic.CameraOperatingModeIndicator', eufy_security_client_1.PropertyName.DeviceStatusLed))
123
+ .onSet(this.setPropertyValue.bind(this, 'this.characteristic.CameraOperatingModeIndicator', eufy_security_client_1.PropertyName.DeviceStatusLed));
162
124
  }
163
125
  if (this.eufyDevice.hasProperty('nightvision')) {
164
- service
165
- .getCharacteristic(this.characteristic.NightVision)
166
- .onGet(this.handleHomeKitNightVisionGet.bind(this))
167
- .onSet(this.handleHomeKitNightVisionSet.bind(this));
168
- }
169
- return service;
170
- }
171
- handleEventSnapshotsActiveGet() {
172
- const currentValue = this.characteristic.EventSnapshotsActive.DISABLE;
173
- this.platform.log.debug(this.accessory.displayName, 'GET EventSnapshotsActive:', currentValue);
174
- return currentValue;
175
- }
176
- /**
177
- * Handle requests to set the "Event Snapshots Active" characteristic
178
- */
179
- handleEventSnapshotsActiveSet(value) {
180
- this.platform.log.debug(this.accessory.displayName, 'SET EventSnapshotsActive:', value);
181
- }
182
- /**
183
- * Handle requests to get the current value of the "HomeKit Camera Active" characteristic
184
- */
185
- handleHomeKitCameraActiveGet() {
186
- const currentValue = this.characteristic.HomeKitCameraActive.OFF;
187
- this.platform.log.debug(this.accessory.displayName, 'GET HomeKitCameraActive:', currentValue);
188
- return currentValue;
189
- }
190
- /**
191
- * Handle requests to set the "HomeKit Camera Active" characteristic
192
- */
193
- handleHomeKitCameraActiveSet(value) {
194
- this.platform.log.debug(this.accessory.displayName, 'SET HomeKitCameraActive:', value);
195
- }
196
- /**
197
- * Handle requests to get the current value of the "HomeKit Camera Active" characteristic
198
- */
199
- async handleHomeKitCameraOperatingModeIndicatorGet() {
200
- try {
201
- const currentValue = this.eufyDevice.getPropertyValue(eufy_security_client_1.PropertyName.DeviceStatusLed);
202
- this.platform.log.debug(this.accessory.displayName, 'GET DeviceStatusLed:', currentValue);
203
- return currentValue;
204
- }
205
- catch (_a) {
206
- this.platform.log.debug(this.accessory.displayName, 'handleHomeKitCameraOperatingModeIndicatorGet', 'Wrong return value');
207
- return false;
208
- }
209
- }
210
- /**
211
- * Handle requests to set the "HomeKit Camera Active" characteristic
212
- */
213
- async handleHomeKitCameraOperatingModeIndicatorSet(value) {
214
- this.platform.log.debug(this.accessory.displayName, 'SET HomeKitCameraOperatingModeIndicator:', value);
215
- const station = await this.platform.getStationById(this.eufyDevice.getStationSerial());
216
- station.setStatusLed(this.eufyDevice, value);
217
- this.CameraService.getCharacteristic(this.characteristic.CameraOperatingModeIndicator).updateValue(value);
218
- }
219
- /**
220
- * Handle requests to get the current value of the "HomeKit Camera Active" characteristic
221
- */
222
- async handleHomeKitNightVisionGet() {
223
- try {
224
- const currentValue = this.eufyDevice.getPropertyValue(eufy_security_client_1.PropertyName.DeviceNightvision);
225
- this.platform.log.debug(this.accessory.displayName, 'GET DeviceNightvision:', currentValue);
226
- return currentValue;
126
+ service.getCharacteristic(this.characteristic.NightVision)
127
+ .onGet(this.getPropertyValue.bind(this, 'this.characteristic.NightVision', eufy_security_client_1.PropertyName.DeviceNightvision))
128
+ .onSet(this.setPropertyValue.bind(this, 'this.characteristic.NightVision', eufy_security_client_1.PropertyName.DeviceNightvision));
227
129
  }
228
- catch (_a) {
229
- this.platform.log.debug(this.accessory.displayName, 'handleHomeKitNightVisionGet', 'Wrong return value');
230
- return false;
130
+ if (this.eufyDevice.hasProperty('autoNightvision')) {
131
+ service.getCharacteristic(this.characteristic.NightVision)
132
+ .onGet(this.getPropertyValue.bind(this, 'this.characteristic.NightVision', eufy_security_client_1.PropertyName.DeviceAutoNightvision))
133
+ .onSet(this.setPropertyValue.bind(this, 'this.characteristic.NightVision', eufy_security_client_1.PropertyName.DeviceAutoNightvision));
231
134
  }
232
- }
233
- /**
234
- * Handle requests to set the "HomeKit Camera Active" characteristic
235
- */
236
- async handleHomeKitNightVisionSet(value) {
237
- this.platform.log.debug(this.accessory.displayName, 'SET handleHomeKitNightVisionSet:', value);
238
- const station = await this.platform.getStationById(this.eufyDevice.getStationSerial());
239
- station.setNightVision(this.eufyDevice, value);
240
- this.CameraService.getCharacteristic(this.characteristic.NightVision).updateValue(value);
241
- }
242
- motionFunction(accessory) {
243
- const service = this.accessory.getService(this.platform.Service.MotionSensor) ||
244
- this.accessory.addService(this.platform.Service.MotionSensor);
245
- service.setCharacteristic(this.characteristic.Name, accessory.displayName);
246
- service
247
- .getCharacteristic(this.characteristic.MotionDetected)
248
- .onGet(this.handleMotionDetectedGet.bind(this));
249
- // List of event types
250
- const eventTypesToHandle = [
251
- 'motion detected',
252
- 'person detected',
253
- 'pet detected',
254
- 'vehicle detected',
255
- 'sound detected',
256
- 'crying detected',
257
- 'dog detected',
258
- 'stranger person detected',
259
- ];
260
- // Attach the common event handler to each event type
261
- eventTypesToHandle.forEach(eventType => {
262
- this.platform.log.debug(this.accessory.displayName, 'SETON Firing on:', eventType);
263
- this.eufyDevice.on(eventType, (device, motion) => this.onDeviceEventDetectedPushNotification(device, motion, eventType));
264
- });
135
+ this.eufyDevice.on('property changed', (device, name, value) => this.handlePropertyChange(device, name, value));
265
136
  return service;
266
137
  }
267
- async handleMotionDetectedGet() {
138
+ setupMotionFunction(accessory) {
268
139
  try {
269
- const currentValue = this.eufyDevice.getPropertyValue(eufy_security_client_1.PropertyName.DeviceMotionDetected);
270
- this.platform.log.debug(this.accessory.displayName, 'GET DeviceMotionDetected:', currentValue);
271
- return currentValue;
272
- }
273
- catch (_a) {
274
- this.platform.log.debug(this.accessory.displayName, 'handleMotionDetectedGet', 'Wrong return value');
275
- return false;
140
+ const service = this.accessory.getService(this.platform.Service.MotionSensor) ||
141
+ this.accessory.addService(this.platform.Service.MotionSensor);
142
+ service.setCharacteristic(this.characteristic.Name, this.accessory.displayName);
143
+ service.getCharacteristic(this.characteristic.MotionDetected)
144
+ .onGet(this.getPropertyValue.bind(this, 'this.characteristic.MotionDetected', eufy_security_client_1.PropertyName.DeviceMotionDetected));
145
+ // List of event types
146
+ const eventTypesToHandle = [
147
+ 'motion detected',
148
+ 'person detected',
149
+ 'pet detected',
150
+ 'vehicle detected',
151
+ 'sound detected',
152
+ 'crying detected',
153
+ 'dog detected',
154
+ 'stranger person detected',
155
+ ];
156
+ // Attach the common event handler to each event type
157
+ eventTypesToHandle.forEach(eventType => {
158
+ this.platform.log.debug(this.accessory.displayName, 'SETON Firing on:', eventType);
159
+ this.eufyDevice.on(eventType, (device, motion) => this.onDeviceEventDetectedPushNotification(device, motion, eventType));
160
+ });
161
+ return service;
162
+ }
163
+ catch (error) {
164
+ this.platform.log.error(this.accessory.displayName, 'raise error to check and attach motion function.', error);
165
+ throw Error;
276
166
  }
277
167
  }
278
168
  onDeviceEventDetectedPushNotification(device, motion, eventType) {
279
- this.platform.log.info(this.accessory.displayName, `ON Event Detected (${eventType}): ${motion}`);
169
+ this.platform.log.info(`${this.accessory.displayName} ON Event Detected (${eventType}): ${motion}`);
280
170
  if (motion) {
281
171
  this.motionTimeout = setTimeout(() => {
282
172
  this.platform.log.debug(this.accessory.displayName, 'Reseting motion through timout.');
@@ -297,67 +187,128 @@ class CameraAccessory extends Device_1.DeviceAccessory {
297
187
  .getCharacteristic(this.characteristic.MotionDetected)
298
188
  .updateValue(motion);
299
189
  }
300
- async handleEnableGet() {
301
- try {
302
- const currentValue = this.eufyDevice.getPropertyValue(eufy_security_client_1.PropertyName.DeviceEnabled);
303
- this.platform.log.debug(this.accessory.displayName, 'GET DeviceEnabled:', currentValue);
304
- return currentValue;
305
- }
306
- catch (_a) {
307
- this.platform.log.debug(this.accessory.displayName, 'handleEnableGet', 'Wrong return value');
308
- return false;
309
- }
190
+ setupSwitchService(serviceName, serviceType, propertyName) {
191
+ const platformServiceMapping = {
192
+ switch: this.platform.Service.Switch,
193
+ lightbulb: this.platform.Service.Lightbulb,
194
+ outlet: this.platform.Service.Outlet,
195
+ };
196
+ const platformService = platformServiceMapping[serviceType] || this.platform.Service.Switch;
197
+ const service = this.accessory.getService(serviceName) ||
198
+ this.accessory.addService(platformService, serviceName, serviceName);
199
+ service.setCharacteristic(this.characteristic.Name, this.accessory.displayName + ' ' + serviceName);
200
+ service.getCharacteristic(this.characteristic.On)
201
+ .onGet(this.getPropertyValue.bind(this, 'this.characteristic.On', propertyName))
202
+ .onSet(this.setPropertyValue.bind(this, 'this.characteristic.On', propertyName));
203
+ return service;
310
204
  }
311
- async handleManuallyDisabledGet() {
205
+ async getPropertyValue(characteristic, propertyName) {
312
206
  try {
313
- const currentValue = this.eufyDevice.getPropertyValue(eufy_security_client_1.PropertyName.DeviceEnabled);
314
- this.platform.log.debug(this.accessory.displayName, 'GET DeviceEnabled:', currentValue);
315
- return !currentValue;
207
+ let value = await this.eufyDevice.getPropertyValue(propertyName);
208
+ this.platform.log.debug(`${this.accessory.displayName} GET '${characteristic}' ${propertyName}: ${value}`);
209
+ if (propertyName === eufy_security_client_1.PropertyName.DeviceNightvision) {
210
+ return value === 1;
211
+ }
212
+ // Override for PropertyName.DeviceEnabled when enabled button is fired and
213
+ if (propertyName === eufy_security_client_1.PropertyName.DeviceEnabled &&
214
+ Date.now() - this.cameraStatus.timestamp <= 60000) {
215
+ // eslint-disable-next-line max-len
216
+ this.platform.log.debug(`${this.accessory.displayName} CACHED for (1 min) '${characteristic}' ${propertyName}: ${this.cameraStatus.isEnabled}`);
217
+ value = this.cameraStatus.isEnabled;
218
+ }
219
+ if (characteristic === 'this.characteristic.ManuallyDisabled') {
220
+ this.platform.log.debug(`${this.accessory.displayName} INVERSED '${characteristic}' ${propertyName}: ${!value}`);
221
+ value = !value;
222
+ }
223
+ if (value === undefined) {
224
+ return false;
225
+ }
226
+ return value;
316
227
  }
317
- catch (_a) {
318
- this.platform.log.debug(this.accessory.displayName, 'handleManuallyDisabledGet', 'Wrong return value');
228
+ catch (error) {
229
+ this.platform.log.debug(`${this.accessory.displayName} Error getting '${characteristic}' ${propertyName}: ${error}`);
319
230
  return false;
320
231
  }
321
232
  }
322
- async handleEnableSet(value) {
323
- this.platform.log.debug(this.accessory.displayName, 'SET DeviceEnabled:', value);
324
- const station = await this.platform.getStationById(this.eufyDevice.getStationSerial());
325
- station.enableDevice(this.eufyDevice, value);
326
- if (this.cameraConfig.enableCamera) {
327
- this.CameraService.getCharacteristic(this.characteristic.ManuallyDisabled).updateValue(!value);
328
- }
329
- }
330
- async handleMotionOnGet() {
233
+ async setPropertyValue(characteristic, propertyName, value) {
331
234
  try {
332
- const currentValue = await this.eufyDevice.getPropertyValue(eufy_security_client_1.PropertyName.DeviceMotionDetection);
333
- this.platform.log.debug(this.accessory.displayName, 'GET DeviceMotionDetection:', currentValue);
334
- return currentValue;
235
+ // eslint-disable-next-line max-len
236
+ this.platform.log.debug(`${this.accessory.displayName} SET '${typeof characteristic} / ${characteristic}' ${propertyName}: ${value}`);
237
+ const station = await this.platform.getStationById(this.eufyDevice.getStationSerial());
238
+ switch (propertyName) {
239
+ case eufy_security_client_1.PropertyName.DeviceEnabled: {
240
+ if (characteristic === 'this.characteristic.On') {
241
+ this.cameraStatus = { isEnabled: value, timestamp: Date.now() };
242
+ await station.enableDevice(this.eufyDevice, value);
243
+ this.CameraService.updateCharacteristic(this.characteristic.ManuallyDisabled, !value);
244
+ }
245
+ break;
246
+ }
247
+ case eufy_security_client_1.PropertyName.DeviceMotionDetection: {
248
+ await station.setMotionDetection(this.eufyDevice, value);
249
+ this.CameraService.updateCharacteristic(this.characteristic.CameraOperatingModeIndicator, value);
250
+ break;
251
+ }
252
+ case eufy_security_client_1.PropertyName.DeviceStatusLed: {
253
+ await station.setStatusLed(this.eufyDevice, value);
254
+ this.CameraService.updateCharacteristic(this.characteristic.CameraOperatingModeIndicator, value);
255
+ break;
256
+ }
257
+ case eufy_security_client_1.PropertyName.DeviceNightvision: {
258
+ // Convert true to 1 (B&W Night Vision) and false to 0 (off)
259
+ await station.setNightVision(this.eufyDevice, Number(value));
260
+ this.CameraService.updateCharacteristic(this.characteristic.NightVision, value);
261
+ break;
262
+ }
263
+ case eufy_security_client_1.PropertyName.DeviceAutoNightvision: {
264
+ await station.setAutoNightVision(this.eufyDevice, value);
265
+ this.CameraService.updateCharacteristic(this.characteristic.NightVision, value);
266
+ break;
267
+ }
268
+ case eufy_security_client_1.PropertyName.DeviceLight: {
269
+ await station.switchLight(this.eufyDevice, value);
270
+ this.service.updateCharacteristic(this.characteristic.On, value);
271
+ break;
272
+ }
273
+ default: {
274
+ // eslint-disable-next-line max-len
275
+ this.platform.log.error(`${this.accessory.displayName} Shouldn't Match '${characteristic}' ${propertyName}: ${value}`);
276
+ throw Error;
277
+ break;
278
+ }
279
+ }
335
280
  }
336
- catch (_a) {
337
- this.platform.log.debug(this.accessory.displayName, 'handleMotionOnGet', 'Wrong return value');
338
- return false;
281
+ catch (error) {
282
+ this.platform.log.debug(`${this.accessory.displayName} Error setting '${characteristic}' ${propertyName}: ${error}`);
339
283
  }
340
284
  }
341
- async handleMotionOnSet(value) {
342
- this.platform.log.debug(this.accessory.displayName, 'SET DeviceMotionDetection:', value);
343
- const station = await this.platform.getStationById(this.eufyDevice.getStationSerial());
344
- station.setMotionDetection(this.eufyDevice, value);
345
- }
346
- async handleLightOnGet() {
347
- try {
348
- const currentValue = await this.eufyDevice.getPropertyValue(eufy_security_client_1.PropertyName.DeviceLight);
349
- this.platform.log.debug(this.accessory.displayName, 'GET DeviceLight:', currentValue);
350
- return currentValue;
351
- }
352
- catch (_a) {
353
- this.platform.log.debug(this.accessory.displayName, 'handleLightOnGet', 'Wrong return value');
354
- return false;
285
+ handlePropertyChange(device, name, value) {
286
+ switch (name) {
287
+ case 'enabled': {
288
+ break;
289
+ }
290
+ case 'statusLed': {
291
+ break;
292
+ }
293
+ default: {
294
+ break;
295
+ }
355
296
  }
356
297
  }
357
- async handleLightOnSet(value) {
358
- this.platform.log.debug(this.accessory.displayName, 'SET DeviceLight:', value);
359
- const station = await this.platform.getStationById(this.eufyDevice.getStationSerial());
360
- station.switchLight(this.eufyDevice, value);
298
+ handleDummyEventGet(serviceName) {
299
+ const characteristicValues = {
300
+ 'EventSnapshotsActive': this.characteristic.EventSnapshotsActive.DISABLE,
301
+ 'HomeKitCameraActive': this.characteristic.HomeKitCameraActive.OFF,
302
+ };
303
+ const currentValue = characteristicValues[serviceName];
304
+ if (currentValue === undefined) {
305
+ throw new Error(`Invalid serviceName: ${serviceName}`);
306
+ }
307
+ this.platform.log.debug(`${this.accessory.displayName} GET ${serviceName}: ${currentValue}`);
308
+ return Promise.resolve(currentValue);
309
+ }
310
+ handleDummyEventSet(serviceName, value) {
311
+ this.platform.log.debug(`${this.accessory.displayName} SET ${serviceName}: ${value}`);
361
312
  }
362
313
  }
363
314
  exports.CameraAccessory = CameraAccessory;
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { PlatformAccessory, CharacteristicValue } from 'homebridge';
2
2
  import { EufySecurityPlatform } from '../platform';
3
- import { Device } from 'eufy-security-client';
3
+ import { Device, PropertyValue } from 'eufy-security-client';
4
4
  export declare abstract class DeviceAccessory {
5
5
  protected eufyDevice: Device;
6
6
  protected platform: EufySecurityPlatform;
7
7
  protected accessory: PlatformAccessory;
8
8
  protected characteristic: any;
9
9
  constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, eufyDevice: Device);
10
- private handleRawPropertyChange;
11
- private handlePropertyChange;
10
+ protected handleRawPropertyChange(device: Device, type: number, value: string): void;
11
+ protected handlePropertyChange(device: Device, name: string, value: PropertyValue): void;
12
12
  /**
13
13
  * Handle requests to get the current value of the "Status Low Battery" characteristic
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/Device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAA2C,MAAM,sBAAsB,CAAC;AAEvF,8BAAsB,eAAe;IAEnC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACzC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACvC,SAAS,CAAC,cAAc,MAAC;gBAGvB,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAsEpB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW/D;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAU5D"}
1
+ {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/Device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAA4B,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvF,8BAAsB,eAAe;IAEnC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACzC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACvC,SAAS,CAAC,cAAc,MAAC;gBAGvB,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAsEpB,SAAS,CAAC,uBAAuB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,IAAI;IASP,SAAS,CAAC,oBAAoB,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,GACnB,IAAI;IASP;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW/D;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAU5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"Device.js","sourceRoot":"","sources":["../../src/plugin/accessories/Device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Device.js","sourceRoot":"","sources":["../../src/plugin/accessories/Device.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Eufy Security",
3
3
  "name": "homebridge-eufy-security",
4
- "version": "2.2.2",
4
+ "version": "2.2.3",
5
5
  "description": "Control Eufy Security from homebridge.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "url": "https://github.com/homebridge-eufy-security/plugin/issues"
27
27
  },
28
28
  "engines": {
29
- "node": ">=18.16.0",
29
+ "node": ">=18.15.0",
30
30
  "homebridge": ">=1.6.0"
31
31
  },
32
32
  "main": "dist/index.js",