homebridge-easy-mqtt 1.4.1-beta.0 → 1.5.0-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 (154) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +102 -6
  3. package/config.schema.json +216 -7
  4. package/dist/accessory/abstract/base.d.ts +4 -6
  5. package/dist/accessory/abstract/base.js +17 -37
  6. package/dist/accessory/abstract/base.js.map +1 -1
  7. package/dist/accessory/abstract/common.d.ts +18 -4
  8. package/dist/accessory/abstract/common.js +165 -9
  9. package/dist/accessory/abstract/common.js.map +1 -1
  10. package/dist/accessory/abstract/group.d.ts +2 -4
  11. package/dist/accessory/abstract/group.js +11 -11
  12. package/dist/accessory/abstract/group.js.map +1 -1
  13. package/dist/accessory/abstract/helper.d.ts +3 -5
  14. package/dist/accessory/abstract/helper.js +34 -30
  15. package/dist/accessory/abstract/helper.js.map +1 -1
  16. package/dist/accessory/abstract/mqtt.d.ts +11 -8
  17. package/dist/accessory/abstract/mqtt.js +41 -33
  18. package/dist/accessory/abstract/mqtt.js.map +1 -1
  19. package/dist/accessory/addons/filter.d.ts +0 -1
  20. package/dist/accessory/addons/filter.js +6 -18
  21. package/dist/accessory/addons/filter.js.map +1 -1
  22. package/dist/accessory/button/button.d.ts +6 -0
  23. package/dist/accessory/{button.js → button/button.js} +6 -10
  24. package/dist/accessory/button/button.js.map +1 -0
  25. package/dist/accessory/button/doorbell.d.ts +7 -0
  26. package/dist/accessory/button/doorbell.js +25 -0
  27. package/dist/accessory/button/doorbell.js.map +1 -0
  28. package/dist/accessory/button/stateless.d.ts +6 -0
  29. package/dist/accessory/button/stateless.js +8 -0
  30. package/dist/accessory/button/stateless.js.map +1 -0
  31. package/dist/accessory/characteristic/characteristic.d.ts +3 -0
  32. package/dist/accessory/characteristic/characteristic.js +23 -0
  33. package/dist/accessory/characteristic/characteristic.js.map +1 -0
  34. package/dist/accessory/{abstract/customCharacteristic.d.ts → characteristic/custom.d.ts} +1 -0
  35. package/dist/accessory/{abstract/customCharacteristic.js → characteristic/custom.js} +4 -1
  36. package/dist/accessory/characteristic/custom.js.map +1 -0
  37. package/dist/accessory/characteristic/eve.d.ts +6 -0
  38. package/dist/accessory/characteristic/eve.js +24 -0
  39. package/dist/accessory/characteristic/eve.js.map +1 -0
  40. package/dist/accessory/climate/active.d.ts +2 -8
  41. package/dist/accessory/climate/active.js +9 -41
  42. package/dist/accessory/climate/active.js.map +1 -1
  43. package/dist/accessory/climate/fan2.d.ts +2 -15
  44. package/dist/accessory/climate/fan2.js +30 -109
  45. package/dist/accessory/climate/fan2.js.map +1 -1
  46. package/dist/accessory/climate/heaterCooler.d.ts +2 -14
  47. package/dist/accessory/climate/heaterCooler.js +32 -108
  48. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  49. package/dist/accessory/climate/purifier.d.ts +2 -14
  50. package/dist/accessory/climate/purifier.js +27 -97
  51. package/dist/accessory/climate/purifier.js.map +1 -1
  52. package/dist/accessory/climate/temperatureControl.d.ts +5 -5
  53. package/dist/accessory/climate/temperatureControl.js +8 -8
  54. package/dist/accessory/climate/temperatureControl.js.map +1 -1
  55. package/dist/accessory/climate/thermostat.d.ts +2 -12
  56. package/dist/accessory/climate/thermostat.js +31 -84
  57. package/dist/accessory/climate/thermostat.js.map +1 -1
  58. package/dist/accessory/garage.d.ts +2 -12
  59. package/dist/accessory/garage.js +27 -93
  60. package/dist/accessory/garage.js.map +1 -1
  61. package/dist/accessory/lock.d.ts +2 -8
  62. package/dist/accessory/lock.js +28 -62
  63. package/dist/accessory/lock.js.map +1 -1
  64. package/dist/accessory/onoff/lightbulb.d.ts +2 -5
  65. package/dist/accessory/onoff/lightbulb.js +12 -18
  66. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  67. package/dist/accessory/onoff/onoff.d.ts +4 -8
  68. package/dist/accessory/onoff/onoff.js +30 -34
  69. package/dist/accessory/onoff/onoff.js.map +1 -1
  70. package/dist/accessory/onoff/outlet.d.ts +2 -4
  71. package/dist/accessory/onoff/outlet.js +5 -5
  72. package/dist/accessory/onoff/outlet.js.map +1 -1
  73. package/dist/accessory/onoff/switch.d.ts +1 -4
  74. package/dist/accessory/onoff/switch.js +0 -3
  75. package/dist/accessory/onoff/switch.js.map +1 -1
  76. package/dist/accessory/position/blind.d.ts +2 -5
  77. package/dist/accessory/position/blind.js +7 -13
  78. package/dist/accessory/position/blind.js.map +1 -1
  79. package/dist/accessory/position/position.d.ts +2 -11
  80. package/dist/accessory/position/position.js +20 -71
  81. package/dist/accessory/position/position.js.map +1 -1
  82. package/dist/accessory/security.d.ts +4 -10
  83. package/dist/accessory/security.js +49 -81
  84. package/dist/accessory/security.js.map +1 -1
  85. package/dist/accessory/sensor/air.d.ts +2 -8
  86. package/dist/accessory/sensor/air.js +35 -67
  87. package/dist/accessory/sensor/air.js.map +1 -1
  88. package/dist/accessory/sensor/carbonDioxide.d.ts +2 -4
  89. package/dist/accessory/sensor/carbonDioxide.js +7 -7
  90. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  91. package/dist/accessory/sensor/carbonMonoxide.d.ts +2 -4
  92. package/dist/accessory/sensor/carbonMonoxide.js +7 -7
  93. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  94. package/dist/accessory/sensor/contact.d.ts +2 -4
  95. package/dist/accessory/sensor/contact.js +20 -7
  96. package/dist/accessory/sensor/contact.js.map +1 -1
  97. package/dist/accessory/sensor/humidity.d.ts +2 -4
  98. package/dist/accessory/sensor/humidity.js +8 -5
  99. package/dist/accessory/sensor/humidity.js.map +1 -1
  100. package/dist/accessory/sensor/leak.d.ts +2 -4
  101. package/dist/accessory/sensor/leak.js +5 -5
  102. package/dist/accessory/sensor/leak.js.map +1 -1
  103. package/dist/accessory/sensor/light.d.ts +2 -4
  104. package/dist/accessory/sensor/light.js +5 -5
  105. package/dist/accessory/sensor/light.js.map +1 -1
  106. package/dist/accessory/sensor/motion.d.ts +2 -4
  107. package/dist/accessory/sensor/motion.js +8 -5
  108. package/dist/accessory/sensor/motion.js.map +1 -1
  109. package/dist/accessory/sensor/occupancy.d.ts +2 -4
  110. package/dist/accessory/sensor/occupancy.js +5 -5
  111. package/dist/accessory/sensor/occupancy.js.map +1 -1
  112. package/dist/accessory/sensor/sensor.d.ts +2 -6
  113. package/dist/accessory/sensor/sensor.js +5 -29
  114. package/dist/accessory/sensor/sensor.js.map +1 -1
  115. package/dist/accessory/sensor/smoke.d.ts +2 -4
  116. package/dist/accessory/sensor/smoke.js +5 -5
  117. package/dist/accessory/sensor/smoke.js.map +1 -1
  118. package/dist/accessory/sensor/temperature.d.ts +2 -4
  119. package/dist/accessory/sensor/temperature.js +8 -5
  120. package/dist/accessory/sensor/temperature.js.map +1 -1
  121. package/dist/accessory/valve.d.ts +2 -8
  122. package/dist/accessory/valve.js +10 -44
  123. package/dist/accessory/valve.js.map +1 -1
  124. package/dist/homebridge/platform.js +10 -4
  125. package/dist/homebridge/platform.js.map +1 -1
  126. package/dist/homebridge-ui/public/index.html +1 -1
  127. package/dist/homebridge-ui/public/ui.js +1 -1
  128. package/dist/i18n/en.d.ts +41 -5
  129. package/dist/i18n/en.js +43 -7
  130. package/dist/i18n/en.js.map +1 -1
  131. package/dist/i18n/fr.d.ts +41 -5
  132. package/dist/i18n/i18n.d.ts +41 -5
  133. package/dist/i18n/it.d.ts +41 -5
  134. package/dist/i18n/ro.d.ts +41 -5
  135. package/dist/i18n/template.d.ts +41 -5
  136. package/dist/i18n/vi.d.ts +41 -5
  137. package/dist/model/enums.d.ts +17 -2
  138. package/dist/model/enums.js +92 -77
  139. package/dist/model/enums.js.map +1 -1
  140. package/dist/model/history.d.ts +32 -0
  141. package/dist/model/history.js +128 -0
  142. package/dist/model/history.js.map +1 -0
  143. package/dist/model/mqtt.d.ts +1 -0
  144. package/dist/model/mqtt.js +37 -11
  145. package/dist/model/mqtt.js.map +1 -1
  146. package/dist/model/types.d.ts +39 -4
  147. package/dist/tools/log.d.ts +1 -1
  148. package/dist/tools/log.js.map +1 -1
  149. package/dist/tools/properties.js +1 -1
  150. package/dist/tools/properties.js.map +1 -1
  151. package/package.json +2 -1
  152. package/dist/accessory/abstract/customCharacteristic.js.map +0 -1
  153. package/dist/accessory/button.d.ts +0 -10
  154. package/dist/accessory/button.js.map +0 -1
