homebridge-econet-rheem 1.5.10 → 1.5.12-beta.0

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 (73) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/dist/homebridge/index.js.map +1 -0
  3. package/dist/{platform.d.ts → homebridge/platform.d.ts} +4 -1
  4. package/dist/homebridge/platform.js +98 -0
  5. package/dist/homebridge/platform.js.map +1 -0
  6. package/dist/homebridge/settings.js.map +1 -0
  7. package/dist/{accessories → homebridge}/thermostatAccessory.d.ts +1 -1
  8. package/dist/{accessories → homebridge}/thermostatAccessory.js +8 -6
  9. package/dist/homebridge/thermostatAccessory.js.map +1 -0
  10. package/dist/{accessories → homebridge}/waterHeaterAccessory.d.ts +1 -1
  11. package/dist/{accessories → homebridge}/waterHeaterAccessory.js +7 -5
  12. package/dist/homebridge/waterHeaterAccessory.js.map +1 -0
  13. package/dist/lang/en.d.ts +52 -0
  14. package/dist/lang/en.js +64 -0
  15. package/dist/lang/en.js.map +1 -0
  16. package/dist/model/api.d.ts +36 -0
  17. package/dist/model/api.js +367 -0
  18. package/dist/model/api.js.map +1 -0
  19. package/dist/model/auth.d.ts +11 -0
  20. package/dist/model/auth.js +52 -0
  21. package/dist/model/auth.js.map +1 -0
  22. package/dist/model/{enums.d.ts → constants.d.ts} +4 -0
  23. package/dist/model/{enums.js → constants.js} +6 -1
  24. package/dist/model/constants.js.map +1 -0
  25. package/dist/model/equipment.d.ts +9 -9
  26. package/dist/model/equipment.js +15 -29
  27. package/dist/model/equipment.js.map +1 -1
  28. package/dist/model/recoverySimulator.d.ts +2 -2
  29. package/dist/model/recoverySimulator.js +7 -8
  30. package/dist/model/recoverySimulator.js.map +1 -1
  31. package/dist/model/thermostat.d.ts +6 -6
  32. package/dist/model/thermostat.js +62 -70
  33. package/dist/model/thermostat.js.map +1 -1
  34. package/dist/model/types.d.ts +82 -0
  35. package/dist/model/types.js +12 -0
  36. package/dist/model/types.js.map +1 -0
  37. package/dist/model/waterHeater.d.ts +7 -5
  38. package/dist/model/waterHeater.js +34 -37
  39. package/dist/model/waterHeater.js.map +1 -1
  40. package/dist/tools/storage.d.ts +3 -0
  41. package/dist/tools/storage.js +22 -0
  42. package/dist/tools/storage.js.map +1 -0
  43. package/dist/tools/temperature.d.ts +3 -0
  44. package/dist/tools/temperature.js +14 -0
  45. package/dist/tools/temperature.js.map +1 -0
  46. package/dist/tools/time.d.ts +4 -0
  47. package/dist/tools/time.js +5 -0
  48. package/dist/tools/time.js.map +1 -0
  49. package/dist/tools/version.d.ts +1 -0
  50. package/dist/tools/version.js +18 -0
  51. package/dist/tools/version.js.map +1 -0
  52. package/example_responses/auth.json +45 -0
  53. package/example_responses/locations.json +1656 -0
  54. package/package.json +4 -2
  55. package/src/homebridge-ui/public/index.html +104 -0
  56. package/dist/accessories/thermostatAccessory.js.map +0 -1
  57. package/dist/accessories/waterHeaterAccessory.js.map +0 -1
  58. package/dist/index.js.map +0 -1
  59. package/dist/model/econet.d.ts +0 -48
  60. package/dist/model/econet.js +0 -319
  61. package/dist/model/econet.js.map +0 -1
  62. package/dist/model/enums.js.map +0 -1
  63. package/dist/model/utils.d.ts +0 -9
  64. package/dist/model/utils.js +0 -53
  65. package/dist/model/utils.js.map +0 -1
  66. package/dist/platform.js +0 -101
  67. package/dist/platform.js.map +0 -1
  68. package/dist/settings.js.map +0 -1
  69. package/notes +0 -7
  70. /package/dist/{index.d.ts → homebridge/index.d.ts} +0 -0
  71. /package/dist/{index.js → homebridge/index.js} +0 -0
  72. /package/dist/{settings.d.ts → homebridge/settings.d.ts} +0 -0
  73. /package/dist/{settings.js → homebridge/settings.js} +0 -0
