homebridge-tasmota-control 1.6.1-beta.8 → 1.6.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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/sensors.js +83 -83
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Tasmota Control",
3
3
  "name": "homebridge-tasmota-control",
4
- "version": "1.6.1-beta.8",
4
+ "version": "1.6.1",
5
5
  "description": "Homebridge plugin to control Tasmota flashed devices.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
package/src/sensors.js CHANGED
@@ -98,10 +98,11 @@ class Sensors extends EventEmitter {
98
98
  for (const [key, value] of Object.entries(sensorData)) {
99
99
  const sensorData = value;
100
100
 
101
+ //sensor
101
102
  const obj = {
102
103
  name: key,
103
104
  time: statusSns.Time,
104
- tempUnit: statusSns.TempUnit === 'C' ? '°C' : statusSns.TempUnit,
105
+ tempUnit: statusSns.TempUnit,
105
106
  pressureUnit: statusSns.PressureUnit,
106
107
  temperature: sensorData.Temperature,
107
108
  referenceTemperature: sensorData.ReferenceTemperature,
@@ -114,8 +115,26 @@ class Sensors extends EventEmitter {
114
115
  carbonDioxyde: sensorData.CarbonDioxyde,
115
116
  ambientLight: sensorData.Ambient,
116
117
  motion: sensorData.Motion
117
- };
118
+ }
119
+ if (obj.tempUnit === 'C') {
120
+ obj.tempUnit = '°C';
121
+ }
122
+
123
+ //update characteristics
124
+ this.sensorTemperatureServices?.[i]?.Characteristic?.CurrentTemperature?.updateCharacteristic(Characteristic.CurrentTemperature, obj.temperature);
125
+ this.sensorReferenceTemperatureServices?.[i]?.Characteristic?.CurrentTemperature?.updateCharacteristic(Characteristic.CurrentTemperature, obj.referenceTemperature);
126
+ this.sensorObjTemperatureServices?.[i]?.Characteristic?.CurrentTemperature?.updateCharacteristic(Characteristic.CurrentTemperature, obj.objTemperature);
127
+ this.sensorAmbTemperatureServices?.[i]?.Characteristic?.CurrentTemperature?.updateCharacteristic(Characteristic.CurrentTemperature, obj.ambTemperature);
128
+ this.sensorDewPointTemperatureServices?.[i]?.Characteristic?.CurrentTemperature?.updateCharacteristic(Characteristic.CurrentTemperature, obj.dewPointTemperature);
129
+ this.sensorHumidityServices?.[i]?.Characteristic?.CurrentRelativeHumidity?.updateCharacteristic(Characteristic.CurrentRelativeHumidity, obj.humidity);
130
+ this.sensorCarbonDioxydeServices?.[i]?.Characteristic?.CarbonDioxideDetected?.updateCharacteristic(Characteristic.CarbonDioxideDetected, obj.carbonDioxyde > 1000);
131
+ this.sensorCarbonDioxydeServices?.[i]?.Characteristic?.CarbonDioxideLevel?.updateCharacteristic(Characteristic.CarbonDioxideLevel, obj.carbonDioxyde);
132
+ this.sensorCarbonDioxydeServices?.[i]?.Characteristic?.CarbonDioxidePeakLevel?.updateCharacteristic(Characteristic.CarbonDioxidePeakLevel, obj.carbonDioxyde);
133
+ this.sensorAmbientLightServices?.[i]?.Characteristic?.CurrentAmbientLightLevel?.updateCharacteristic(Characteristic.CurrentAmbientLightLevel, obj.ambientLight);
134
+ this.sensorMotionServices?.[i]?.Characteristic?.MotionDetected?.updateCharacteristic(Characteristic.MotionDetected, obj.motion);
118
135
 
136
+ //energy
137
+ const isEnergy = key === 'ENERGY';
119
138
  const energy = {
120
139
  power: sensorData.Power,
121
140
  apparentPower: sensorData.ApparentPower,
@@ -130,58 +149,32 @@ class Sensors extends EventEmitter {
130
149
  factor: sensorData.Factor,
131
150
  frequency: sensorData.Frequency,
132
151
  load: sensorData.Load,
133
- };
152
+ }
134
153
 
135
- const sensor = key === 'ENERGY' ? { ...obj, ...energy } : obj;
136
- const debug1 = this.enableDebugMode ? this.emit('debug', `Sensor: ${JSON.stringify(sensor, null, 2)}`) : false;
137
- this.sensors.push(sensor);
154
+ if (isEnergy) {
155
+ //update characteristics
156
+ this.sensorEnergyServices?.[i]?.Characteristic?.Power?.updateCharacteristic(Characteristic.Power, energy.power);
157
+ this.sensorEnergyServices?.[i]?.Characteristic?.ApparentPower?.updateCharacteristic(Characteristic.ApparentPower, energy.apparentPower);
158
+ this.sensorEnergyServices?.[i]?.Characteristic?.ReactivePower?.updateCharacteristic(Characteristic.ReactivePower, energy.reactivePower);
159
+ this.sensorEnergyServices?.[i]?.Characteristic?.EnergyToday?.updateCharacteristic(Characteristic.EnergyToday, energy.energyToday);
160
+ this.sensorEnergyServices?.[i]?.Characteristic?.EnergyLastDay?.updateCharacteristic(Characteristic.EnergyLastDay, energy.energyLastDay);
161
+ this.sensorEnergyServices?.[i]?.Characteristic?.EnergyLifetime?.updateCharacteristic(Characteristic.EnergyLifetime, energy.energyLifetime);
162
+ this.sensorEnergyServices?.[i]?.Characteristic?.Current?.updateCharacteristic(Characteristic.Current, energy.current);
163
+ this.sensorEnergyServices?.[i]?.Characteristic?.Voltage?.updateCharacteristic(Characteristic.Voltage, energy.voltage);
164
+ this.sensorEnergyServices?.[i]?.Characteristic?.Factor?.updateCharacteristic(Characteristic.Factor, energy.factor);
165
+ this.sensorEnergyServices?.[i]?.Characteristic?.Frequency?.updateCharacteristic(Characteristic.Frequency, energy.frequency);
166
+ this.sensorEnergyServices?.[i]?.Characteristic?.ReadingTime?.updateCharacteristic(Characteristic.ReadingTime, energy.time);
167
+ }
138
168
 
139
- //update characteristics
140
- const update = (servicesArray, subtype, charName, value) => {
141
- const service = servicesArray?.[i].find(s => s.subtype === subtype);
142
- if (service && Characteristic[charName]) {
143
- service.updateCharacteristic(Characteristic[charName], value);
144
- }
145
- };
146
-
147
- // temperature
148
- update(this.sensorServices, `sensorTemperatureService${i}`, 'CurrentTemperature', sensor.temperature);
149
- update(this.sensorServices, `sensorReferenceTemperatureService${i}`, 'CurrentTemperature', sensor.referenceTemperature);
150
- update(this.sensorServices, `sensorObjTemperatureService${i}`, 'CurrentTemperature', sensor.objTemperature);
151
- update(this.sensorServices, `sensorAmbTemperatureService${i}`, 'CurrentTemperature', sensor.ambTemperature);
152
- update(this.sensorServices, `sensorDewPointTemperatureService${i}`, 'CurrentTemperature', sensor.dewPointTemperature);
153
-
154
- // humidity
155
- update(this.sensorServices, `sensorHumidityService${i}`, 'CurrentRelativeHumidity', sensor.humidity);
156
-
157
- // CO₂
158
- update(this.sensorServices, `sensorCarbonDioxydeService${i}`, 'CarbonDioxideDetected', sensor.carbonDioxyde > 1000);
159
- update(this.sensorServices, `sensorCarbonDioxydeService${i}`, 'CarbonDioxideLevel', sensor.carbonDioxyde);
160
- update(this.sensorServices, `sensorCarbonDioxydeService${i}`, 'CarbonDioxidePeakLevel', sensor.carbonDioxyde);
161
-
162
- // ambient light
163
- update(this.sensorServices, `sensorAmbientLightService${i}`, 'CurrentAmbientLightLevel', sensor.ambientLight);
164
-
165
- // motion
166
- update(this.sensorServices, `sensorMotionService${i}`, 'MotionDetected', sensor.motion);
167
-
168
- // energy
169
- update(this.sensorServices, `sensorEnergyService${i}`, 'Power', sensor.power);
170
- update(this.sensorServices, `sensorEnergyService${i}`, 'ApparentPower', sensor.apparentPower);
171
- update(this.sensorServices, `sensorEnergyService${i}`, 'ReactivePower', sensor.reactivePower);
172
- update(this.sensorServices, `sensorEnergyService${i}`, 'EnergyToday', sensor.energyToday);
173
- update(this.sensorServices, `sensorEnergyService${i}`, 'EnergyLastDay', sensor.energyLastDay);
174
- update(this.sensorServices, `sensorEnergyService${i}`, 'EnergyLifetime', sensor.energyLifetime);
175
- update(this.sensorServices, `sensorEnergyService${i}`, 'Current', sensor.current);
176
- update(this.sensorServices, `sensorEnergyService${i}`, 'Voltage', sensor.voltage);
177
- update(this.sensorServices, `sensorEnergyService${i}`, 'Factor', sensor.factor);
178
- update(this.sensorServices, `sensorEnergyService${i}`, 'Frequency', sensor.frequency);
179
- update(this.sensorServices, `sensorEnergyService${i}`, 'ReadingTime', sensor.time);
169
+ const sensor = isEnergy ? { ...obj, ...energy } : obj;
170
+ const debug1 = this.enableDebugMode ? this.emit('debug', `Sensor: ${JSON.stringify(sensor, null, 2)}`) : false;
180
171
 
172
+ //push to array
173
+ this.sensors.push(sensor);
181
174
  i++;
182
175
  }
176
+ this.sensorsCount = this.sensors.length;
183
177
  }