@@ -0,0 +1,128 @@
1
+ import { F_OK } from 'constants';
2
+ import fakegato from 'fakegato-history';
3
+ import { access, unlink } from 'fs/promises';
4
+ import path from 'path';
5
+ import { EveCharacteristicKey } from './enums.js';
6
+ import { EveCharacteristic } from '../accessory/characteristic/eve.js';
7
+ import { strings } from '../i18n/i18n.js';
8
+ import { SECOND } from '../tools/time.js';
9
+ export var HistoryType;
10
+ (function (HistoryType) {
11
+ HistoryType["CUSTOM"] = "custom";
12
+ HistoryType["WEATHER"] = "weather";
13
+ HistoryType["DOOR"] = "door";
14
+ HistoryType["MOTION"] = "motion";
15
+ })(HistoryType || (HistoryType = {}));
16
+ let ServiceProvider;
17
+ const HISTORY_UUID = 'bfc89fa1-78d8-4596-a2cc-cc8585ef0feb';
18
+ function HistoryService(type, accessory, options) {
19
+ if (!ServiceProvider) {
20
+ throw new Error('HistoryServiceProvider not initialized');
21
+ }
22
+ return new ServiceProvider(type, accessory, options);
23
+ }
24
+ export class History {
25
+ api;
26
+ log;
27
+ historyServices = new Map();
28
+ persistPath;
29
+ cleanedUp = new Set();
30
+ constructor(api, log) {
31
+ this.api = api;
32
+ this.log = log;
33
+ if (ServiceProvider) {
34
+ throw new Error('HistoryServiceProvider already initialized');
35
+ }
36
+ ServiceProvider = fakegato(api);
37
+ this.persistPath = api.user.persistPath();
38
+ }
39
+ record(accessory, config, type, entry, updateLastActivation = false) {
40
+ if (config === undefined || !config.enabled) {
41
+ this.cleanup(accessory);
42
+ return false;
43
+ }
44
+ const historyService = this.historyServices.get(accessory.identifier)
45
+ ?? this.createHistoryService(config, accessory, type, updateLastActivation);
46
+ const time = Math.floor(Date.now() / 1000);
47
+ entry = {
48
+ time: time,
49
+ ...entry,
50
+ };
51
+ this.log.ifVerbose(strings.history.entry, accessory.name, JSON.stringify(entry));
52
+ historyService.addEntry(entry);
53
+ if (updateLastActivation && !isNaN(historyService.getInitialTime())) {
54
+ const lastActivation = time - historyService.getInitialTime();
55
+ accessory.properties.set(EveCharacteristicKey.LastActivation, lastActivation);
56
+ accessory.service.updateCharacteristic(EveCharacteristic(EveCharacteristicKey.LastActivation), lastActivation);
57
+ }
58
+ return true;
59
+ }
60
+ createHistoryService(config, accessory, type, addLastActivation) {
61
+ const options = {
62
+ disableRepeatLastData: config.disableRepeatLastData ?? false,
63
+ disableTimer: false,
64
+ size: config.size ?? 4032,
65
+ storage: 'fs',
66
+ path: this.persistPath,
67
+ filename: this.getFilename(accessory),
68
+ };
69
+ const historyService = HistoryService(type, accessory.platformAccessory, options);
70
+ this.historyServices.set(accessory.identifier, historyService);
71
+ if (!addLastActivation) {
72
+ return historyService;
73
+ }
74
+ setTimeout(() => {
75
+ if (historyService.lastEntry === undefined || historyService.memorySize === undefined) {
76
+ return;
77
+ }
78
+ const entry = historyService.history[historyService.lastEntry % historyService.memorySize];
79
+ if (entry === undefined || entry.time === undefined) {
80
+ return;
81
+ }
82
+ const lastActivation = entry.time - historyService.getInitialTime();
83
+ accessory.properties.set(EveCharacteristicKey.LastActivation, lastActivation);
84
+ accessory.service.addOptionalCharacteristic(EveCharacteristic(EveCharacteristicKey.LastActivation));
85
+ const characteristic = accessory.service.getCharacteristic(EveCharacteristic(EveCharacteristicKey.LastActivation));
86
+ characteristic.updateValue(lastActivation);
87
+ characteristic.onGet(async () => {
88
+ return accessory.properties.get(EveCharacteristicKey.LastActivation) ?? lastActivation;
89
+ });
90
+ }, 1 * SECOND);
91
+ return historyService;
92
+ }
93
+ getFilename(accessory) {
94
+ return this.api.hap.uuid.generate(accessory.identifier + HISTORY_UUID);
95
+ }
96
+ async cleanup(accessory) {
97
+ if (this.cleanedUp.has(accessory.identifier)) {
98
+ return;
99
+ }
100
+ this.cleanedUp.add(accessory.identifier);
101
+ const filename = this.getFilename(accessory);
102
+ const filePath = path.join(this.persistPath, filename);
103
+ const fileExists = await this.fileExists(filePath);
104
+ if (!fileExists) {
105
+ return;
106
+ }
107
+ this.log.ifVerbose(strings.history.cleanup, accessory.name);
108
+ try {
109
+ await unlink(filePath);
110
+ }
111
+ catch (error) {
112
+ if (error.code !== 'ENOENT') {
113
+ return;
114
+ }
115
+ this.log.error(strings.history.cleanupFailed, accessory.name, filename);
116
+ }
117
+ }
118
+ async fileExists(filePath) {
119
+ try {
120
+ await access(filePath, F_OK);
121
+ return true;
122
+ }
123
+ catch {
124
+ return false;
125
+ }
126
+ }
127
+ }
128
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/model/history.ts"],"names":[],"mappings":"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"}
@@ -25,5 +25,6 @@ export declare class MQTT {
25
25
  private messageReceived;
26
26
  private connectionClosed;
27
27
  private reconnect;
28
+ private executeTransformer;
28
29
  }
