homebridge-easy-mqtt 1.4.1-beta.1 → 1.5.0-beta.1

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 (137) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +86 -5
  3. package/config.schema.json +76 -1
  4. package/dist/accessory/abstract/base.d.ts +2 -2
  5. package/dist/accessory/abstract/base.js +5 -25
  6. package/dist/accessory/abstract/base.js.map +1 -1
  7. package/dist/accessory/abstract/common.d.ts +17 -6
  8. package/dist/accessory/abstract/common.js +136 -28
  9. package/dist/accessory/abstract/common.js.map +1 -1
  10. package/dist/accessory/abstract/mqtt.d.ts +2 -0
  11. package/dist/accessory/abstract/mqtt.js +13 -12
  12. package/dist/accessory/abstract/mqtt.js.map +1 -1
  13. package/dist/accessory/addons/filter.d.ts +0 -1
  14. package/dist/accessory/addons/filter.js +1 -13
  15. package/dist/accessory/addons/filter.js.map +1 -1
  16. package/dist/accessory/characteristic/characteristic.d.ts +3 -0
  17. package/dist/accessory/characteristic/characteristic.js +23 -0
  18. package/dist/accessory/characteristic/characteristic.js.map +1 -0
  19. package/dist/accessory/characteristic/custom.d.ts +1 -0
  20. package/dist/accessory/characteristic/custom.js +3 -0
  21. package/dist/accessory/characteristic/custom.js.map +1 -1
  22. package/dist/accessory/characteristic/eve.d.ts +6 -0
  23. package/dist/accessory/characteristic/eve.js +24 -0
  24. package/dist/accessory/characteristic/eve.js.map +1 -0
  25. package/dist/accessory/climate/active.d.ts +0 -4
  26. package/dist/accessory/climate/active.js +4 -36
  27. package/dist/accessory/climate/active.js.map +1 -1
  28. package/dist/accessory/climate/fan2.d.ts +1 -12
  29. package/dist/accessory/climate/fan2.js +22 -101
  30. package/dist/accessory/climate/fan2.js.map +1 -1
  31. package/dist/accessory/climate/heaterCooler.d.ts +1 -11
  32. package/dist/accessory/climate/heaterCooler.js +24 -100
  33. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  34. package/dist/accessory/climate/purifier.d.ts +1 -11
  35. package/dist/accessory/climate/purifier.js +20 -90
  36. package/dist/accessory/climate/purifier.js.map +1 -1
  37. package/dist/accessory/climate/temperatureControl.d.ts +2 -1
  38. package/dist/accessory/climate/temperatureControl.js +3 -3
  39. package/dist/accessory/climate/temperatureControl.js.map +1 -1
  40. package/dist/accessory/climate/thermostat.d.ts +1 -9
  41. package/dist/accessory/climate/thermostat.js +24 -77
  42. package/dist/accessory/climate/thermostat.js.map +1 -1
  43. package/dist/accessory/garage.d.ts +1 -9
  44. package/dist/accessory/garage.js +19 -85
  45. package/dist/accessory/garage.js.map +1 -1
  46. package/dist/accessory/lock.d.ts +1 -5
  47. package/dist/accessory/lock.js +23 -57
  48. package/dist/accessory/lock.js.map +1 -1
  49. package/dist/accessory/onoff/lightbulb.d.ts +1 -2
  50. package/dist/accessory/onoff/lightbulb.js +7 -13
  51. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  52. package/dist/accessory/onoff/onoff.d.ts +2 -4
  53. package/dist/accessory/onoff/onoff.js +28 -32
  54. package/dist/accessory/onoff/onoff.js.map +1 -1
  55. package/dist/accessory/onoff/outlet.d.ts +1 -1
  56. package/dist/accessory/onoff/outlet.js +3 -3
  57. package/dist/accessory/onoff/outlet.js.map +1 -1
  58. package/dist/accessory/onoff/switch.d.ts +1 -2
  59. package/dist/accessory/onoff/switch.js +0 -3
  60. package/dist/accessory/onoff/switch.js.map +1 -1
  61. package/dist/accessory/position/blind.d.ts +1 -2
  62. package/dist/accessory/position/blind.js +5 -11
  63. package/dist/accessory/position/blind.js.map +1 -1
  64. package/dist/accessory/position/position.d.ts +0 -7
  65. package/dist/accessory/position/position.js +11 -62
  66. package/dist/accessory/position/position.js.map +1 -1
  67. package/dist/accessory/security.d.ts +3 -7
  68. package/dist/accessory/security.js +37 -69
  69. package/dist/accessory/security.js.map +1 -1
  70. package/dist/accessory/sensor/air.d.ts +1 -5
  71. package/dist/accessory/sensor/air.js +14 -46
  72. package/dist/accessory/sensor/air.js.map +1 -1
  73. package/dist/accessory/sensor/carbonDioxide.d.ts +1 -1
  74. package/dist/accessory/sensor/carbonDioxide.js +3 -3
  75. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  76. package/dist/accessory/sensor/carbonMonoxide.d.ts +1 -1
  77. package/dist/accessory/sensor/carbonMonoxide.js +3 -3
  78. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  79. package/dist/accessory/sensor/contact.d.ts +1 -1
  80. package/dist/accessory/sensor/contact.js +18 -5
  81. package/dist/accessory/sensor/contact.js.map +1 -1
  82. package/dist/accessory/sensor/humidity.d.ts +1 -1
  83. package/dist/accessory/sensor/humidity.js +7 -4
  84. package/dist/accessory/sensor/humidity.js.map +1 -1
  85. package/dist/accessory/sensor/leak.d.ts +1 -1
  86. package/dist/accessory/sensor/leak.js +3 -3
  87. package/dist/accessory/sensor/leak.js.map +1 -1
  88. package/dist/accessory/sensor/light.d.ts +1 -1
  89. package/dist/accessory/sensor/light.js +3 -3
  90. package/dist/accessory/sensor/light.js.map +1 -1
  91. package/dist/accessory/sensor/motion.d.ts +1 -1
  92. package/dist/accessory/sensor/motion.js +7 -4
  93. package/dist/accessory/sensor/motion.js.map +1 -1
  94. package/dist/accessory/sensor/occupancy.d.ts +1 -1
  95. package/dist/accessory/sensor/occupancy.js +3 -3
  96. package/dist/accessory/sensor/occupancy.js.map +1 -1
  97. package/dist/accessory/sensor/sensor.d.ts +0 -2
  98. package/dist/accessory/sensor/sensor.js +2 -26
  99. package/dist/accessory/sensor/sensor.js.map +1 -1
  100. package/dist/accessory/sensor/smoke.d.ts +1 -1
  101. package/dist/accessory/sensor/smoke.js +3 -3
  102. package/dist/accessory/sensor/smoke.js.map +1 -1
  103. package/dist/accessory/sensor/temperature.d.ts +1 -1
  104. package/dist/accessory/sensor/temperature.js +7 -4
  105. package/dist/accessory/sensor/temperature.js.map +1 -1
  106. package/dist/accessory/valve.d.ts +1 -5
  107. package/dist/accessory/valve.js +7 -41
  108. package/dist/accessory/valve.js.map +1 -1
  109. package/dist/homebridge/platform.js +8 -4
  110. package/dist/homebridge/platform.js.map +1 -1
  111. package/dist/homebridge-ui/public/index.html +1 -1
  112. package/dist/homebridge-ui/public/ui.js +1 -1
  113. package/dist/i18n/en.d.ts +19 -5
  114. package/dist/i18n/en.js +20 -6
  115. package/dist/i18n/en.js.map +1 -1
  116. package/dist/i18n/fr.d.ts +19 -5
  117. package/dist/i18n/i18n.d.ts +19 -5
  118. package/dist/i18n/it.d.ts +19 -5
  119. package/dist/i18n/ro.d.ts +19 -5
  120. package/dist/i18n/template.d.ts +19 -5
  121. package/dist/i18n/vi.d.ts +19 -5
  122. package/dist/model/enums.d.ts +12 -1
  123. package/dist/model/enums.js +12 -0
  124. package/dist/model/enums.js.map +1 -1
  125. package/dist/model/history.d.ts +32 -0
  126. package/dist/model/history.js +128 -0
  127. package/dist/model/history.js.map +1 -0
  128. package/dist/model/mqtt.d.ts +1 -0
  129. package/dist/model/mqtt.js +37 -11
  130. package/dist/model/mqtt.js.map +1 -1
  131. package/dist/model/types.d.ts +15 -3
  132. package/lib/fakegato-history/fakegato-history.js +887 -0
  133. package/lib/fakegato-history/fakegato-storage.js +178 -0
  134. package/lib/fakegato-history/fakegato-timer.js +133 -0
  135. package/lib/fakegato-history/lib/uuid.js +25 -0
  136. package/lib/fakegato-history/package.json +5 -0
  137. package/package.json +2 -1