184
- this.sensorsCount = this.sensors.length;
185
178
 
186
179
  return true;
187
180
  } catch (error) {
@@ -254,17 +247,25 @@ class Sensors extends EventEmitter {
254
247
  //Prepare services
255
248
  if (this.sensorsCount > 0) {
256
249
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Sensor Services`) : false;
257
- this.sensorServices = [];
250
+ this.sensorTemperatureServices = [];
251
+ this.sensorReferenceTemperatureServices = [];
252
+ this.sensorObjTemperatureServices = [];
253
+ this.sensorAmbTemperatureServices = [];
254
+ this.sensorDewPointTemperatureServices = [];
255
+ this.sensorHumidityServices = [];
256
+ this.sensorCarbonDioxydeServices = [];
257
+ this.sensorAmbientLightServices = [];
258
+ this.sensorMotionServices = [];
259
+ this.sensorEnergyServices = [];
258
260
 
259
261
  //temperature
260
262
  let i = 0;
261
263
  for (const sensor of this.sensors) {
262
264
  const sensorName = sensor.name;
263
- const service = {};
264
265
  if (sensor.temperature) {
265
266
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Temperature Sensor Services`) : false;
266
267
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Temperature` : `${sensorName} Temperature`;
267
- const sensorTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `sensorTemperatureService${i}`);
268
+ const sensorTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `Temperature Sensor ${i}`);
268
269
  sensorTemperatureService.addOptionalCharacteristic(Characteristic.ConfiguredName);
269
270
  sensorTemperatureService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
270
271
  sensorTemperatureService.getCharacteristic(Characteristic.CurrentTemperature)
@@ -273,14 +274,14 @@ class Sensors extends EventEmitter {
273
274
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} temperature: ${value} °${sensor.tempUnit}`);
274
275
  return value;
275
276
  });