29
30
  export {};
@@ -7,18 +7,25 @@ import { SECOND, MINUTE } from '../tools/time.js';
7
7
  const DELAYS = [5 * SECOND, 10 * SECOND, 30 * SECOND, 2 * MINUTE, 5 * MINUTE];
8
8
  const DEFAULT_BROKER = 'mqtt://127.0.0.1/';
9
9
  function toTopicObject(rawTopic) {
10
- let base;
11
- let jsonPath;
12
- const index = rawTopic.indexOf('$');
13
- if (index === -1) {
14
- base = rawTopic;
15
- jsonPath = [];
10
+ let base = rawTopic;
11
+ let jsonPath = [];
12
+ let transformer;
13
+ const pipeIndex = rawTopic.indexOf('|');
14
+ const dollarIndex = rawTopic.indexOf('$.');
15
+ if (pipeIndex !== -1) {
16
+ transformer = rawTopic.slice(pipeIndex + 1).trim();
17
+ base = rawTopic.slice(0, pipeIndex);
16
18
  }
17
- else {
18
- base = rawTopic.slice(0, index);
19
- jsonPath = rawTopic.slice(index).replace(/^\$?\.?/, '').split('.');
19
+ if (dollarIndex !== -1 && (pipeIndex === -1 || dollarIndex < pipeIndex)) {
20
+ const jsonPathString = base.slice(dollarIndex + 2);
21
+ jsonPath = jsonPathString.split('.').filter(p => p.length > 0);
22
+ base = base.slice(0, dollarIndex);
20
23
  }
21
- return { base: base, jsonPath: jsonPath };
24
+ const finalPipeIndex = base.indexOf('|');
25
+ if (finalPipeIndex !== -1) {
26
+ base = base.slice(0, finalPipeIndex);
27
+ }
28
+ return { base, jsonPath, transformer };
22
29
  }
23
30
  class MQTTListener {
24
31
  handler;
@@ -154,6 +161,9 @@ export class MQTT {
154
161
  return;
155
162
  }
156
163
  const topic = toTopicObject(rawTopic);
164
+ if (topic.transformer) {
165
+ value = this.executeTransformer(topic.transformer, value);
166
+ }
157
167
  let message;
158
168
  if (topic.jsonPath.length) {
159
169
  let messageObject = {};
@@ -203,7 +213,11 @@ export class MQTT {
203
213
  else {
204
214
  value = message;
205
215
  }
206
- listener.handler(topic, toPrimitive(value));
216
+ value = toPrimitive(value);
217
+ if (listener.topic.transformer) {
218
+ value = this.executeTransformer(listener.topic.transformer, value);
219
+ }
220
+ listener.handler(topic, value);
207
221
  }
208
222
  }
209
223
  catch (e) {
@@ -236,5 +250,17 @@ export class MQTT {
236
250
  this.connect();
237
251
  }, reconnectDelay);
238
252
  }
253
+ executeTransformer(transformer, value) {
254
+ try {
255
+ const transformerFunction = new Function('value', `const v = JSON.parse(value); return ${transformer.replaceAll('value', 'v')}`);
256
+ const newValue = toPrimitive(transformerFunction(value));
257
+ this.log.ifVerbose(strings.mqttClient.transformedValue, value, newValue);
258
+ return newValue;
259
+ }
260
+ catch (error) {
261
+ this.log.error(strings.mqttClient.transformFailed, `'${transformer}'`, `\n${error}`);
262
+ return value;
263
+ }
264
+ }
239
265
  }
240
266
  //# sourceMappingURL=mqtt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../src/model/mqtt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAO,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AAE9E,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAM3C,SAAS,aAAa,CAAC,QAAgB;IAErC,IAAI,IAAY,CAAC;IACjB,IAAI,QAAkB,CAAC;IAEvB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,IAAI,GAAG,QAAQ,CAAC;QAChB,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,YAAY;IAML;IAJX,KAAK,CAAQ;IAEb,YACE,QAAgB,EACP,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;QAEpC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF;AAQD,MAAM,OAAO,IAAI;IAwFI;IACA;IACA;IAxFX,MAAM,CAAU,SAAS,GAAG,IAAI,GAAG,EAAgB,CAAC;IAE3C,kBAAkB,GAAwB,EAAE,CAAC;IAC7C,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE5D,MAAM,GAAgC,SAAS,CAAC;IAChD,eAAe,GAAG,KAAK,CAAC;IACxB,cAAc,GAAG,KAAK,CAAC;IACvB,cAAc,GAAG,CAAC,CAAC;IAEV,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE/D,MAAM,CAAC,OAAO,CAAC,GAAQ,EAAE,SAAiC,SAAS,EAAE,MAAc,EAAE,SAA4B;QAE/G,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAE3B,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC;YACH,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,OAAO,aAAa,GAAG,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC3D,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC3D,GAAG,iBAAiB;SACrB,CAAC;QAEF,IAAI,IAAI,GAAW,cAAc,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,cAAc,CAAC;QAC/E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/C,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,GAAG,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAEpD,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;gBAC/B,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;QAEH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAElD,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAEjC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5C,MAAM,iBAAiB,GAAG,MAAM,EAAE,SAAS,CAAC;QAC5C,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAEpC,MAAM,QAAQ,GAAG,kEAAkE,CAAC;YACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;oBAExC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACjE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;wBACpD,SAAS;oBACX,CAAC;oBAED,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClD,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YACmB,GAAQ,EACR,MAAc,EACd,OAAyD;QAFzD,QAAG,GAAH,GAAG,CAAK;QACR,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAkD;IACzE,CAAC;IAEJ,IAAY,IAAI;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,OAAO;QAEb,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAE5D,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAE,QAAQ,CAAC,EAAE;gBAC1C,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAE,OAAO,CAAC,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE/F,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAgB,EAAE,EAAE;YAC3C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,EAAE,EAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAEM,SAAS,CAAC,KAAa,EAAE,OAA2B;QAEzD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzE,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,KAAqB;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,OAAe,CAAC;QACpB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAE1B,IAAI,aAAa,GAA4B,EAAE,CAAC;YAEhD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7C,GAAG,CAAC;gBACF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAG,CAAC;gBAClC,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnD,aAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;gBAChD,CAAC;YACH,CAAC,QAAQ,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAE/B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE1C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7F,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,OAAe;QAEpD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC;YAEH,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAEzB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;YAEzF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAEjC,IAAI,KAAK,CAAC;gBACV,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAE5B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAE5B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAC/C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;4BAC5D,8DAA8D;4BAC9D,KAAK,GAAI,KAAa,CAAC,QAAQ,CAAC,CAAC;wBACnC,CAAC;6BAAM,CAAC;4BACN,KAAK,GAAG,SAAS,CAAC;4BAClB,MAAM;wBACR,CAAC;oBACH,CAAC;gBAEH,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,OAAO,CAAC;gBAClB,CAAC;gBAED,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC;QAEH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,SAAS;QAErB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,cAAc,GAAG,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC"}
1
+ {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../src/model/mqtt.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,22 @@
1
- import { PlatformConfig as HBPlatformConfig } from 'homebridge';
1
+ import { PlatformConfig as HBPlatformConfig, PlatformAccessory } from 'homebridge';
2
2
  export type ServiceType = typeof import('homebridge').Service;
3
3
  export type CharacteristicType = typeof import('homebridge').Characteristic;
4
4
  import { AccessoryType, ValveType } from './enums.js';
5
+ import { History } from './history.js';
6
+ import { Log } from '../tools/log.js';
5
7
  import { TemperatureUnits } from '../tools/temperature.js';
6
8
  import { Assertable } from '../tools/validation.js';
9
+ export type AccessoryDependency = {
10
+ Service: ServiceType;
11
+ Characteristic: CharacteristicType;
12
+ platformAccessory: PlatformAccessory;
13
+ log: Log;
14
+ history: History;
15
+ };
16
+ export type MQTTAccessoryDependency<C extends MQTTAccessoryConfig> = AccessoryDependency & {
17
+ config: C;
18
+ isGrouped: boolean;
19
+ };
7
20
  export type PlatformConfig = HBPlatformConfig & {
8
21
  accessories?: BaseAccessoryConfig[];
9
22
  };
@@ -12,11 +25,11 @@ export type TemperatureConfig = {
12
25
  };
13
26
  export type AddonConfig = Assertable & {};
14
27
  export type FilterMaintenanceConfig = AddonConfig & {
15
- topicGetFilterChangeIndication: string;
28
+ topicGetFilterChangeIndication?: string;
16
29
  topicGetFilterLifeLevel?: string;
17
30
  topicResetFilterIndication?: string;
18
- valueFilterChange: string;
19
- valueFilterReset: string;
31
+ valueFilterChange?: string;
32
+ valueFilterReset?: string;
20
33
  };
21
34
  type ErrorStatusConfig = {
22
35
  topicGetStatusFault?: string;
@@ -47,9 +60,15 @@ export type MQTTConfig = Assertable & {
47
60
  options?: string;
48
61
  onConnect?: MQTTMessage[];
49
62
  };
63
+ export type HistoryConfig = Assertable & {
64
+ enabled: boolean;
65
+ disableRepeatLastData?: boolean;
66
+ size?: number;
67
+ };
50
68
  export type MQTTAccessoryConfig = Assertable & {
51
69
  info: InfoConfig;
52
70
  mqtt?: MQTTConfig;
71
+ history?: HistoryConfig;
53
72
  customCharacteristics?: CustomCharacteristicConfig[];
54
73
  resetOnRestart?: boolean;
55
74
  disableLogging: boolean;
@@ -69,7 +88,11 @@ export type BaseAccessoryConfig = MQTTAccessoryConfig & {
69
88
  valueStatusActive?: string;
70
89
  };
71
90
  export type OnOffConfig = BaseAccessoryConfig & {
91
+ topicGetCurrentConsumption?: string;
92
+ topicGetElectricCurrent?: string;
72
93
  topicGetOn: string;
94
+ topicGetTotalConsumption?: string;
95
+ topicGetVoltage?: string;
73
96
  topicSetOn: string;
74
97
  valueOn: string;
75
98
  valueOff: string;
@@ -287,6 +310,18 @@ export type ButtonConfig = BaseAccessoryConfig & {
287
310
  valueDoublePress?: string;
288
311
  valueLongPress?: string;
289
312
  };
313
+ export type DoorbellConfig = ButtonConfig & {
314
+ maximumBrightness?: number;
315
+ maximumVolume?: number;
316
+ topicGetBrightness?: string;
317
+ topicGetMuted?: string;
318
+ topicGetVolume?: string;
319
+ topicSetBrightness?: string;
320
+ topicSetMuted?: string;
321
+ topicSetVolume?: string;
322
+ valueMuted?: string;
323
+ valueUnmuted?: string;
324
+ };
290
325
  export type ValveConfig = BaseAccessoryConfig & {
291
326
  valveType?: ValveType;
292
327
  topicGetStatusFault?: string;
@@ -7,7 +7,7 @@ export declare enum LogType {
7
7
  }
8
8
  export declare class Log {
9
9
  private readonly logger;
10
- readonly verbose: boolean;
10
+ private readonly verbose;
11
11
  constructor(logger: Logger, verbose: boolean);
12
12
  always(message: string, ...parameters: Param[]): void;
13
13
  warning(message: string, ...parameters: Param[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/tools/log.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,yCAAM,CAAA;IACN,2CAAO,CAAA;IACP,uCAAK,CAAA;AACP,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,OAAO,GAAG;IAGK;IACD;IAFlB,YACmB,MAAc,EACf,OAAgB;QADf,WAAM,GAAN,MAAM,CAAQ;QACf,YAAO,GAAP,OAAO,CAAS;IAC/B,CAAC;IAEG,MAAM,CAAC,OAAe,EAAE,GAAG,UAAmB;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,GAAG,UAAmB;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAmB;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAIM,SAAS,CAAC,cAAgC,EAAE,GAAG,IAAa;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;QACtC,QAAO,cAAc,EAAE,CAAC;YACxB,KAAK,OAAO,CAAC,MAAM;gBACjB,IAAI,CAAC,MAAM,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,OAAO,CAAC,OAAO;gBAClB,IAAI,CAAC,OAAO,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,IAAI,CAAC,KAAK,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC7C,MAAM;QACR,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/tools/log.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,yCAAM,CAAA;IACN,2CAAO,CAAA;IACP,uCAAK,CAAA;AACP,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,OAAO,GAAG;IAGK;IACA;IAFnB,YACmB,MAAc,EACd,OAAgB;QADhB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAS;IAChC,CAAC;IAEG,MAAM,CAAC,OAAe,EAAE,GAAG,UAAmB;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,GAAG,UAAmB;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAmB;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAIM,SAAS,CAAC,cAAgC,EAAE,GAAG,IAAa;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;QACtC,QAAO,cAAc,EAAE,CAAC;YACxB,KAAK,OAAO,CAAC,MAAM;gBACjB,IAAI,CAAC,MAAM,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,OAAO,CAAC,OAAO;gBAClB,IAAI,CAAC,OAAO,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,IAAI,CAAC,KAAK,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC7C,MAAM;QACR,CAAC;IACH,CAAC;CACF"}
@@ -4,7 +4,7 @@ function propertyStorageKey(id) {
4
4
  }
5
5
  const PRELOAD_KEYS_UUID = 'a6ac8cc1-5112-41c9-98b8-198601281ebb';
6
6
  const PRELOAD_KEYS = new Set;
7
- const PRELOADED = new Map;
7
+ const PRELOADED = new Map();
8
8
  function cacheKey(key) {
9
9
  if (PRELOAD_KEYS.has(key)) {
10
10
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/tools/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/tools/properties.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName": "Homebridge Easy MQTT",
5
5
  "description": "Homebridge plugin for easy control of MQTT devices",
6
6
  "type": "module",
7
- "version": "1.4.1-beta.0",
7
+ "version": "1.5.0-beta.0",
8
8
  "homepage": "https://github.com/mpatfield/homebridge-easy-mqtt#readme",
9
9
  "repository": {
10
10
  "type": "git",
@@ -40,6 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@homebridge/plugin-ui-utils": "^2.0.2",
43
+ "fakegato-history": "^0.6.7",
43
44
  "homebridge-lib": "^7.1.6",
44
45
  "lodash.merge": "^4.6.2",
45
46
  "mqtt": "^5.7.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"customCharacteristic.js","sourceRoot":"","sources":["../../../src/accessory/abstract/customCharacteristic.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { PlatformAccessory } from 'homebridge';
2
- import { BaseAccessory } from './abstract/base.js';
3
- import { AccessoryType } from '../model/enums.js';
4
- import { ButtonConfig, CharacteristicType, ServiceType } from '../model/types.js';
5
- import { Log } from '../tools/log.js';
6
- export declare class ButtonAccessory extends BaseAccessory<ButtonConfig> {
7
- constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: ButtonConfig, log: Log, isGrouped: boolean);
8
- protected getAccessoryType(): AccessoryType;
9
- private onPress;
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/accessory/button.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKlD,MAAM,OAAO,eAAgB,SAAQ,aAA2B;IAE9D,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAoB,EAAE,GAAQ,EAAE,SAAkB;QACpJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACnF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,qBAAqB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,2BAA2B,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,KAAqB;QAEzD,IAAI,SAAiB,CAAC;QACtB,IAAI,SAAiB,CAAC;QAEtB,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,CAAC;gBACpD,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,YAAY,CAAC;gBACrE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;gBACvC,MAAM;YACR,KAAK,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,CAAC;gBACpD,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,YAAY,CAAC;gBACrE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;gBACvC,MAAM;YACR,KAAK,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,CAAC;gBAClD,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC;gBACnE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;gBACrC,MAAM;YACR;gBACE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;gBAC7D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;CACF"}