@homebridge-plugins/homebridge-smarthq 0.5.0-beta.0 → 0.5.0-beta.10

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 (128) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +1 -1
  2. package/.github/copilot-instructions.md +90 -0
  3. package/.github/scripts/branch-helper.sh +41 -0
  4. package/.github/workflows/beta-release.yml +1 -1
  5. package/.github/workflows/release.yml +53 -17
  6. package/CHANGELOG.md +563 -18
  7. package/README.md +15 -0
  8. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts +1 -1
  9. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts.map +1 -1
  10. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js +9 -5
  11. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js.map +1 -1
  12. package/dist/devices/advantium.d.ts +10 -0
  13. package/dist/devices/advantium.d.ts.map +1 -0
  14. package/dist/devices/advantium.js +75 -0
  15. package/dist/devices/advantium.js.map +1 -0
  16. package/dist/devices/airConditioner.d.ts +1 -0
  17. package/dist/devices/airConditioner.d.ts.map +1 -1
  18. package/dist/devices/airConditioner.js +38 -7
  19. package/dist/devices/airConditioner.js.map +1 -1
  20. package/dist/devices/beverageCenter.d.ts +10 -0
  21. package/dist/devices/beverageCenter.d.ts.map +1 -0
  22. package/dist/devices/beverageCenter.js +125 -0
  23. package/dist/devices/beverageCenter.js.map +1 -0
  24. package/dist/devices/clothesDryer.d.ts +10 -0
  25. package/dist/devices/clothesDryer.d.ts.map +1 -0
  26. package/dist/devices/clothesDryer.js +84 -0
  27. package/dist/devices/clothesDryer.js.map +1 -0
  28. package/dist/devices/clothesWasher.d.ts +10 -0
  29. package/dist/devices/clothesWasher.d.ts.map +1 -0
  30. package/dist/devices/clothesWasher.js +84 -0
  31. package/dist/devices/clothesWasher.js.map +1 -0
  32. package/dist/devices/coffeeMaker.d.ts +10 -0
  33. package/dist/devices/coffeeMaker.d.ts.map +1 -0
  34. package/dist/devices/coffeeMaker.js +79 -0
  35. package/dist/devices/coffeeMaker.js.map +1 -0
  36. package/dist/devices/device.d.ts +12 -0
  37. package/dist/devices/device.d.ts.map +1 -1
  38. package/dist/devices/device.js +61 -1
  39. package/dist/devices/device.js.map +1 -1
  40. package/dist/devices/dishwasher.d.ts +0 -3
  41. package/dist/devices/dishwasher.d.ts.map +1 -1
  42. package/dist/devices/dishwasher.js +49 -29
  43. package/dist/devices/dishwasher.js.map +1 -1
  44. package/dist/devices/hood.d.ts +34 -0
  45. package/dist/devices/hood.d.ts.map +1 -0
  46. package/dist/devices/hood.js +306 -0
  47. package/dist/devices/hood.js.map +1 -0
  48. package/dist/devices/microwave.d.ts +10 -0
  49. package/dist/devices/microwave.d.ts.map +1 -0
  50. package/dist/devices/microwave.js +84 -0
  51. package/dist/devices/microwave.js.map +1 -0
  52. package/dist/devices/oven.d.ts +0 -2
  53. package/dist/devices/oven.d.ts.map +1 -1
  54. package/dist/devices/oven.js +78 -43
  55. package/dist/devices/oven.js.map +1 -1
  56. package/dist/devices/refrigerator.d.ts +0 -2
  57. package/dist/devices/refrigerator.d.ts.map +1 -1
  58. package/dist/devices/refrigerator.js +112 -29
  59. package/dist/devices/refrigerator.js.map +1 -1
  60. package/dist/devices/waterFilter.d.ts +10 -0
  61. package/dist/devices/waterFilter.d.ts.map +1 -0
  62. package/dist/devices/waterFilter.js +67 -0
  63. package/dist/devices/waterFilter.js.map +1 -0
  64. package/dist/devices/waterHeater.d.ts +10 -0
  65. package/dist/devices/waterHeater.d.ts.map +1 -0
  66. package/dist/devices/waterHeater.js +95 -0
  67. package/dist/devices/waterHeater.js.map +1 -0
  68. package/dist/devices/waterSoftener.d.ts +10 -0
  69. package/dist/devices/waterSoftener.d.ts.map +1 -0
  70. package/dist/devices/waterSoftener.js +67 -0
  71. package/dist/devices/waterSoftener.js.map +1 -0
  72. package/dist/getAccessToken.d.ts.map +1 -1
  73. package/dist/getAccessToken.js +6 -0
  74. package/dist/getAccessToken.js.map +1 -1
  75. package/dist/platform.d.ts +10 -0
  76. package/dist/platform.d.ts.map +1 -1
  77. package/dist/platform.js +393 -0
  78. package/dist/platform.js.map +1 -1
  79. package/dist/platform.test.d.ts +2 -0
  80. package/dist/platform.test.d.ts.map +1 -0
  81. package/dist/platform.test.js +80 -0
  82. package/dist/platform.test.js.map +1 -0
  83. package/dist/settings.d.ts +13 -0
  84. package/dist/settings.d.ts.map +1 -1
  85. package/dist/settings.js +3 -0
  86. package/dist/settings.js.map +1 -1
  87. package/docs/assets/highlight.css +7 -0
  88. package/docs/assets/main.js +5 -5
  89. package/docs/assets/navigation.js +1 -0
  90. package/docs/assets/search.js +1 -0
  91. package/docs/assets/style.css +248 -226
  92. package/docs/classes/SmartHQPlatform.html +45 -56
  93. package/docs/hierarchy.html +1 -0
  94. package/docs/index.html +22 -12
  95. package/docs/interfaces/DeviceOptions.html +2 -3
  96. package/docs/interfaces/SmartHQPlatformConfig.html +6 -17
  97. package/docs/interfaces/SmartHqContext.html +6 -4
  98. package/docs/interfaces/SmartHqERDResponse.html +7 -8
  99. package/docs/interfaces/credentials.html +3 -4
  100. package/docs/interfaces/devicesConfig.html +7 -8
  101. package/docs/interfaces/options.html +7 -8
  102. package/docs/media/copilot-instructions.md +90 -0
  103. package/docs/modules.html +1 -2
  104. package/docs/variables/API_URL.html +1 -2
  105. package/docs/variables/ERD_CODES.html +1 -2
  106. package/docs/variables/ERD_TYPES.html +1 -2
  107. package/docs/variables/KEEPALIVE_TIMEOUT.html +1 -2
  108. package/docs/variables/LOGIN_URL.html +2 -3
  109. package/docs/variables/OAUTH2_CLIENT_ID.html +1 -2
  110. package/docs/variables/OAUTH2_CLIENT_SECRET.html +1 -2
  111. package/docs/variables/OAUTH2_REDIRECT_URI.html +1 -2
  112. package/docs/variables/PLATFORM_NAME.html +2 -3
  113. package/docs/variables/PLUGIN_NAME.html +2 -3
  114. package/docs/variables/SECURE_URL.html +2 -3
  115. package/docs/variables/default.html +1 -0
  116. package/package.json +21 -28
  117. package/typedoc.json +0 -4
  118. package/vitest.config.ts +6 -5
  119. package/.github/workflows/build.yml +0 -18
  120. package/.github/workflows/changerelease.yml +0 -11
  121. package/.github/workflows/labeler.yml +0 -9
  122. package/.github/workflows/release-drafter.yml +0 -14
  123. package/docs/assets/dmt/dmt-component-data.js +0 -1
  124. package/docs/assets/dmt/dmt-components.css +0 -20
  125. package/docs/assets/dmt/dmt-components.js +0 -67
  126. package/docs/assets/dmt/dmt-search.cmp +0 -0
  127. package/docs/assets/dmt/dmt-theme.css +0 -1
  128. package/docs/functions/default.html +0 -2