276
- service.sensorTemperatureService = sensorTemperatureService;
277
+ this.sensorTemperatureServices.push(sensorTemperatureService);
277
278
  }
278
279
 
279
280
  //reference temperature
280
281
  if (sensor.referenceTemperature) {
281
282
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Reference Temperature Sensor Services`) : false;
282
283
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Reference Temperature` : `${sensorName} Reference Temperature`;
283
- const sensorReferenceTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `sensorReferenceTemperatureService${i}`);
284
+ const sensorReferenceTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `Reference Temperature Sensor ${i}`);
284
285
  sensorReferenceTemperatureService.addOptionalCharacteristic(Characteristic.ConfiguredName);
285
286
  sensorReferenceTemperatureService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
286
287
  sensorReferenceTemperatureService.getCharacteristic(Characteristic.CurrentTemperature)
@@ -289,14 +290,14 @@ class Sensors extends EventEmitter {
289
290
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} reference temperature: ${value} °${sensor.tempUnit}`);
290
291
  return value;
291
292
  });
292
- service.sensorReferenceTemperatureService = sensorReferenceTemperatureService;
293
+ this.sensorReferenceTemperatureServices.push(sensorReferenceTemperatureService);
293
294
  }
294
295
 
295
296
  //object temperature
296
297
  if (sensor.objTemperature) {
297
298
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Obj Temperature Sensor Services`) : false;
298
299
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Obj Temperature` : `${sensorName} Obj Temperature`;
299
- const sensorObjTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `sensorObjTemperatureService${i}`);
300
+ const sensorObjTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `Obj Temperature Sensor ${i}`);
300
301
  sensorObjTemperatureService.addOptionalCharacteristic(Characteristic.ConfiguredName);
301
302
  sensorObjTemperatureService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
302
303
  sensorObjTemperatureService.getCharacteristic(Characteristic.CurrentTemperature)
@@ -305,14 +306,14 @@ class Sensors extends EventEmitter {
305
306
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} obj temperature: ${value} °${sensor.tempUnit}`);
306
307
  return value;
