@homebridge-plugins/homebridge-smarthq 0.4.0-beta.3 → 0.4.0-beta.4

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 (79) hide show
  1. package/README.md +2 -1
  2. package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.d.ts +17 -0
  3. package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.d.ts.map +1 -0
  4. package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.js +54 -0
  5. package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.js.map +1 -0
  6. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.d.ts +3 -0
  7. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.d.ts.map +1 -1
  8. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js +29 -12
  9. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js.map +1 -1
  10. package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.d.ts +5 -1
  11. package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.d.ts.map +1 -1
  12. package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.js +24 -18
  13. package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.js.map +1 -1
  14. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.d.ts +3 -7
  15. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.d.ts.map +1 -1
  16. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.js +12 -17
  17. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.js.map +1 -1
  18. package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.d.ts +2 -0
  19. package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.d.ts.map +1 -1
  20. package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.js +19 -4
  21. package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.js.map +1 -1
  22. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.d.ts +3 -0
  23. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.d.ts.map +1 -1
  24. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js +19 -3
  25. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js.map +1 -1
  26. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts +2 -0
  27. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts.map +1 -1
  28. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js +9 -0
  29. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js.map +1 -1
  30. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.d.ts +8 -3
  31. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.d.ts.map +1 -1
  32. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.js +25 -5
  33. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.js.map +1 -1
  34. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.d.ts +8 -3
  35. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.d.ts.map +1 -1
  36. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.js +25 -5
  37. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.js.map +1 -1
  38. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.d.ts +1 -2
  39. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.d.ts.map +1 -1
  40. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.js +1 -1
  41. package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.js.map +1 -1
  42. package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.d.ts +7 -3
  43. package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.d.ts.map +1 -1
  44. package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.js +5 -3
  45. package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.js.map +1 -1
  46. package/dist/devices/OpalIceMaker/Managers/index.d.ts +1 -0
  47. package/dist/devices/OpalIceMaker/Managers/index.d.ts.map +1 -1
  48. package/dist/devices/OpalIceMaker/Managers/index.js +1 -0
  49. package/dist/devices/OpalIceMaker/Managers/index.js.map +1 -1
  50. package/dist/devices/OpalIceMaker/index.d.ts +7 -4
  51. package/dist/devices/OpalIceMaker/index.d.ts.map +1 -1
  52. package/dist/devices/OpalIceMaker/index.js +10 -6
  53. package/dist/devices/OpalIceMaker/index.js.map +1 -1
  54. package/dist/devices/device.js +1 -1
  55. package/dist/homebridge-ui/public/index.html +32 -18
  56. package/dist/settings.d.ts +2 -0
  57. package/dist/settings.d.ts.map +1 -1
  58. package/dist/settings.js.map +1 -1
  59. package/docs/classes/SmartHQPlatform.html +8 -8
  60. package/docs/functions/default.html +1 -1
  61. package/docs/index.html +1 -0
  62. package/docs/interfaces/DeviceOptions.html +2 -2
  63. package/docs/interfaces/SmartHQPlatformConfig.html +2 -2
  64. package/docs/interfaces/SmartHqContext.html +2 -2
  65. package/docs/interfaces/credentials.html +2 -2
  66. package/docs/interfaces/devicesConfig.html +2 -2
  67. package/docs/interfaces/options.html +2 -2
  68. package/docs/variables/API_URL.html +1 -1
  69. package/docs/variables/ERD_CODES.html +1 -1
  70. package/docs/variables/ERD_TYPES.html +1 -1
  71. package/docs/variables/KEEPALIVE_TIMEOUT.html +1 -1
  72. package/docs/variables/LOGIN_URL.html +1 -1
  73. package/docs/variables/OAUTH2_CLIENT_ID.html +1 -1
  74. package/docs/variables/OAUTH2_CLIENT_SECRET.html +1 -1
  75. package/docs/variables/OAUTH2_REDIRECT_URI.html +1 -1
  76. package/docs/variables/PLATFORM_NAME.html +1 -1
  77. package/docs/variables/PLUGIN_NAME.html +1 -1
  78. package/docs/variables/SECURE_URL.html +1 -1
  79. package/package.json +1 -1
package/README.md CHANGED
@@ -32,10 +32,11 @@ This plugin is in development
32
32
 
33
33
  ## Homekit Controller Notifications
34
34
 
35
- Currently Homekit Controller Notifications are supported for the Opal Ice Maker, to setup, install Homekit Controller App and configure notifications for each respective event. Put your Homekit Controller client secret in the Plugin Advanced Options, and the path associated with each available notifcation in the Opal device options.
35
+ Currently Homekit Controller Notifications are supported for the Opal Ice Maker, to setup, install Homekit Controller App and configure notifications for each respective event. Put your Homekit Controller client secret in the Plugin Advanced Options, and the path associated with each available notifcation in the Opal device options.
36
36
  These are the events that are currently supported:
37
37
 
38
38
  - Ice Bucket Full
39
39
  - Production Progress Complete
40
40
  - Filter Maintenance Change Alert
41
+ - Descale Needed Alert
41
42
  - Add Water Alert