package/dist/platform.js CHANGED
@@ -4,10 +4,20 @@ import { SmartHQIceMaker } from './devices/OpalIceMaker/index.js';
4
4
  import axios from 'axios';
5
5
  import pkg from 'lodash';
6
6
  import ws from 'ws';
7
+ import { SmartHQAdvantium } from './devices/advantium.js';
7
8
  import { SmartHQAirConditioner } from './devices/airConditioner.js';
9
+ import { SmartHQBeverageCenter } from './devices/beverageCenter.js';
10
+ import { SmartHQClothesDryer } from './devices/clothesDryer.js';
11
+ import { SmartHQClothesWasher } from './devices/clothesWasher.js';
12
+ import { SmartHQCoffeeMaker } from './devices/coffeeMaker.js';
8
13
  import { SmartHQDishWasher } from './devices/dishwasher.js';
14
+ import { SmartHQHood } from './devices/hood.js';
15
+ import { SmartHQMicrowave } from './devices/microwave.js';
9
16
  import { SmartHQOven } from './devices/oven.js';
10
17
  import { SmartHQRefrigerator } from './devices/refrigerator.js';
18
+ import { SmartHQWaterFilter } from './devices/waterFilter.js';
19
+ import { SmartHQWaterHeater } from './devices/waterHeater.js';
20
+ import { SmartHQWaterSoftener } from './devices/waterSoftener.js';
11
21
  import getAccessToken, { refreshAccessToken } from './getAccessToken.js';