307
308
  });
308
- service.sensorObjTemperatureService = sensorObjTemperatureService;
309
+ this.sensorObjTemperatureServices.push(sensorObjTemperatureService);
309
310
  }
310
311
 
311
312
  //ambient temperature
312
313
  if (sensor.ambTemperature) {
313
314
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Amb Temperature Sensor Services`) : false;
314
315
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Amb Temperature` : `${sensorName} Amb Temperature`;
315
- const sensorAmbTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `sensorAmbTemperatureService${i}`);
316
+ const sensorAmbTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `Amb Temperature Sensor ${i}`);
316
317
  sensorAmbTemperatureService.addOptionalCharacteristic(Characteristic.ConfiguredName);
317
318
  sensorAmbTemperatureService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
318
319
  sensorAmbTemperatureService.getCharacteristic(Characteristic.CurrentTemperature)
@@ -321,14 +322,14 @@ class Sensors extends EventEmitter {
321
322
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} amb temperature: ${value} °${sensor.tempUnit}`);
322
323
  return value;
323
324
  });
324
- service.sensorAmbTemperatureService = sensorAmbTemperatureService;
325
+ this.sensorAmbTemperatureServices.push(sensorAmbTemperatureService);
325
326
  }
326
327
 
327
328
  //dew point temperature
328
329
  if (sensor.dewPointTemperature) {
329
330
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Dew Point Temperature Sensor Services`) : false;
330
331
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Dew Point` : `${sensorName} Dew Point`;
331
- const sensorDewPointTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `sensorDewPointTemperatureService${i}`);
332
+ const sensorDewPointTemperatureService = accessory.addService(Service.TemperatureSensor, serviceName, `Dew Point Temperature Sensor ${i}`);
332
333
  sensorDewPointTemperatureService.addOptionalCharacteristic(Characteristic.ConfiguredName);
333
334
  sensorDewPointTemperatureService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
334
335
  sensorDewPointTemperatureService.getCharacteristic(Characteristic.CurrentTemperature)
@@ -337,14 +338,14 @@ class Sensors extends EventEmitter {
337
338
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} dew point: ${value} °${sensor.tempUnit}`);
338
339
  return value;
339
340
  });
340
- service.sensorDewPointTemperatureService = sensorDewPointTemperatureService;
341
+ this.sensorDewPointTemperatureServices.push(sensorDewPointTemperatureService);
341
342
  }
342
343
 
343
344
  //humidity
344
345
  if (sensor.humidity) {
345
346
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Humidity Sensor Services`) : false;
346
347
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Humidity` : `${sensorName} Humidity`;
347
- const sensorHumidityService = accessory.addService(Service.HumiditySensor, serviceName, `sensorHumidityService${i}`);
348
+ const sensorHumidityService = accessory.addService(Service.HumiditySensor, serviceName, `Humidity Sensor ${i}`);
348
349
  sensorHumidityService.addOptionalCharacteristic(Characteristic.ConfiguredName);
349
350
  sensorHumidityService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
350
351
  sensorHumidityService.getCharacteristic(Characteristic.CurrentRelativeHumidity)
@@ -353,7 +354,7 @@ class Sensors extends EventEmitter {
353
354
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} humidity: ${value} %`);
354
355
  return value;
355
356
  });
356
- service.sensorHumidityService = sensorHumidityService;
357
+ this.sensorHumidityServices.push(sensorHumidityService);
357
358
  }
358
359
 
359
360
  //pressure
@@ -364,7 +365,7 @@ class Sensors extends EventEmitter {
364
365
  if (sensor.carbonDioxyde) {
365
366
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Carbon Dioxyde Sensor Services`) : false;
366
367
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Carbon Dioxyde` : `${sensorName} Carbon Dioxyde`;
367
- const sensorCarbonDioxydeService = accessory.addService(Service.CarbonDioxideSensor, serviceName, `sensorCarbonDioxydeService${i}`);
368
+ const sensorCarbonDioxydeService = accessory.addService(Service.CarbonDioxideSensor, serviceName, `Carbon Dioxyde Sensor ${i}`);
368
369
  sensorCarbonDioxydeService.addOptionalCharacteristic(Characteristic.ConfiguredName);
369
370
  sensorCarbonDioxydeService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
370
371
  sensorCarbonDioxydeService.getCharacteristic(Characteristic.CarbonDioxideDetected)
@@ -385,14 +386,14 @@ class Sensors extends EventEmitter {
385
386
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} carbon dioxyde peak level: ${value} ppm`);
386
387
  return value;