package/dist/i18n/vi.d.ts CHANGED
@@ -98,6 +98,7 @@ declare const vi: {
98
98
  broker: string;
99
99
  disableLogging: string;
100
100
  group: string;
101
+ historyEnabled: string;
101
102
  maximum: string;
102
103
  name: string;
103
104
  options: string;
@@ -120,6 +121,7 @@ declare const vi: {
120
121
  topicGetContactSensorState: string;
121
122
  topicGetCoolingThresholdTemperature: string;
122
123
  topicGetCurrentAmbientLightLevel: string;
124
+ topicGetCurrentConsumption: string;
123
125
  topicGetCurrentDoorState: string;
124
126
  topicGetCurrentFanState: string;
125
127
  topicGetCurrentHeaterCoolerState: string;
@@ -134,6 +136,7 @@ declare const vi: {
134
136
  topicGetCurrentSecurityState: string;
135
137
  topicGetCurrentTemperature: string;
136
138
  topicGetCurrentVerticalTiltAngle: string;
139
+ topicGetElectricCurrent: string;
137
140
  topicGetFilterChangeIndication: string;
138
141
  topicGetFilterLifeLevel: string;
139
142
  topicGetHeatingThresholdTemperature: string;
@@ -174,12 +177,14 @@ declare const vi: {
174
177
  topicGetTargetSecurityState: string;
175
178
  topicGetTargetTemperature: string;
176
179
  topicGetTargetVerticalTiltAngle: string;
180
+ topicGetTotalConsumption: string;
177
181
  topicGetValveActive: string;
178
182
  topicGetValveInUse: string;
179
183
  topicGetValveIsConfigured: string;
180
184
  topicGetValveRemainingDuration: string;
181
185
  topicGetValveSetDuration: string;
182
186
  topicGetVOCDensity: string;
187
+ topicGetVoltage: string;
183
188
  topicGetVolume: string;
184
189
  topicResetFilterIndication: string;
185
190
  topicSetActive: string;
@@ -327,7 +332,6 @@ declare const vi: {
327
332
  stateInactive: string;
328
333
  stateManual: string;
329
334
  stateUnknown: string;
330
- unknownValue: string;
331
335
  };
332
336
  filter: {
333
337
  change: string;
@@ -347,7 +351,6 @@ declare const vi: {
347
351
  stateOpenFuture: string;
348
352
  stateOpening: string;
349
353
  stateStopped: string;
350
- stateUnknown: string;
351
354
  unknownValue: string;
352
355
  unobstructed: string;
353
356
  };
@@ -364,6 +367,12 @@ declare const vi: {
364
367
  stateUnknown: string;
365
368
  unknownValue: string;
366
369
  };
370
+ history: {
371
+ cleanup: string;
372
+ cleanupFailed: string;
373
+ entry: string;
374
+ updatedCharacteristic: string;
375
+ };
367
376
  lightbulb: {
368
377
  brightnessPercent: string;
369
378
  brightnessPercentFuture: string;
@@ -400,18 +409,24 @@ declare const vi: {
400
409
  receivedMessage: string;
401
410
  reconnectMinutes: string;
402
411
  reconnectSeconds: string;
412
+ transformFailed: string;
413
+ transformedValue: string;
403
414
  };
404
415
  onOff: {
405
416
  stateOff: string;
406
417
  stateOffFuture: string;
407
418
  stateOn: string;
408
419
  stateOnFuture: string;
409
- unknownValue: string;
410
420
  };
411
421
  outlet: {
412
422
  badValue: string;
423
+ currentConsumption: string;
424
+ electricCurrent: string;
413
425
  inUse: string;
414
426
  notInUse: string;
427
+ totalConsumption: string;
428
+ totalConsumptionReset: string;
429
+ voltage: string;
415
430
  };
416
431
  position: {
417
432
  blind: {
@@ -431,7 +446,6 @@ declare const vi: {
431
446
  stateDecreasing: string;
432
447
  stateIncreasing: string;
433
448
  stateStopped: string;
434
- stateUnknown: string;
435
449
  targetPercent: string;
436
450
  targetPercentSet: string;
437
451
  targetValue: string;
@@ -449,7 +463,6 @@ declare const vi: {
449
463
  stateManual: string;
450
464
  statePurifying: string;
451
465
  stateUnknown: string;
452
- unknownValue: string;
453
466
  };
454
467
  security: {
455
468
  badValue: string;
@@ -498,6 +511,7 @@ declare const vi: {
498
511
  contact: {
499
512
  active: string;
500
513
  inactive: string;
514
+ timesOpenedReset: string;
501
515
  };
502
516
  leak: {
503
517
  active: string;
@@ -28,7 +28,7 @@ export declare enum AccessoryType {
28
28
  export declare enum AddonType {
29
29
  FilterMaintenance = "FilterMaintenance"
30
30
  }
31
- export type CharacteristicKey = HKCharacteristicKey;
31
+ export type CharacteristicKey = HKCharacteristicKey | EveCharacteristicKey;
32
32
  export declare enum HKCharacteristicKey {
33
33
  Active = "Active",
34
34
  AirQuality = "AirQuality",
@@ -107,6 +107,17 @@ export declare enum HKCharacteristicKey {
107
107
  VOCDensity = "VOCDensity",
108
108
  Volume = "Volume"
109
109
  }
110
+ export declare enum EveCharacteristicKey {
111
+ ClosedDuration = "ClosedDuration",
112
+ CurrentConsumption = "CurrentConsumption",
113
+ ElectricCurrent = "ElectricCurrent",
114
+ LastActivation = "LastActivation",
115
+ OpenDuration = "OpenDuration",
116
+ ResetTotal = "ResetTotal",
117
+ TimesOpened = "TimesOpened",
118
+ TotalConsumption = "TotalConsumption",
119
+ Voltage = "Voltage"
120
+ }
110
121
  export declare enum ValveType {
111
122
  GENERIC_VALVE = "GENERIC_VALVE",
112
123
  IRRIGATION = "IRRIGATION",
@@ -109,6 +109,18 @@ export var HKCharacteristicKey;
109
109
  HKCharacteristicKey["VOCDensity"] = "VOCDensity";
110
110
  HKCharacteristicKey["Volume"] = "Volume";
111
111
  })(HKCharacteristicKey || (HKCharacteristicKey = {}));
112
+ export var EveCharacteristicKey;
113
+ (function (EveCharacteristicKey) {
114
+ EveCharacteristicKey["ClosedDuration"] = "ClosedDuration";
115
+ EveCharacteristicKey["CurrentConsumption"] = "CurrentConsumption";
116
+ EveCharacteristicKey["ElectricCurrent"] = "ElectricCurrent";
117
+ EveCharacteristicKey["LastActivation"] = "LastActivation";
118
+ EveCharacteristicKey["OpenDuration"] = "OpenDuration";
119
+ EveCharacteristicKey["ResetTotal"] = "ResetTotal";
120
+ EveCharacteristicKey["TimesOpened"] = "TimesOpened";
121
+ EveCharacteristicKey["TotalConsumption"] = "TotalConsumption";
122
+ EveCharacteristicKey["Voltage"] = "Voltage";
123
+ })(EveCharacteristicKey || (EveCharacteristicKey = {}));
112
124
  export var ValveType;
113
125
  (function (ValveType) {
114
126
  ValveType["GENERIC_VALVE"] = "GENERIC_VALVE";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { API } from 'homebridge';
2
+ import { HistoryConfig, MQTTAccessoryConfig } from './types.js';
3
+ import { MQTTAccessory } from '../accessory/abstract/mqtt.js';
4
+ import { Log } from '../tools/log.js';
5
+ export declare enum HistoryType {
6
+ CUSTOM = "custom",
7
+ WEATHER = "weather",
8
+ DOOR = "door",
9
+ MOTION = "motion"
10
+ }
11
+ export type HistoryEntry = {
12
+ humidity?: number;
13
+ power?: number;
14
+ status?: number;
15
+ temp?: number;
16
+ time?: number;
17
+ };
18
+ type Accessory = MQTTAccessory<MQTTAccessoryConfig>;
19
+ export declare class History {
20
+ private readonly api;
21
+ private readonly log;
22
+ private readonly historyServices;
23
+ private readonly persistPath;
24
+ private readonly cleanedUp;
25
+ constructor(api: API, log: Log);
26
+ record(accessory: Accessory, config: HistoryConfig | undefined, type: HistoryType, entry: HistoryEntry, updateLastActivation?: boolean): boolean;
27
+ private createHistoryService;
28
+ private getFilename;
29
+ private cleanup;
30
+ private fileExists;
31
+ }
32
+ export {};
@@ -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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,QAAoD,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,gCAAiB,CAAA;AACnB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAqBD,IAAI,eAAmD,CAAC;AAExD,MAAM,YAAY,GAAG,sCAAsC,CAAC;AAE5D,SAAS,cAAc,CAAC,IAAiB,EAAE,SAA4B,EAAE,OAAwB;IAE/F,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,OAAO,OAAO;IAOW;IAA2B;IALvC,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,WAAW,CAAS;IAEpB,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,YAA6B,GAAQ,EAAmB,GAAQ;QAAnC,QAAG,GAAH,GAAG,CAAK;QAAmB,QAAG,GAAH,GAAG,CAAK;QAE9D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,SAAoB,EAAE,MAAiC,EAAE,IAAiB,EAAE,KAAmB,EAC3G,uBAAgC,KAAK;QAErC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;eAChE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAE9E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3C,KAAK,GAAG;YACN,IAAI,EAAE,IAAI;YACV,GAAG,KAAK;SACT,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjF,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,oBAAoB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YACpE,MAAM,cAAc,GAAG,IAAI,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC;YAC9D,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC9E,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC;QACjH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB,CAAC,MAAqB,EAAE,SAAoB,EAAE,IAAiB,EAAE,iBAA0B;QAErH,MAAM,OAAO,GAAmB;YAC9B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,KAAK;YAC5D,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;YACzB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;SACtC,CAAC;QAEF,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,UAAU,CAAE,GAAG,EAAE;YAEf,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtF,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAE,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC,UAAU,CAAE,CAAC;YAC7F,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC;YACpE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAE9E,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC;YAEpG,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC;YACnH,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAE3C,cAAc,CAAC,KAAK,CAAC,KAAK,IAA4C,EAAE;gBACtE,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;YACzF,CAAC,CAAC,CAAC;QAEL,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAEf,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,WAAW,CAAC,SAAoB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,SAAoB;QAExC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAgB;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
@@ -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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"}
@@ -2,6 +2,7 @@ import { PlatformConfig as HBPlatformConfig, PlatformAccessory } from 'homebridg
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';
5
6
  import { Log } from '../tools/log.js';
6
7
  import { TemperatureUnits } from '../tools/temperature.js';
7
8
  import { Assertable } from '../tools/validation.js';
@@ -10,6 +11,7 @@ export type AccessoryDependency = {
10
11
  Characteristic: CharacteristicType;
11
12
  platformAccessory: PlatformAccessory;
12
13
  log: Log;
14
+ history: History;
13
15
  };
14
16
  export type MQTTAccessoryDependency<C extends MQTTAccessoryConfig> = AccessoryDependency & {
15
17
  config: C;
@@ -23,11 +25,11 @@ export type TemperatureConfig = {
23
25
  };
24
26
  export type AddonConfig = Assertable & {};
25
27
  export type FilterMaintenanceConfig = AddonConfig & {
26
- topicGetFilterChangeIndication: string;
28
+ topicGetFilterChangeIndication?: string;
27
29
  topicGetFilterLifeLevel?: string;
28
30
  topicResetFilterIndication?: string;
29
- valueFilterChange: string;
30
- valueFilterReset: string;
31
+ valueFilterChange?: string;
32
+ valueFilterReset?: string;
31
33
  };
32
34
  type ErrorStatusConfig = {
33
35
  topicGetStatusFault?: string;
@@ -58,9 +60,15 @@ export type MQTTConfig = Assertable & {
58
60
  options?: string;
59
61
  onConnect?: MQTTMessage[];
60
62
  };
63
+ export type HistoryConfig = Assertable & {
64
+ enabled: boolean;
65
+ disableRepeatLastData?: boolean;
66
+ size?: number;
67
+ };
61
68
  export type MQTTAccessoryConfig = Assertable & {
62
69
  info: InfoConfig;
63
70
  mqtt?: MQTTConfig;
71
+ history?: HistoryConfig;
64
72
  customCharacteristics?: CustomCharacteristicConfig[];
65
73
  resetOnRestart?: boolean;
66
74
  disableLogging: boolean;
@@ -80,7 +88,11 @@ export type BaseAccessoryConfig = MQTTAccessoryConfig & {
80
88
  valueStatusActive?: string;
81
89
  };
82
90
  export type OnOffConfig = BaseAccessoryConfig & {
91
+ topicGetCurrentConsumption?: string;
92
+ topicGetElectricCurrent?: string;
83
93
  topicGetOn: string;
94
+ topicGetTotalConsumption?: string;
95
+ topicGetVoltage?: string;
84
96
  topicSetOn: string;
85
97
  valueOn: string;
86
98
  valueOff: string;