12
22
  import { API_URL, ERD_CODES, ERD_TYPES, KEEPALIVE_TIMEOUT, PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
13
23
  const { find } = pkg;
@@ -112,17 +122,24 @@ export class SmartHQPlatform {
112
122
  }
113
123
  }
114
124
  async startRefreshTokenLogic() {
125
+ if (!this.tokenSet) {
126
+ throw new Error('Token set is undefined');
127
+ }
115
128
  if (this.tokenSet.refresh_token) {
116
129
  try {
117
130
  this.tokenSet = await refreshAccessToken(this.tokenSet.refresh_token);
118
131
  }
119
132
  catch (e) {
120
133
  await this.errorLog(`Failed to refresh Access Token, Error Message: ${e.message ?? e}, Submit Bugs Here: https://bit.ly/smarthq-bug-report`);
134
+ throw e; // Re-throw to stop execution
121
135
  }
122
136
  }
123
137
  else {
124
138
  throw new Error('Refresh token is undefined');
125
139
  }
140
+ if (!this.tokenSet.access_token) {
141
+ throw new Error('Access token is undefined after refresh');
142
+ }
126
143
  axios.defaults.headers.common = {
127
144
  Authorization: `Bearer ${this.tokenSet.access_token}`,
128
145
  };
@@ -148,12 +165,14 @@ export class SmartHQPlatform {
148
165
  }
149
166
  catch (e) {
150
167
  await this.errorLog(`discoverDevices, Failed to get Access Token, Error Message: ${e.message ?? e}, Submit Bugs Here: https://bit.ly/smarthq-bug-report`);
168
+ return; // Stop execution if authentication fails
151
169
  }
152
170
  try {
153
171
  await this.startRefreshTokenLogic();
154
172
  }
155
173
  catch (e) {
156
174
  await this.errorLog(`discoverDevices, Failed to start Refresh Token Logic, Error Message: ${e.message ?? e}, Submit Bugs Here: https://bit.ly/smarthq-bug-report`);
175
+ return; // Stop execution if token refresh setup fails
157
176
  }
158
177
  try {
159
178
  const wssData = await axios.get('/websocket');
@@ -222,9 +241,41 @@ export class SmartHQPlatform {
222
241
  await this.createSmartHQIceMaker(userId, device, details, features);
223
242
  break;
224
243
  case 'Air Conditioner':
244
+ case 'Portable AC':
225
245
  case 'Split Air Conditioner':
226
246
  await this.createSmartHQAirConditioner(userId, device, details, features);
227
247
  break;
248
+ case 'Hood':
249
+ await this.createSmartHQHood(userId, device, details, features);
250
+ break;
251
+ case 'Clothes Washer':
252
+ await this.createSmartHQClothesWasher(userId, device, details, features);
253
+ break;
254
+ case 'Clothes Dryer':
255
+ await this.createSmartHQClothesDryer(userId, device, details, features);
256
+ break;
257
+ case 'Whole Home Water Filter':
258
+ await this.createSmartHQWaterFilter(userId, device, details, features);
259
+ break;
260
+ case 'Whole Home Water Softener':
261
+ await this.createSmartHQWaterSoftener(userId, device, details, features);
262
+ break;
263
+ case 'Whole Home Water Heater':
264
+ await this.createSmartHQWaterHeater(userId, device, details, features);
265
+ break;
266
+ case 'Advantium':
267
+ await this.createSmartHQAdvantium(userId, device, details, features);
268
+ break;
269
+ case 'Microwave':
270
+ await this.createSmartHQMicrowave(userId, device, details, features);
271
+ break;
272
+ case 'Coffee Maker':
273
+ case 'Espresso Maker':
274
+ await this.createSmartHQCoffeeMaker(userId, device, details, features);
275
+ break;
276
+ case 'Beverage Center':
277
+ await this.createSmartHQBeverageCenter(userId, device, details, features);
278
+ break;
228
279
  default:
229
280
  await this.warnLog(`Device Type Not Supported: ${device.type}`);
230
281
  break;
@@ -473,6 +524,348 @@ export class SmartHQPlatform {
473
524
  this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
474
525
  }
475
526
  }
527
+ async createSmartHQHood(userId, device, details, features) {
528
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
529
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
530
+ if (existingAccessory) {
531
+ if (!device.hide_device) {
532
+ existingAccessory.context.device = device;
533
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
534
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
535
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
536
+ this.api.updatePlatformAccessories([existingAccessory]);
537
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
538
+ new SmartHQHood(this, existingAccessory, device);
539
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
540
+ }
541
+ else {
542
+ this.unregisterPlatformAccessories(existingAccessory);
543
+ }
544
+ }
545
+ else if (!device.hide_device && !existingAccessory) {
546
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
547
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
548
+ accessory.context.device = device;
549
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
550
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
551
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
552
+ new SmartHQHood(this, accessory, device);
553
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
554
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
555
+ this.accessories.push(accessory);
556
+ }
557
+ else {
558
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
559
+ }
560
+ }
561
+ async createSmartHQClothesWasher(userId, device, details, features) {
562
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
563
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
564
+ if (existingAccessory) {
565
+ if (!device.hide_device) {
566
+ existingAccessory.context.device = device;
567
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
568
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
569
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
570
+ this.api.updatePlatformAccessories([existingAccessory]);
571
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
572
+ // create the accessory handler for the restored accessory
573
+ new SmartHQClothesWasher(this, existingAccessory, device);
574
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
575
+ }
576
+ else {
577
+ this.unregisterPlatformAccessories(existingAccessory);
578
+ }
579
+ }
580
+ else if (!device.hide_device && !existingAccessory) {
581
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
582
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
583
+ accessory.context.device = device;
584
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
585
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
586
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
587
+ new SmartHQClothesWasher(this, accessory, device);
588
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
589
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
590
+ this.accessories.push(accessory);
591
+ }
592
+ else {
593
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
594
+ }
595
+ }
596
+ async createSmartHQClothesDryer(userId, device, details, features) {
597
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
598
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
599
+ if (existingAccessory) {
600
+ if (!device.hide_device) {
601
+ existingAccessory.context.device = device;
602
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
603
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
604
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
605
+ this.api.updatePlatformAccessories([existingAccessory]);
606
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
607
+ // create the accessory handler for the restored accessory
608
+ new SmartHQClothesDryer(this, existingAccessory, device);
609
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
610
+ }
611
+ else {
612
+ this.unregisterPlatformAccessories(existingAccessory);
613
+ }
614
+ }
615
+ else if (!device.hide_device && !existingAccessory) {
616
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
617
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
618
+ accessory.context.device = device;
619
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
620
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
621
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
622
+ new SmartHQClothesDryer(this, accessory, device);
623
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
624
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
625
+ this.accessories.push(accessory);
626
+ }
627
+ else {
628
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
629
+ }
630
+ }
631
+ async createSmartHQWaterFilter(userId, device, details, features) {
632
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
633
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
634
+ if (existingAccessory) {
635
+ if (!device.hide_device) {
636
+ existingAccessory.context.device = device;
637
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
638
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
639
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
640
+ this.api.updatePlatformAccessories([existingAccessory]);
641
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
642
+ new SmartHQWaterFilter(this, existingAccessory, device);
643
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
644
+ }
645
+ else {
646
+ this.unregisterPlatformAccessories(existingAccessory);
647
+ }
648
+ }
649
+ else if (!device.hide_device && !existingAccessory) {
650
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
651
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
652
+ accessory.context.device = device;
653
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
654
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
655
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
656
+ new SmartHQWaterFilter(this, accessory, device);
657
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
658
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
659
+ this.accessories.push(accessory);
660
+ }
661
+ else {
662
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
663
+ }
664
+ }
665
+ async createSmartHQWaterSoftener(userId, device, details, features) {
666
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
667
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
668
+ if (existingAccessory) {
669
+ if (!device.hide_device) {
670
+ existingAccessory.context.device = device;
671
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
672
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
673
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
674
+ this.api.updatePlatformAccessories([existingAccessory]);
675
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
676
+ new SmartHQWaterSoftener(this, existingAccessory, device);
677
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
678
+ }
679
+ else {
680
+ this.unregisterPlatformAccessories(existingAccessory);
681
+ }
682
+ }
683
+ else if (!device.hide_device && !existingAccessory) {
684
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
685
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
686
+ accessory.context.device = device;
687
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
688
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
689
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
690
+ new SmartHQWaterSoftener(this, accessory, device);
691
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
692
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
693
+ this.accessories.push(accessory);
694
+ }
695
+ else {
696
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
697
+ }
698
+ }
699
+ async createSmartHQWaterHeater(userId, device, details, features) {
700
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
701
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
702
+ if (existingAccessory) {
703
+ if (!device.hide_device) {
704
+ existingAccessory.context.device = device;
705
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
706
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
707
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
708
+ this.api.updatePlatformAccessories([existingAccessory]);
709
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
710
+ new SmartHQWaterHeater(this, existingAccessory, device);
711
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
712
+ }
713
+ else {
714
+ this.unregisterPlatformAccessories(existingAccessory);
715
+ }
716
+ }
717
+ else if (!device.hide_device && !existingAccessory) {
718
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
719
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
720
+ accessory.context.device = device;
721
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
722
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
723
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
724
+ new SmartHQWaterHeater(this, accessory, device);
725
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
726
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
727
+ this.accessories.push(accessory);
728
+ }
729
+ else {
730
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
731
+ }
732
+ }
733
+ async createSmartHQAdvantium(userId, device, details, features) {
734
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
735
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
736
+ if (existingAccessory) {
737
+ if (!device.hide_device) {
738
+ existingAccessory.context.device = device;
739
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
740
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
741
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
742
+ this.api.updatePlatformAccessories([existingAccessory]);
743
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
744
+ new SmartHQAdvantium(this, existingAccessory, device);
745
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
746
+ }
747
+ else {
748
+ this.unregisterPlatformAccessories(existingAccessory);
749
+ }
750
+ }
751
+ else if (!device.hide_device && !existingAccessory) {
752
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
753
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
754
+ accessory.context.device = device;
755
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
756
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
757
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
758
+ new SmartHQAdvantium(this, accessory, device);
759
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
760
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
761
+ this.accessories.push(accessory);
762
+ }
763
+ else {
764
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
765
+ }
766
+ }
767
+ async createSmartHQMicrowave(userId, device, details, features) {
768
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
769
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
770
+ if (existingAccessory) {
771
+ if (!device.hide_device) {
772
+ existingAccessory.context.device = device;
773
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
774
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
775
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
776
+ this.api.updatePlatformAccessories([existingAccessory]);
777
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
778
+ new SmartHQMicrowave(this, existingAccessory, device);
779
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
780
+ }
781
+ else {
782
+ this.unregisterPlatformAccessories(existingAccessory);
783
+ }
784
+ }
785
+ else if (!device.hide_device && !existingAccessory) {
786
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
787
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
788
+ accessory.context.device = device;
789
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
790
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
791
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
792
+ new SmartHQMicrowave(this, accessory, device);
793
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
794
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
795
+ this.accessories.push(accessory);
796
+ }
797
+ else {
798
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
799
+ }
800
+ }
801
+ async createSmartHQCoffeeMaker(userId, device, details, features) {
802
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
803
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
804
+ if (existingAccessory) {
805
+ if (!device.hide_device) {
806
+ existingAccessory.context.device = device;
807
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
808
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
809
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
810
+ this.api.updatePlatformAccessories([existingAccessory]);
811
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
812
+ new SmartHQCoffeeMaker(this, existingAccessory, device);
813
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
814
+ }
815
+ else {
816
+ this.unregisterPlatformAccessories(existingAccessory);
817
+ }
818
+ }
819
+ else if (!device.hide_device && !existingAccessory) {
820
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
821
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
822
+ accessory.context.device = device;
823
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
824
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
825
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
826
+ new SmartHQCoffeeMaker(this, accessory, device);
827
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
828
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
829
+ this.accessories.push(accessory);
830
+ }
831
+ else {
832
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
833
+ }
834
+ }
835
+ async createSmartHQBeverageCenter(userId, device, details, features) {
836
+ const uuid = this.api.hap.uuid.generate(device.applianceId);
837
+ const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
838
+ if (existingAccessory) {
839
+ if (!device.hide_device) {
840
+ existingAccessory.context.device = device;
841
+ existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
842
+ existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
843
+ existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
844
+ this.api.updatePlatformAccessories([existingAccessory]);
845
+ this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
846
+ new SmartHQBeverageCenter(this, existingAccessory, device);
847
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
848
+ }
849
+ else {
850
+ this.unregisterPlatformAccessories(existingAccessory);
851
+ }
852
+ }
853
+ else if (!device.hide_device && !existingAccessory) {
854
+ this.infoLog(`Adding new accessory: ${device.nickname}`);
855
+ const accessory = new this.api.platformAccessory(device.nickname, uuid);
856
+ accessory.context.device = device;
857
+ accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
858
+ accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
859
+ accessory.context.device.firmware = device.firmware ?? await this.getVersion();
860
+ new SmartHQBeverageCenter(this, accessory, device);
861
+ this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
862
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
863
+ this.accessories.push(accessory);
864
+ }
865
+ else {
866
+ this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
867
+ }
868
+ }
476
869
  async unregisterPlatformAccessories(existingAccessory) {
477
870
  // remove platform accessories when no longer present
478
871
  this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [existingAccessory]);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.test.d.ts","sourceRoot":"","sources":["../src/platform.test.ts"],"names":[],"mappings":""}