387
388
  });
388
- service.sensorCarbonDioxydeService = sensorCarbonDioxydeService;
389
+ this.sensorCarbonDioxydeServices.push(sensorCarbonDioxydeService);
389
390
  }
390
391
 
391
392
  //ambient light
392
393
  if (sensor.ambientLight) {
393
394
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Ambient Light Sensor Services`) : false;
394
395
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Ambient Light` : `${sensorName} Ambient Light`;
395
- const sensorAmbientLightService = accessory.addService(Service.LightSensor, serviceName, `sensorAmbientLightService${i}`);
396
+ const sensorAmbientLightService = accessory.addService(Service.LightSensor, serviceName, `Ambient Light Sensor ${i}`);
396
397
  sensorAmbientLightService.addOptionalCharacteristic(Characteristic.ConfiguredName);
397
398
  sensorAmbientLightService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
398
399
  sensorAmbientLightService.getCharacteristic(Characteristic.CurrentAmbientLightLevel)
@@ -401,14 +402,14 @@ class Sensors extends EventEmitter {
401
402
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} ambient light: ${value} lx`);
402
403
  return value;
403
404
  });
404
- service.sensorAmbientLightService = sensorAmbientLightService;
405
+ this.sensorAmbientLightServices.push(sensorAmbientLightService);
405
406
  }
406
407
 
407
408
  //motion
408
409
  if (sensor.motion) {
409
410
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare Motion Sensor Services`) : false;
410
411
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName} Motion` : `${sensorName} Motion`;
411
- const sensorMotionService = accessory.addService(Service.MotionSensor, serviceName, `sensorMotionService${i}`);
412
+ const sensorMotionService = accessory.addService(Service.MotionSensor, serviceName, `Motion Sensor ${i}`);
412
413
  sensorMotionService.addOptionalCharacteristic(Characteristic.ConfiguredName);
413
414
  sensorMotionService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
414
415
  sensorMotionService.getCharacteristic(Characteristic.MotionDetected)
@@ -417,17 +418,17 @@ class Sensors extends EventEmitter {
417
418
  const logInfo = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} motion: ${state ? 'ON' : 'OFF'}`);
418
419
  return state;
419
420
  });
420
- service.sensorMotionService = sensorMotionService;
421
+ this.sensorMotionServices.push(sensorMotionService);
421
422
  }
422
423
 
423
424
  //energy
424
425
  if (sensor.name === 'ENERGY') {
425
426
  const debug4 = this.enableDebugMode ? this.emit('debug', `Prepare Power And Energy Service`) : false;
426
427
  const serviceName = this.sensorsNamePrefix ? `${accessoryName} ${sensorName}` : `${sensorName}`;
427
- const sensorEnergyService = accessory.addService(Service.PowerAndEnergyService, serviceName, `sensorEnergyService${i}`);
428
- sensorEnergyService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
428
+ const energyService = accessory.addService(Service.PowerAndEnergyService, serviceName, `Energy Sensor ${i}`);
429
+ energyService.setCharacteristic(Characteristic.ConfiguredName, serviceName);
429
430
  if (sensor.power) {
430
- sensorEnergyService.getCharacteristic(Characteristic.Power)
431
+ energyService.getCharacteristic(Characteristic.Power)
431
432
  .onGet(async () => {
432
433
  const value = sensor.power;
433
434
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} power: ${value} W`);
@@ -435,7 +436,7 @@ class Sensors extends EventEmitter {
435
436
  });
436
437
  }
437
438
  if (sensor.apparentPower) {
438
- sensorEnergyService.getCharacteristic(Characteristic.ApparentPower)
439
+ energyService.getCharacteristic(Characteristic.ApparentPower)
439
440
  .onGet(async () => {
440
441
  const value = sensor.apparentPower;
441
442
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} apparent power: ${value} VA`);
@@ -443,7 +444,7 @@ class Sensors extends EventEmitter {
443
444
  });
444
445
  }
