@homebridge-plugins/homebridge-smarthq 0.4.0-beta.6 → 0.4.0-beta.7

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.
@@ -8,11 +8,16 @@ export declare class OpalMonitorManager extends OpalDeviceBase {
8
8
  readonly device: SmartHqContext['device'] & devicesConfig;
9
9
  private servicesSubscription;
10
10
  private schedulerSubscription;
11
+ private statusSubscription;
11
12
  opalIceMaker: SmartHQIceMaker;
12
13
  constructor(opalIceMaker: SmartHQIceMaker, platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
14
+ private getTimeUntilNextMinute;
15
+ private createMinuteAlignedTimer;
13
16
  startServicesMonitoring(): void;
17
+ startStatusMonitoring(): void;
14
18
  startSchedulerMonitoring(): void;
15
19
  stopSchedulerMonitoring(): void;
20
+ stopStatusMonitoring(): void;
16
21
  stopServicesMonitoring(): void;
17
22
  }
18
23
  //# sourceMappingURL=OpalMonitorManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpalMonitorManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMonitorManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,qBAAa,kBAAmB,SAAQ,cAAc;IAOlD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAR3D,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,qBAAqB,CAA4B;IAClD,YAAY,EAAE,eAAe,CAAA;gBAGlC,YAAY,EAAE,eAAe,EACpB,QAAQ,EAAE,eAAe,EAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC1C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAO3D,uBAAuB,IAAI,IAAI;IAmB/B,wBAAwB,IAAI,IAAI;IAUhC,uBAAuB,IAAI,IAAI;IAS/B,sBAAsB,IAAI,IAAI;CAO/B"}
1
+ {"version":3,"file":"OpalMonitorManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMonitorManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,kBAAmB,SAAQ,cAAc;IAQlD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAT3D,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,kBAAkB,CAA4B;IAC/C,YAAY,EAAE,eAAe,CAAA;gBAGlC,YAAY,EAAE,eAAe,EACpB,QAAQ,EAAE,eAAe,EAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC1C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAM3D,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,wBAAwB;IAWhC,uBAAuB,IAAI,IAAI;IA8B/B,qBAAqB,IAAI,IAAI;IAmB7B,wBAAwB,IAAI,IAAI;IAoBhC,uBAAuB,IAAI,IAAI;IAQ/B,oBAAoB,IAAI,IAAI;IAS5B,sBAAsB,IAAI,IAAI;CAO/B"}
@@ -1,4 +1,5 @@
1
- import { interval, skipWhile } from 'rxjs';
1
+ import { timer, concat, of } from 'rxjs';
2
+ import { switchMap, skipWhile } from 'rxjs';
2
3
  import { OpalDeviceBase } from '../OpalDeviceBase.js';
3
4
  export class OpalMonitorManager extends OpalDeviceBase {
4
5
  platform;
@@ -6,6 +7,7 @@ export class OpalMonitorManager extends OpalDeviceBase {
6
7
  device;
7
8
  servicesSubscription = null;
8
9
  schedulerSubscription = null;
10
+ statusSubscription = null;
9
11
  opalIceMaker;
10
12
  constructor(opalIceMaker, platform, accessory, device) {
11
13
  super(platform, accessory, device);
@@ -14,31 +16,74 @@ export class OpalMonitorManager extends OpalDeviceBase {
14
16
  this.device = device;
15
17
  this.opalIceMaker = opalIceMaker;
16
18
  }
19
+ getTimeUntilNextMinute() {
20
+ const now = new Date();
21
+ const remaining = (60 - now.getSeconds()) * 1000 - now.getMilliseconds();
22
+ return remaining > 0 ? remaining : 0;
23
+ }
24
+ // Create a timer that aligns with the minute boundary and executes immediately at alignment
25
+ createMinuteAlignedTimer(intervalMs) {
26
+ return timer(this.getTimeUntilNextMinute()).pipe(
27
+ // Start with an immediate emission, then continue with regular interval
28
+ switchMap(() => concat(of(0), // Emit 0 immediately when the timer reaches alignment
29
+ timer(intervalMs, intervalMs))));
30
+ }
17
31
  // Start the monitoring
18
32
  startServicesMonitoring() {
19
33
  // Stop any existing subscription first
20
34
  this.stopServicesMonitoring();
21
- this.stopSchedulerMonitoring();
22
- this.servicesSubscription = interval((this.device.refreshRate || 30) * 1000)
23
- .pipe(skipWhile(() => !this.opalIceMaker.progressManager && !this.platform.config.options?.homekitControllerNotificationsSecret))
24
- .subscribe(async () => {
25
- await this.opalIceMaker.statusManager.getOpalCurrentStatus();
26
- await this.opalIceMaker.filterMaintenanceManager.getFilterMaintenanceStatus();
27
- await this.opalIceMaker.descaleManager.getDescaleStatus();
28
- if (this.opalIceMaker.progressManager?.hasService()) {
29
- const currentProductionValue = await this.opalIceMaker.progressManager.processProductionProgress();
30
- this.opalIceMaker.powerManager.turnOffOnProductionLimitSurpassed(currentProductionValue);
31
- }
32
- });
33
- this.platform.debugLog(`Started ice maker monitoring at ${this.device.refreshRate}s intervals`);
35
+ const refreshRate = (this.platform.config.options?.refreshRate || 30) * 1000;
36
+ this.servicesSubscription =
37
+ this.createMinuteAlignedTimer(refreshRate)
38
+ .pipe(skipWhile(() => !this.opalIceMaker.progressManager && !this.platform.config.options?.homekitControllerNotificationsSecret))
39
+ .subscribe(async () => {
40
+ try {
41
+ this.platform.debugLog('Running opal services monitoring tasks');
42
+ // These Notifications only alert in Homekit Controller
43
+ await this.opalIceMaker.filterMaintenanceManager.getFilterMaintenanceStatus();
44
+ await this.opalIceMaker.descaleManager.getDescaleStatus();
45
+ if (this.opalIceMaker.progressManager?.hasService()) {
46
+ const currentProductionValue = await this.opalIceMaker.progressManager.processProductionProgress();
47
+ this.opalIceMaker.powerManager.turnOffOnProductionLimitSurpassed(currentProductionValue);
48
+ }
49
+ }
50
+ catch (error) {
51
+ this.platform.errorLog(`Error in service monitoring: ${error}`);
52
+ }
53
+ });
54
+ this.platform.debugLog(`Opal services monitor starting in ${this.getTimeUntilNextMinute() / 1000} seconds, Interval: ${refreshRate / 1000} seconds`);
55
+ }
56
+ startStatusMonitoring() {
57
+ this.stopStatusMonitoring();
58
+ const refreshRate = (this.platform.config.options?.refreshRate || 30) * 1000;
59
+ this.statusSubscription =
60
+ this.createMinuteAlignedTimer(refreshRate)
61
+ .subscribe(async () => {
62
+ try {
63
+ this.platform.debugLog('Running opal status monitoring tasks');
64
+ await this.opalIceMaker.statusManager.getOpalCurrentStatus();
65
+ }
66
+ catch (error) {
67
+ this.platform.errorLog(`Error in status monitoring: ${error}`);
68
+ }
69
+ });
70
+ this.platform.debugLog(`Opal status monitor starting in ${this.getTimeUntilNextMinute() / 1000} seconds, Interval: ${refreshRate / 1000} seconds`);
34
71
  }
35
72
  startSchedulerMonitoring() {
36
- this.schedulerSubscription = interval(this.opalIceMaker.schedulingManager.schedulerInterval)
73
+ this.stopSchedulerMonitoring();
74
+ const schedulingInterval = this.opalIceMaker.schedulingManager.schedulerInterval;
75
+ this.schedulerSubscription = this.createMinuteAlignedTimer(schedulingInterval)
37
76
  .pipe(skipWhile(() => !this.platform.config.deviceOptions?.opal?.oplIceProductionSchedule))
38
77
  .subscribe(() => {
39
- this.opalIceMaker.schedulingManager.initializeIfIceMakerOnSchedule();
78
+ try {
79
+ this.platform.debugLog('Running opal scheduler monitoring tasks');
80
+ this.opalIceMaker.schedulingManager.initializeIfIceMakerOnSchedule();
81
+ }
82
+ catch (error) {
83
+ this.platform.errorLog(`Error in scheduler monitoring: ${error}`);
84
+ }
40
85
  });
41
- this.platform.debugLog(`Started ice maker monitoring at 60s intervals`);
86
+ this.platform.debugLog(`Opal scheduling monitor starting in ${this.getTimeUntilNextMinute() / 1000} seconds, Interval: ${schedulingInterval / 1000} seconds`);
42
87
  }
43
88
  stopSchedulerMonitoring() {
44
89
  if (this.schedulerSubscription) {
@@ -47,6 +92,13 @@ export class OpalMonitorManager extends OpalDeviceBase {
47
92
  this.platform.debugLog('Stopped Schedule Monitoring');
48
93
  }
49
94
  }
95
+ stopStatusMonitoring() {
96
+ if (this.statusSubscription) {
97
+ this.statusSubscription.unsubscribe();
98
+ this.statusSubscription = null;
99
+ this.platform.debugLog('Stopped Status Monitoring');
100
+ }
101
+ }
50
102
  // Stop the monitoring
51
103
  stopServicesMonitoring() {
52
104
  if (this.servicesSubscription) {
@@ -1 +1 @@
1
- {"version":3,"file":"OpalMonitorManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMonitorManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpalMonitorManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMonitorManager.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export class SmartHQIceMaker extends deviceBase {
31
31
  this.metadataManager = new OpalMetadataSvcManager(this, platform, accessory, device);
32
32
  this.monitorManager.startServicesMonitoring();
33
33
  this.monitorManager.startSchedulerMonitoring();
34
+ this.monitorManager.startStatusMonitoring();
34
35
  }
35
36
  shutdown() {
36
37
  // Clean up subscriptions
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/devices/OpalIceMaker/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAG7E,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAYlC;IAEA;IAbJ,YAAY,CAAqB;IAChC,iBAAiB,CAA0B;IAC5C,aAAa,CAAsB;IAClC,cAAc,CAAoB;IACnC,eAAe,CAAyB;IACvC,eAAe,CAAwB;IACxC,wBAAwB,CAAiC;IACzD,cAAc,CAAuB;IACrC,iBAAiB,CAAuB;IAE/C,YACW,QAAyB,EAClC,SAA4C,EACnC,MAAgD;QAEzD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAJzB,aAAQ,GAAR,QAAQ,CAAiB;QAEzB,WAAM,GAAN,MAAM,CAA0C;QAIzD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAE7G,kCAAkC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACxE,IAAI,CAAC,wBAAwB,GAAG,IAAI,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChG,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAC/C,QAAQ,EACR,SAAS,EACT,MAAM,CACP,CAAA;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAClF,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChF,wBAAwB;QAExB,IAAI,CAAC,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAErF,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAkB,CAC1C,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,CACP,CAAA;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAGpF,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAA;QAC7C,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAA;IAChD,CAAC;IAED,QAAQ;QACN,yBAAyB;QACzB,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAA;QAC5C,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAA;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/devices/OpalIceMaker/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAG7E,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAYlC;IAEA;IAbJ,YAAY,CAAqB;IAChC,iBAAiB,CAA0B;IAC5C,aAAa,CAAsB;IAClC,cAAc,CAAoB;IACnC,eAAe,CAAyB;IACvC,eAAe,CAAwB;IACxC,wBAAwB,CAAiC;IACzD,cAAc,CAAuB;IACrC,iBAAiB,CAAuB;IAE/C,YACW,QAAyB,EAClC,SAA4C,EACnC,MAAgD;QAEzD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAJzB,aAAQ,GAAR,QAAQ,CAAiB;QAEzB,WAAM,GAAN,MAAM,CAA0C;QAIzD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAE7G,kCAAkC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACxE,IAAI,CAAC,wBAAwB,GAAG,IAAI,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChG,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAC/C,QAAQ,EACR,SAAS,EACT,MAAM,CACP,CAAA;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAClF,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChF,wBAAwB;QAExB,IAAI,CAAC,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAErF,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAkB,CAC1C,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,CACP,CAAA;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAEpF,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAA;QAC7C,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAA;QAC9C,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAA;IAC7C,CAAC;IAED,QAAQ;QACN,yBAAyB;QACzB,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAA;QAC5C,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAA;IAC/C,CAAC;CACF"}