@@ -0,0 +1,17 @@
1
+ import type { SmartHQPlatform } from '../../../index.js';
2
+ import { type devicesConfig, type SmartHqContext } from '../../../index.js';
3
+ import { OpalDeviceBase } from '../OpalDeviceBase.js';
4
+ import type { PlatformAccessory, Service } from 'homebridge';
5
+ export declare class OpalDescaleSvcManager extends OpalDeviceBase {
6
+ service: Service;
7
+ advancedOptionQueryStrs: string[];
8
+ serviceName: string;
9
+ private configuredName;
10
+ descaleStatus: 0 | 1;
11
+ constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
12
+ getDescaleStatus(): Promise<void>;
13
+ setOpalDescaleStatus(updateValue: 0 | 1): void;
14
+ private createService;
15
+ getService(): Service;
16
+ }
17
+ //# sourceMappingURL=OpalDescaleSvcManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpalDescaleSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE5D,qBAAa,qBAAsB,SAAQ,cAAc;IAChD,OAAO,EAAE,OAAO,CAAA;IAChB,uBAAuB,EAAE,MAAM,EAAE,CAA8F;IAC/H,WAAW,EAAE,MAAM,CAAiB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IAEvC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAI;gBAEtB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAO5C,gBAAgB;IAOtB,oBAAoB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;IAMvC,OAAO,CAAC,aAAa;IA+BrB,UAAU,IAAI,OAAO;CAGtB"}
@@ -0,0 +1,54 @@
1
+ import { ERD_TYPES } from '../../../index.js';
2
+ import { OpalDeviceBase } from '../OpalDeviceBase.js';
3
+ export class OpalDescaleSvcManager extends OpalDeviceBase {
4
+ service;
5
+ advancedOptionQueryStrs = ['device=opal&label=HKC_Descale_Notification_Path&indicator=oplHKCDescaleNotificationPath'];
6
+ serviceName = 'Opal Descale';
7
+ configuredName = 'Opal Descale';
8
+ descaleStatus = 0;
9
+ constructor(platform, accessory, device) {
10
+ super(platform, accessory, device);
11
+ this.service = this.createService();
12
+ }
13
+ async getDescaleStatus() {
14
+ const currentDescaleStatus = await this.readErd(ERD_TYPES.OIM_NEEDS_DESCALING);
15
+ this.platform.infoLog('CURRENT DESCALE STATUS');
16
+ this.platform.infoLog(currentDescaleStatus);
17
+ this.setOpalDescaleStatus(Number.parseInt(currentDescaleStatus));
18
+ }
19
+ setOpalDescaleStatus(updateValue) {
20
+ this.descaleStatus = updateValue;
21
+ // Stimulate on change handler for native notification
22
+ this.service.getCharacteristic(this.platform.Characteristic.FilterChangeIndication).setValue(updateValue);
23
+ }
24
+ createService() {
25
+ // Check if service already exists
26
+ const existingService = this.accessory.getService(this.serviceName);
27
+ // Remove existing service if it exists
28
+ if (existingService) {
29
+ this.accessory.removeService(existingService);
30
+ }
31
+ const service = this.accessory.addService(this.platform.Service.FilterMaintenance, this.serviceName, 'descale-status');
32
+ service
33
+ .getCharacteristic(this.platform.Characteristic.ConfiguredName)
34
+ .onGet(() => this.configuredName)
35
+ .setValue(this.configuredName);
36
+ service
37
+ .getCharacteristic(this.platform.Characteristic.FilterChangeIndication)
38
+ .onGet(() => {
39
+ return this.descaleStatus;
40
+ }).on('change', async (chg) => {
41
+ if (chg.oldValue === this.platform.Characteristic.FilterChangeIndication.FILTER_OK && chg.newValue === this.platform.Characteristic.FilterChangeIndication.CHANGE_FILTER) {
42
+ const notificationPath = this.platform.config.deviceOptions?.opal?.oplHKCDescaleNotificationPath;
43
+ if (notificationPath) {
44
+ await this.sendHomeKitControllerNotification(notificationPath);
45
+ }
46
+ }
47
+ });
48
+ return service;
49
+ }
50
+ getService() {
51
+ return this.service;
52
+ }
53
+ }
54
+ //# sourceMappingURL=OpalDescaleSvcManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpalDescaleSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,13 @@ import type { PlatformAccessory, Service } from 'homebridge';
5
5
  export declare class OpalFilterMaintenanceSvcManager extends OpalDeviceBase {
6
6
  service: Service;
7
7
  serviceName: string;
8
+ private configuredName;
9
+ advancedOptionQueryStrs: string[];
8
10
  filterMaintenanceStatus: 0 | 1;
9
11
  constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
10
12
  getFilterMaintenaceStatus(): Promise<void>;
11
13
  setFilterMaintenaceStatus(updateValue: 0 | 1): void;
14
+ private createService;
12
15
  getService(): Service;
13
16
  }