445
446
  if (sensor.reactivePower) {
446
- sensorEnergyService.getCharacteristic(Characteristic.ReactivePower)
447
+ energyService.getCharacteristic(Characteristic.ReactivePower)
447
448
  .onGet(async () => {
448
449
  const value = sensor.reactivePower;
449
450
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} reactive power: ${value} VAr`);
@@ -451,7 +452,7 @@ class Sensors extends EventEmitter {
451
452
  });
452
453
  }
453
454
  if (sensor.energyToday) {
454
- sensorEnergyService.getCharacteristic(Characteristic.EnergyToday)
455
+ energyService.getCharacteristic(Characteristic.EnergyToday)
455
456
  .onGet(async () => {
456
457
  const value = sensor.energyToday;
457
458
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} energy today: ${value} kWh`);
@@ -459,7 +460,7 @@ class Sensors extends EventEmitter {
459
460
  });
460
461
  }
461
462
  if (sensor.energyLastDay) {
462
- sensorEnergyService.getCharacteristic(Characteristic.EnergyLastDay)
463
+ energyService.getCharacteristic(Characteristic.EnergyLastDay)
463
464
  .onGet(async () => {
464
465
  const value = sensor.energyLastDay;
465
466
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} energy last day: ${value} kWh`);
@@ -467,7 +468,7 @@ class Sensors extends EventEmitter {
467
468
  });
468
469
  }
469
470
  if (sensor.energyLifetime) {
470
- sensorEnergyService.getCharacteristic(Characteristic.EnergyLifetime)
471
+ energyService.getCharacteristic(Characteristic.EnergyLifetime)
471
472
  .onGet(async () => {
472
473
  const value = sensor.energyLifetime;
473
474
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} energy lifetime: ${value} kWh`);
@@ -475,7 +476,7 @@ class Sensors extends EventEmitter {
475
476
  });
476
477
  }
477
478
  if (sensor.current) {
478
- sensorEnergyService.getCharacteristic(Characteristic.Current)
479
+ energyService.getCharacteristic(Characteristic.Current)
479
480
  .onGet(async () => {
480
481
  const value = sensor.current;
481
482
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} current: ${value} A`);
@@ -483,7 +484,7 @@ class Sensors extends EventEmitter {
483
484
  });
484
485
  }
485
486
  if (sensor.voltage) {
486
- sensorEnergyService.getCharacteristic(Characteristic.Voltage)
487
+ energyService.getCharacteristic(Characteristic.Voltage)
487
488
  .onGet(async () => {
488
489
  const value = sensor.voltage;
489
490
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} voltage: ${value} V`);
@@ -491,7 +492,7 @@ class Sensors extends EventEmitter {
491
492
  });
492
493
  }
493
494
  if (sensor.factor) {
494
- sensorEnergyService.getCharacteristic(Characteristic.Factor)
495
+ energyService.getCharacteristic(Characteristic.Factor)
495
496
  .onGet(async () => {
496
497
  const value = sensor.factor;
497
498
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} power factor: ${value} cos φ`);
@@ -499,7 +500,7 @@ class Sensors extends EventEmitter {
499
500
  });
500
501
  }
501
502
  if (sensor.frequency) {
502
- sensorEnergyService.getCharacteristic(Characteristic.Freqency)
503
+ energyService.getCharacteristic(Characteristic.Freqency)
503
504
  .onGet(async () => {
504
505
  const value = sensor.frequency;
505
506
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} frequency: ${value} Hz`);
@@ -507,16 +508,15 @@ class Sensors extends EventEmitter {
507
508
  });
508
509
  }
509
510
  if (sensor.time) {
510
- sensorEnergyService.getCharacteristic(Characteristic.ReadingTime)
511
+ energyService.getCharacteristic(Characteristic.ReadingTime)
511
512
  .onGet(async () => {
512
513
  const value = sensor.time;
513
514
  const info = this.disableLogInfo ? false : this.emit('info', `sensor: ${sensorName} last report: ${value}`);
514
515
  return value;
515
516
  });
516
517
  }
517
- service.sensorEnergyService = sensorEnergyService;
518
+ this.sensorEnergyServices.push(energyService);
518
519
  }
519
- this.sensorServices.push(service);
520
520
  i++;
521
521
  }
522
522
  }