package/dist/platform.js DELETED
@@ -1,101 +0,0 @@
1
- import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
2
- import { EconetApi } from './model/econet.js';
3
- import { ThermostatAccessory } from './accessories/thermostatAccessory.js';
4
- import { WaterHeaterAccessory } from './accessories/waterHeaterAccessory.js';
5
- import { WATER_HEATER, THERMOSTAT } from './model/econet.js';
6
- export class EconetRheemPlatform {
7
- log;
8
- config;
9
- api;
10
- Service;
11
- Characteristic;
12
- accessories = new Map();
13
- econetApi = null;
14
- constructor(log, config, api) {
15
- this.log = log;
16
- this.config = config;
17
- this.api = api;
18
- this.Service = this.api.hap.Service;
19
- this.Characteristic = this.api.hap.Characteristic;
20
- this.api.on('didFinishLaunching', () => {
21
- this.discoverDevices();
22
- });
23
- this.api.on('shutdown', () => {
24
- if (this.econetApi) {
25
- this.econetApi.unsubscribe();
26
- }
27
- });
28
- }
29
- configureAccessory(accessory) {
30
- this.log.info('Restoring cached accessory:', accessory.displayName);
31
- this.accessories.set(accessory.context.serialNumber, accessory);
32
- }
33
- async discoverDevices() {
34
- const email = this.config.email;
35
- const password = this.config.password;
36
- const verbose = this.config.verbose;
37
- const debugMQTT = this.config.mqtt_debug;
38
- if (!email || !password) {
39
- this.log.error('Configuration error: "email" and "password" are required in config.json');
40
- return;
41
- }
42
- try {
43
- this.econetApi = await EconetApi.login(this.log, email, password, this.api.user.storagePath(), verbose, debugMQTT);
44
- const equipmentMap = await this.econetApi.getEquipmentByType([THERMOSTAT, WATER_HEATER]);
45
- const thermostats = equipmentMap.get(THERMOSTAT) || [];
46
- const waterHeaters = equipmentMap.get(WATER_HEATER) || [];
47
- const currentSerialNumbers = new Set();
48
- for (const thermostat of thermostats) {
49
- const serialNumber = thermostat.serialNumber;
50
- currentSerialNumbers.add(serialNumber);
51
- const deviceName = thermostat.deviceName;
52
- const existingAccessory = this.accessories.get(serialNumber);
53
- if (existingAccessory) {
54
- this.log.info('Updating existing thermostat:', deviceName);
55
- new ThermostatAccessory(this, existingAccessory, thermostat);
56
- }
57
- else {
58
- this.log.info('Adding new thermostat:', deviceName);
59
- const uuid = this.api.hap.uuid.generate(serialNumber);
60
- const accessory = new this.api.platformAccessory(deviceName, uuid);
61
- accessory.context.serialNumber = serialNumber;
62
- new ThermostatAccessory(this, accessory, thermostat);
63
- this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
64
- this.accessories.set(serialNumber, accessory);
65
- }
66
- }
67
- for (const waterHeater of waterHeaters) {
68
- const serialNumber = waterHeater.serialNumber;
69
- currentSerialNumbers.add(serialNumber);
70
- const deviceName = waterHeater.deviceName;
71
- const existingAccessory = this.accessories.get(serialNumber);
72
- if (existingAccessory) {
73
- this.log.info('Updating existing water heater:', deviceName);
74
- new WaterHeaterAccessory(this, existingAccessory, waterHeater, this.config.wh_sim_disable);
75
- }
76
- else {
77
- this.log.info('Adding new water heater:', deviceName);
78
- const uuid = this.api.hap.uuid.generate(serialNumber);
79
- const accessory = new this.api.platformAccessory(deviceName, uuid);
80
- accessory.context.serialNumber = serialNumber;
81
- new WaterHeaterAccessory(this, accessory, waterHeater, this.config.wh_sim_disable);
82
- this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
83
- this.accessories.set(serialNumber, accessory);
84
- }
85
- }
86
- for (const [serialNumber, accessory] of this.accessories) {
87
- if (!currentSerialNumbers.has(serialNumber)) {
88
- this.log.info('Removing stale accessory:', accessory.displayName);
89
- this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
90
- this.accessories.delete(serialNumber);
91
- }
92
- }
93
- this.econetApi.subscribe();
94
- this.log.debug('Subscribed to Econet MQTT updates');
95
- }
96
- catch (error) {
97
- this.log.error('Failed to initialize platform:', error instanceof Error ? error.message : String(error));
98
- }
99
- }
100
- }
101
- //# sourceMappingURL=platform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI7D,MAAM,OAAO,mBAAmB;IAQZ;IACA;IACA;IATF,OAAO,CAAC;IACR,cAAc,CAAC;IAEd,WAAW,GAAmC,IAAI,GAAG,EAAE,CAAC;IACjE,SAAS,GAAqB,IAAI,CAAC;IAE3C,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAGxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAElD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,SAA4B;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAe,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAkB,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAqB,CAAC;QAEpD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YAEH,IAAI,CAAC,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAEnH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;YAEzF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAiB,IAAI,EAAE,CAAC;YACvE,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAkB,IAAI,EAAE,CAAC;YAC3E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE/C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;gBAC7C,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAEvC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;gBAEzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC7D,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;oBAC3D,IAAI,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;oBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACtD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBACnE,SAAS,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;oBAC9C,IAAI,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;oBACrD,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;gBAC9C,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAEvC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;gBAE1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC7D,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;oBAC7D,IAAI,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC7F,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;oBACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACtD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBACnE,SAAS,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;oBAC9C,IAAI,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBACnF,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,KAAK,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;oBAClE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;oBAChF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAAC"}
package/notes DELETED
@@ -1,7 +0,0 @@
1
- cd /var/lib/homebridge/dev/homebridge-econet-rheem
2
- git pull
3
- sudo npm install
4
- sudo npm run build
5
- sudo npm link
6
- cd /var/lib/homebridge
7
- sudo npm link homebridge-econet-rheem
File without changes
File without changes
File without changes