14
17
  //# sourceMappingURL=OpalFilterMaintenanceSvcManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpalFilterMaintenanceSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE5D,qBAAa,+BAAgC,SAAQ,cAAc;IAC1D,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAA4B;IACtD,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAI;gBAEhC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAkB5C,yBAAyB;IAK/B,yBAAyB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;IAM5C,UAAU,IAAI,OAAO;CAGtB"}
1
+ {"version":3,"file":"OpalFilterMaintenanceSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE5D,qBAAa,+BAAgC,SAAQ,cAAc;IAC1D,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAA4B;IACtD,OAAO,CAAC,cAAc,CAAuB;IACtC,uBAAuB,EAAE,MAAM,EAAE,CAAkH;IAE1J,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAI;gBAEhC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAO5C,yBAAyB;IAK/B,yBAAyB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;IAM5C,OAAO,CAAC,aAAa;IA+BrB,UAAU,IAAI,OAAO;CAGtB"}
@@ -3,21 +3,12 @@ import { OpalDeviceBase } from '../OpalDeviceBase.js';
3
3
  export class OpalFilterMaintenanceSvcManager extends OpalDeviceBase {
4
4
  service;
5
5
  serviceName = 'Opal Filter Maintenance';
6
+ configuredName = 'Filter Maintenance';
7
+ advancedOptionQueryStrs = ['device=opal&label=HKC_Filter_Maintenace_Notification_Path&indicator=oplHKCFilterMaintenanceNotificationPath'];
6
8
  filterMaintenanceStatus = 0;
7
9
  constructor(platform, accessory, device) {
8
10
  super(platform, accessory, device);
9
- this.service = this.accessory.getService(this.serviceName)
10
- || this.accessory.addService(this.platform.Service.FilterMaintenance, this.serviceName);
11
- this.service.getCharacteristic(this.platform.Characteristic.FilterChangeIndication).onGet(() => {
12
- return this.filterMaintenanceStatus;
13
- }).on('change', async (chg) => {
14
- if (chg.oldValue === this.platform.Characteristic.FilterChangeIndication.FILTER_OK && chg.newValue === this.platform.Characteristic.FilterChangeIndication.CHANGE_FILTER) {
15
- const notificationPath = this.platform.config.deviceOptions?.opal?.oplHKCFilterMaintenanceNotificationPath;
16
- if (notificationPath) {
17
- await this.sendHomeKitControllerNotification(notificationPath);
18
- }
19
- }
20
- });
11
+ this.service = this.createService();
21
12
  }
22
13
  async getFilterMaintenaceStatus() {
23
14
  const currentFilterStatus = await this.readErd(ERD_TYPES.OIM_FILTER_STATUS);
@@ -28,6 +19,32 @@ export class OpalFilterMaintenanceSvcManager extends OpalDeviceBase {
28
19
  // Stimulate on change handler for native notification
29
20
  this.service.getCharacteristic(this.platform.Characteristic.FilterChangeIndication).setValue(updateValue);
30
21
  }
22
+ createService() {
23
+ // Check if service already exists
24
+ const existingService = this.accessory.getService(this.serviceName);
25
+ // Remove existing service if it exists
26
+ if (existingService) {
27
+ this.accessory.removeService(existingService);
28
+ }
29
+ const service = this.accessory.addService(this.platform.Service.FilterMaintenance, this.serviceName, 'filter-maintenance-status');
30
+ service
31
+ .getCharacteristic(this.platform.Characteristic.ConfiguredName)
32
+ .onGet(() => this.configuredName)
33
+ .setValue(this.configuredName);
34
+ service
35
+ .getCharacteristic(this.platform.Characteristic.FilterChangeIndication)
36
+ .onGet(() => {
37
+ return this.filterMaintenanceStatus;
38
+ }).on('change', async (chg) => {
39
+ if (chg.oldValue === this.platform.Characteristic.FilterChangeIndication.FILTER_OK && chg.newValue === this.platform.Characteristic.FilterChangeIndication.CHANGE_FILTER) {
40
+ const notificationPath = this.platform.config.deviceOptions?.opal?.oplHKCFilterMaintenanceNotificationPath;
41
+ if (notificationPath) {
42
+ await this.sendHomeKitControllerNotification(notificationPath);
43
+ }
44
+ }
45
+ });
46
+ return service;
47
+ }
31
48
  getService() {
32
49
  return this.service;
33
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpalFilterMaintenanceSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2C,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,MAAM,OAAO,+BAAgC,SAAQ,cAAc;IAC1D,OAAO,CAAS;IAChB,WAAW,GAAW,yBAAyB,CAAA;IACtD,uBAAuB,GAAU,CAAC,CAAA;IAClC,YACE,QAAyB,EACzB,SAA4C,EAC5C,MAAgD;QAEhD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;eACrD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7F,OAAO,IAAI,CAAC,uBAAuB,CAAA;QACrC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;gBACzK,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,uCAAuC,CAAA;gBAC1G,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC3E,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAU,CAAC,CAAA;IAC/E,CAAC;IAED,yBAAyB,CAAC,WAAkB;QAC1C,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAA;QAC1C,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC3G,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"OpalFilterMaintenanceSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2C,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,MAAM,OAAO,+BAAgC,SAAQ,cAAc;IAC1D,OAAO,CAAS;IAChB,WAAW,GAAW,yBAAyB,CAAA;IAC9C,cAAc,GAAG,oBAAoB,CAAA;IACtC,uBAAuB,GAAa,CAAC,6GAA6G,CAAC,CAAA;IAE1J,uBAAuB,GAAU,CAAC,CAAA;IAClC,YACE,QAAyB,EACzB,SAA4C,EAC5C,MAAgD;QAEhD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAElC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC3E,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAU,CAAC,CAAA;IAC/E,CAAC;IAED,yBAAyB,CAAC,WAAkB;QAC1C,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAA;QAC1C,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC3G,CAAC;IAEO,aAAa;QACnB,kCAAkC;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAEnE,uCAAuC;QACvC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAA;QAEjI,OAAO;aACJ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aAC9D,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;aAChC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEhC,OAAO;aACJ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC;aACtE,KAAK,CAAC,GAAG,EAAE;YACV,OAAO,IAAI,CAAC,uBAAuB,CAAA;QACrC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;gBACzK,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,uCAAuC,CAAA;gBAC1G,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEJ,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
@@ -1,9 +1,13 @@
1
1
  import type { PlatformAccessory, Service } from 'homebridge';
2
2
  import type { SmartHQPlatform, devicesConfig, SmartHqContext } from '../../../index.js';
3
3
  import { OpalDeviceBase } from '../OpalDeviceBase.js';
4
+ import { SmartHQIceMaker } from '../index.js';
4
5
  export declare class OpalMetadataSvcManager extends OpalDeviceBase {
5
6
  service: Service;
6
- constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
7
+ private configuredName;
8
+ opalIceMaker: SmartHQIceMaker;
9
+ constructor(opalIceMaker: SmartHQIceMaker, platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
10
+ createService(): Service;
7
11
  getService(): Service;
8
12
  }
9
13
  //# sourceMappingURL=OpalMetadataSvcManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpalMetadataSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,sBAAuB,SAAQ,cAAc;IACjD,OAAO,EAAE,OAAO,CAAA;gBAGrB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAiClD,UAAU,IAAI,OAAO;CAGtB"}
1
+ {"version":3,"file":"OpalMetadataSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,qBAAa,sBAAuB,SAAQ,cAAc;IACjD,OAAO,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,cAAc,CAAa;IAC5B,YAAY,EAAE,eAAe,CAAA;gBAGlC,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAOlD,aAAa,IAAI,OAAO;IAgCxB,UAAU,IAAI,OAAO;CAGtB"}
@@ -1,33 +1,39 @@
1
1
  import { OpalDeviceBase } from '../OpalDeviceBase.js';
2
2
  export class OpalMetadataSvcManager extends OpalDeviceBase {
3
3
  service;
4
- constructor(platform, accessory, device) {
4
+ configuredName = 'Metadata';
5
+ opalIceMaker;
6
+ constructor(opalIceMaker, platform, accessory, device) {
5
7
  super(platform, accessory, device);
6
- // Get default accessory information service
7
- this.service = this.accessory.getService('');
8
- // Metadata for Device Form, Opal Production Limit
9
- const opalProductionLimitQueryStr = 'l=Production_Duration_Minutes&i=opalProductionLimit&t=number&d=0&p=Number._0_for_Infinite&de=opal';
10
- const opalHKCNotificationsPathQueryStr = 'l=HKC_Ice_Bucket_Full_Notification_Path&i=oplHKCIceBucketFullNotificationPath&de=opal';
11
- const opalHKCCompletionNotificationPathQueryStr = 'l=HKC_Progress_Complete_Notification_Path&i=oplHKCProgressCompleteNotificationPath&de=opal';
12
- const opalHKCFilterMaintenanceNotificationPathQueryStr = 'l=HKC_Filter_Maintenace_Notification_Path&i=oplHKCFilterMaintenanceNotificationPath&de=opal';
13
- const opalHKCAddWaterNotificationPathQueryStr = 'l=HKC_Add_Water_Notification_Path&i=oplHKCAddWaterNotificationPath&de=opal';
8
+ this.opalIceMaker = opalIceMaker;
9
+ this.service = this.createService();
10
+ }
11
+ createService() {
12
+ // Check if service already exists
13
+ const service = this.accessory.getService('');
14
+ service
15
+ .getCharacteristic(this.platform.Characteristic.ConfiguredName)
16
+ .onGet(() => this.configuredName)
17
+ .setValue(this.configuredName);
14
18
  const fullQueryStr = [
15
- opalProductionLimitQueryStr,
16
- opalHKCNotificationsPathQueryStr,
17
- opalHKCCompletionNotificationPathQueryStr,
18
- opalHKCFilterMaintenanceNotificationPathQueryStr,
19
- opalHKCAddWaterNotificationPathQueryStr
19
+ this.opalIceMaker.progressManager?.advancedOptionQueryStrs || [],
20
+ this.opalIceMaker.statusManager.iceBucketStatusManager.advancedOptionQueryStrs,
21
+ this.opalIceMaker.statusManager.addWaterStatusManager.advancedOptionQueryStrs,
22
+ this.opalIceMaker.filterMaintenanceManager.advancedOptionQueryStrs,
23
+ this.opalIceMaker.descaleManager.advancedOptionQueryStrs,
24
+ this.opalIceMaker.powerManager.advancedOptionQueryStrs
20
25
  ]
21
26
  .reduce((acc, qs, index) => {
22
27
  if (index === 0) {
23
28
  return acc.concat(qs);
24
29
  }
25
- return acc.concat(',').concat(qs);
26
- }, '');
27
- this.service
28
- ?.getCharacteristic(this.platform.Characteristic.ProductData)
30
+ return acc.concat(qs);
31
+ }, []).join(',');
32
+ service
33
+ .getCharacteristic(this.platform.Characteristic.ProductData)
29
34
  .onGet(() => fullQueryStr)
30
35
  .updateValue(fullQueryStr);
36
+ return service;
31
37
  }
32
38
  getService() {
33
39
  return this.service;
@@ -1 +1 @@
1
- {"version":3,"file":"OpalMetadataSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACjD,OAAO,CAAS;IAEvB,YACE,QAAyB,EACzB,SAA4C,EAC5C,MAAgD;QAEhD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAElC,4CAA4C;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAE,CAAA;QAC7C,kDAAkD;QAClD,MAAM,2BAA2B,GAAG,mGAAmG,CAAA;QACvI,MAAM,gCAAgC,GAAG,uFAAuF,CAAA;QAChI,MAAM,yCAAyC,GAAG,4FAA4F,CAAA;QAC9I,MAAM,gDAAgD,GAAG,6FAA6F,CAAA;QACtJ,MAAM,uCAAuC,GAAG,4EAA4E,CAAA;QAE5H,MAAM,YAAY,GAAG;YACnB,2BAA2B;YAC3B,gCAAgC;YAChC,yCAAyC;YACzC,gDAAgD;YAChD,uCAAuC;SACxC;aACE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACnC,CAAC,EAAE,EAAE,CAAC,CAAA;QAER,IAAI,CAAC,OAAO;YACV,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;aAC5D,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;aACzB,WAAW,CAAC,YAAY,CAAC,CAAA;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"OpalMetadataSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACjD,OAAO,CAAS;IACf,cAAc,GAAG,UAAU,CAAA;IAC5B,YAAY,CAAiB;IAEpC,YACE,YAA6B,EAC7B,QAAyB,EACzB,SAA4C,EAC5C,MAAgD;QAEhD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACrC,CAAC;IAED,aAAa;QACX,kCAAkC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAE,CAAA;QAE9C,OAAO;aACJ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aAC9D,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;aAChC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEhC,MAAM,YAAY,GAAG;YACnB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,uBAAuB,IAAI,EAAE;YAChE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC,uBAAuB;YAC9E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,CAAC,uBAAuB;YAC7E,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,uBAAuB;YAClE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,uBAAuB;YACxD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAuB;SACvD;aACE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElB,OAAO;aACJ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;aAC3D,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;aACzB,WAAW,CAAC,YAAY,CAAC,CAAA;QAE5B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
@@ -1,18 +1,14 @@
1
1
  import type { PlatformAccessory } from 'homebridge';
2
+ import { SmartHQIceMaker } from '../index.js';
2
3
  import type { SmartHQPlatform, devicesConfig, SmartHqContext } from '../../../index.js';
3
- import type { OpalFilterMaintenanceSvcManager, OpalPowerSvcManager, OpalProgressSvcManager } from '../Managers/index.js';
4
- import type { OpalStatusSvcManager } from '../Managers/StatusManagers/index.js';
5
4
  import { OpalDeviceBase } from '../OpalDeviceBase.js';
6
5
  export declare class OpalMonitorManager extends OpalDeviceBase {
7
6
  readonly platform: SmartHQPlatform;
8
7
  accessory: PlatformAccessory<SmartHqContext>;
9
8
  readonly device: SmartHqContext['device'] & devicesConfig;
10
- private statusManager;
11
- private powerManager;
12
- private progressManager;
13
- private filterMaintenanceManager;
14
9
  private subscription;
15
- constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig, statusManager: OpalStatusSvcManager, powerManager: OpalPowerSvcManager, progressManager: OpalProgressSvcManager, filterMaintenanceManager: OpalFilterMaintenanceSvcManager);
10
+ opalIceMaker: SmartHQIceMaker;
11
+ constructor(opalIceMaker: SmartHQIceMaker, platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
16
12
  startMonitoring(): void;
17
13
  stopMonitoring(): void;
18
14
  updateRefreshRate(newRate: number): void;
@@ -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,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAC3H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAGlF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,qBAAa,kBAAmB,SAAQ,cAAc;IAGlD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IACzD,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,wBAAwB;IARlC,OAAO,CAAC,YAAY,CAA4B;gBAErC,QAAQ,EAAE,eAAe,EAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC1C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa,EACjD,aAAa,EAAE,oBAAoB,EACnC,YAAY,EAAE,mBAAmB,EACjC,eAAe,EAAE,sBAAsB,EACvC,wBAAwB,EAAE,+BAA+B;IAMnE,eAAe,IAAI,IAAI;IA6BvB,cAAc,IAAI,IAAI;IAStB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAOzC"}
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;IAMlD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAP3D,OAAO,CAAC,YAAY,CAA4B;IACzC,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,eAAe,IAAI,IAAI;IA8BvB,cAAc,IAAI,IAAI;IAStB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAOzC"}
@@ -4,37 +4,32 @@ export class OpalMonitorManager extends OpalDeviceBase {
4
4
  platform;
5
5
  accessory;
6
6
  device;
7
- statusManager;
8
- powerManager;
9
- progressManager;
10
- filterMaintenanceManager;
11
7
  subscription = null;
12
- constructor(platform, accessory, device, statusManager, powerManager, progressManager, filterMaintenanceManager) {
8
+ opalIceMaker;
9
+ constructor(opalIceMaker, platform, accessory, device) {
13
10
  super(platform, accessory, device);
14
11
  this.platform = platform;
15
12
  this.accessory = accessory;
16
13
  this.device = device;
17
- this.statusManager = statusManager;
18
- this.powerManager = powerManager;
19
- this.progressManager = progressManager;
20
- this.filterMaintenanceManager = filterMaintenanceManager;
14
+ this.opalIceMaker = opalIceMaker;
21
15
  }
22
16
  // Start the monitoring
23
17
  startMonitoring() {
24
18
  // Stop any existing subscription first
25
19
  this.stopMonitoring();
26
20
  this.subscription = interval((this.device.refreshRate || 30) * 1000)
27
- .pipe(skipWhile(() => !this.progressManager && !this.platform.config.options?.homekitControllerNotificationsSecret))
21
+ .pipe(skipWhile(() => !this.opalIceMaker.progressManager && !this.platform.config.options?.homekitControllerNotificationsSecret))
28
22
  .subscribe(async () => {
29
- await this.statusManager.getOpalCurrentStatus();
30
- await this.filterMaintenanceManager.getFilterMaintenaceStatus();
31
- if (this.progressManager.hasService()) {
23
+ await this.opalIceMaker.statusManager.getOpalCurrentStatus();
24
+ await this.opalIceMaker.filterMaintenanceManager.getFilterMaintenaceStatus();
25
+ await this.opalIceMaker.descaleManager.getDescaleStatus();
26
+ if (this.opalIceMaker.progressManager?.hasService()) {
32
27
  try {
33
- const currentProductionValue = await this.progressManager.processProductionProgress();
28
+ const currentProductionValue = await this.opalIceMaker.progressManager.processProductionProgress();
34
29
  // Auto-shutoff if production exceeds limit
35
- if (this.progressManager.opalProductionLimit && currentProductionValue >= this.progressManager.opalProductionLimit) {
36
- this.powerManager.setOpalPowerState(false);
37
- this.platform.debugLog(`Auto-shutoff triggered: Production (${currentProductionValue}) > Limit (${this.progressManager.opalProductionLimit})`);
30
+ if (this.opalIceMaker.progressManager.opalProductionLimit && currentProductionValue >= this.opalIceMaker.progressManager.opalProductionLimit) {
31
+ this.opalIceMaker.powerManager.setOpalPowerState(false);
32
+ this.platform.debugLog(`Auto-shutoff triggered: Production (${currentProductionValue}) > Limit (${this.opalIceMaker.progressManager.opalProductionLimit})`);
38
33
  }
39
34
  }
40
35
  catch (error) {
@@ -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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"}
@@ -4,7 +4,9 @@ import { OpalDeviceBase } from '../OpalDeviceBase.js';
4
4
  export declare class OpalNightlightSvcManager extends OpalDeviceBase {
5
5
  private service;
6
6
  private serviceName;
7
+ private configuredName;
7
8
  constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
9
+ private createService;
8
10
  getService(): Service;
9
11
  }
10
12
  //# sourceMappingURL=OpalNightlightSvcManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpalNightlightSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAoB;gBAGrC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IA8DlD,UAAU,IAAI,OAAO;CAGtB"}
1
+ {"version":3,"file":"OpalNightlightSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,cAAc,CAAe;gBAGnC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAOlD,OAAO,CAAC,aAAa;IA0ErB,UAAU,IAAI,OAAO;CAGtB"}
@@ -3,11 +3,25 @@ import { OpalDeviceBase } from '../OpalDeviceBase.js';
3
3
  export class OpalNightlightSvcManager extends OpalDeviceBase {
4
4
  service;
5
5
  serviceName = 'Opal Nightlight';
6
+ configuredName = 'Nightlight';
6
7
  constructor(platform, accessory, device) {
7
8
  super(platform, accessory, device);
8
- this.service = this.accessory.getService(this.serviceName)
9
- || this.accessory.addService(this.platform.Service.Lightbulb, this.serviceName);
10
- this.service.getCharacteristic(this.platform.Characteristic.On)
9
+ this.service = this.createService();
10
+ }
11
+ createService() {
12
+ // Check if service already exists
13
+ const existingService = this.accessory.getService(this.serviceName);
14
+ // Remove existing service if it exists
15
+ if (existingService) {
16
+ this.accessory.removeService(existingService);
17
+ }
18
+ const service = this.accessory.addService(this.platform.Service.Lightbulb, this.serviceName);
19
+ service
20
+ .getCharacteristic(this.platform.Characteristic.ConfiguredName)
21
+ .onGet(() => this.configuredName)
22
+ .setValue(this.configuredName);
23
+ service
24
+ .getCharacteristic(this.platform.Characteristic.On)
11
25
  .onGet(async () => {
12
26
  const currentLevel = await this.readErd(ERD_TYPES.OIM_LIGHT_LEVEL);
13
27
  return currentLevel !== '00'; // If the level is not OFF (00), return true (ON)
@@ -29,7 +43,7 @@ export class OpalNightlightSvcManager extends OpalDeviceBase {
29
43
  }
30
44
  await this.writeErd(ERD_TYPES.OIM_LIGHT_LEVEL, newState);
31
45
  });
32
- this.service.getCharacteristic(this.platform.Characteristic.Brightness)
46
+ service.getCharacteristic(this.platform.Characteristic.Brightness)
33
47
  .setProps({
34
48
  minValue: 0, // Minimum value for brightness (OFF)
35
49
  maxValue: 100, // Maximum value for brightness (HIGH)
@@ -61,6 +75,7 @@ export class OpalNightlightSvcManager extends OpalDeviceBase {
61
75
  }
62
76
  await this.writeErd(ERD_TYPES.OIM_LIGHT_LEVEL, newState);
63
77
  });
78
+ return service;
64
79
  }
65
80
  getService() {
66
81
  return this.service;
@@ -1 +1 @@
1
- {"version":3,"file":"OpalNightlightSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpalNightlightSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,10 @@ import { OpalDeviceBase } from '../OpalDeviceBase.js';
4
4
  export declare class OpalPowerSvcManager extends OpalDeviceBase {
5
5
  service: Service;
6
6
  private serviceName;
7
+ private configuredName;
8
+ advancedOptionQueryStrs: string[];
7
9
  constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
10
+ createService(): Service;
8
11
  getService(): Service;
9
12
  setOpalPowerState(newPowerState: boolean): void;
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpalPowerSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalPowerSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,mBAAoB,SAAQ,cAAc;IAC9C,OAAO,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,WAAW,CAAe;gBAGhC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAalD,UAAU,IAAI,OAAO;IAId,iBAAiB,CAAC,aAAa,EAAE,OAAO;CAMhD"}
1
+ {"version":3,"file":"OpalPowerSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalPowerSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,mBAAoB,SAAQ,cAAc;IAC9C,OAAO,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAU;IACzB,uBAAuB,EAAE,MAAM,EAAE,CAA+H;gBAGrK,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAOlD,aAAa,IAAI,OAAO;IAwBxB,UAAU,IAAI,OAAO;IAId,iBAAiB,CAAC,aAAa,EAAE,OAAO;CAMhD"}
@@ -3,14 +3,30 @@ import { OpalDeviceBase } from '../OpalDeviceBase.js';
3
3
  export class OpalPowerSvcManager extends OpalDeviceBase {
4
4
  service;
5
5
  serviceName = 'Opal Power';
6
+ configuredName = 'Power';
7
+ advancedOptionQueryStrs = ['device=opal&label=Auto_Shutoff_on_Blocking_Event&indicator=oplAutoShutoffOnBlockingEvent&type=boolean&defaultValue=false'];
6
8
  constructor(platform, accessory, device) {
7
9
  super(platform, accessory, device);
8
- this.service = this.accessory.getService(this.serviceName)
9
- || this.accessory.addService(this.platform.Service.Switch, this.serviceName, 'opal-power');
10
- this.service
10
+ this.service = this.createService();
11
+ }
12
+ createService() {
13
+ // Check if service already exists
14
+ const existingService = this.accessory.getService(this.serviceName);
15
+ // Remove existing service if it exists
16
+ if (existingService) {
17
+ this.accessory.removeService(existingService);
18
+ }
19
+ const service = this.accessory.addService(this.platform.Service.Switch, this.serviceName, 'opal-power');
20
+ service.setPrimaryService();
21
+ service
22
+ .getCharacteristic(this.platform.Characteristic.ConfiguredName)
23
+ .onGet(() => this.configuredName)
24
+ .setValue(this.configuredName);
25
+ service
11
26
  .getCharacteristic(this.platform.Characteristic.On)
12
27
  .onGet(() => this.readErd(ERD_TYPES.OIM_POWER).then(r => Number.parseInt(r) !== 0))
13
28
  .onSet(value => this.writeErd(ERD_TYPES.OIM_POWER, value));
29
+ return service;
14
30
  }
15
31
  getService() {
16
32
  return this.service;
@@ -1 +1 @@
1
- {"version":3,"file":"OpalPowerSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalPowerSvcManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IAC9C,OAAO,CAAS;IACf,WAAW,GAAG,YAAY,CAAA;IAElC,YACE,QAAyB,EACzB,SAA4C,EAC5C,MAAgD;QAEhD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAElC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;eACrD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QAE5F,IAAI,CAAC,OAAO;aACT,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;aAClD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAClF,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,KAAgB,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEM,iBAAiB,CAAC,aAAsB;QAC7C,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAC/B,aAAa,CACd,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"OpalPowerSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalPowerSvcManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IAC9C,OAAO,CAAS;IACf,WAAW,GAAG,YAAY,CAAA;IAC1B,cAAc,GAAG,OAAO,CAAA;IACzB,uBAAuB,GAAa,CAAC,0HAA0H,CAAC,CAAA;IAEvK,YACE,QAAyB,EACzB,SAA4C,EAC5C,MAAgD;QAEhD,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAElC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACrC,CAAC;IAED,aAAa;QACX,kCAAkC;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAEnE,uCAAuC;QACvC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACvG,OAAO,CAAC,iBAAiB,EAAE,CAAA;QAC3B,OAAO;aACJ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aAC9D,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;aAChC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAChC,OAAO;aACJ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;aAClD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAClF,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,KAAgB,CAAC,CAAC,CAAA;QAEvE,OAAO,OAAO,CAAA;IAEhB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEM,iBAAiB,CAAC,aAAsB;QAC7C,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAC/B,aAAa,CACd,CAAA;IACH,CAAC;CACF"}
@@ -5,8 +5,10 @@ export declare class OpalProgressSvcManager extends OpalDeviceBase {
5
5
  readonly platform: SmartHQPlatform;
6
6
  accessory: PlatformAccessory<SmartHqContext>;
7
7
  readonly device: SmartHqContext['device'] & devicesConfig;
8
+ advancedOptionQueryStrs: string[];
8
9
  serviceName: string;
9
10
  service: Service | null;
11
+ private configuredName;
10
12
  opalProductionLimit?: number;
11
13
  constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
12
14
  private createService;
@@ -1 +1 @@
1
- {"version":3,"file":"OpalProgressSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalProgressSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAO3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,sBAAuB,SAAQ,cAAc;IAKtD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IANpD,WAAW,EAAE,MAAM,CAAkB;IACrC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAO;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAW;gBAEnC,QAAQ,EAAE,eAAe,EAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC1C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAkB3D,OAAO,CAAC,aAAa;IAyCrB,oBAAoB,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAO3D,UAAU,IAAI,OAAO;IAKrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASrB,yBAAyB;IAuBtC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;YAM/B,kBAAkB;CAiBjC"}
1
+ {"version":3,"file":"OpalProgressSvcManager.d.ts","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalProgressSvcManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAO3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,sBAAuB,SAAQ,cAAc;IAUtD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAXpD,uBAAuB,EAAE,MAAM,EAAE,CAGvC;IACM,WAAW,EAAE,MAAM,CAAkB;IACrC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAO;IACrC,OAAO,CAAC,cAAc,CAAiB;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAW;gBAEnC,QAAQ,EAAE,eAAe,EAC3B,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC1C,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAkB3D,OAAO,CAAC,aAAa;IA8CrB,oBAAoB,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAO3D,UAAU,IAAI,OAAO;IAKrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASrB,yBAAyB;IAuBtC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;YAM/B,kBAAkB;CAiBjC"}
@@ -5,8 +5,13 @@ export class OpalProgressSvcManager extends OpalDeviceBase {
5
5
  platform;
6
6
  accessory;
7
7
  device;
8
+ advancedOptionQueryStrs = [
9
+ 'device=opal&label=Production_Duration_Minutes&indicator=opalProductionLimit&type=number&defaultValue=0&placeholder=Number._0_for_Infinite',
10
+ 'device=opal&label=HKC_Progress_Complete_Notification_Path&indicator=oplHKCProgressCompleteNotificationPath'
11
+ ];
8
12
  serviceName = 'Opal Progress';
9
13
  service = null;
14
+ configuredName = 'Ice Progress';
10
15
  opalProductionLimit = Infinity;
11
16
  constructor(platform, accessory, device) {
12
17
  super(platform, accessory, device);
@@ -36,6 +41,10 @@ export class OpalProgressSvcManager extends OpalDeviceBase {
36
41
  }
37
42
  // Create new service
38
43
  this.service = this.accessory.addService(this.platform.Service.Fanv2, this.serviceName);
44
+ this.service
45
+ .getCharacteristic(this.platform.Characteristic.ConfiguredName)
46
+ .onGet(() => this.configuredName)
47
+ .setValue(this.configuredName);
39
48
  // Configure Active characteristic
40
49
  this.service.getCharacteristic(this.platform.Characteristic.Active)
41
50
  .setProps({
@@ -1 +1 @@
1
- {"version":3,"file":"OpalProgressSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalProgressSvcManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpalProgressSvcManager.js","sourceRoot":"","sources":["../../../../src/devices/OpalIceMaker/Managers/OpalProgressSvcManager.ts"],"names":[],"mappings":"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"}