homebridge-easy-mqtt 1.4.1-beta.1 → 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 (132) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +84 -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/package.json +2 -1
@@ -1,3 +1,4 @@
1
+ import { EveCharacteristic, isEveCharacteristic } from '../characteristic/eve.js';
1
2
  import { strings } from '../../i18n/i18n.js';
2
3
  import { LogType } from '../../tools/log.js';
3
4
  import { toNumber, toPrimitive } from '../../tools/primitive.js';
@@ -39,6 +40,9 @@ export class Common {
39
40
  addTopicHandlers(topicHandlers) {
40
41
  this.topicHandlers.push(...topicHandlers);
41
42
  }
43
+ isOptionalCharacteristic(key) {
44
+ return isEveCharacteristic(key);
45
+ }
42
46
  setup(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic, setTopicKey = undefined, onSetHandler = undefined) {
43
47
  const characteristic = this.setupGet(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic);
44
48
  if (!characteristic) {
@@ -56,7 +60,7 @@ export class Common {
56
60
  }
57
61
  if (this.config[getTopicKey] === undefined) {
58
62
  for (const characteristic of this.service.characteristics) {
59
- if (characteristic.UUID === this.Characteristic[characteristicKey].UUID) {
63
+ if (characteristic.UUID === this.characteristicFromKey(characteristicKey).UUID) {
60
64
  this.service.removeCharacteristic(characteristic);
61
65
  break;
62
66
  }
@@ -64,7 +68,10 @@ export class Common {
64
68
  return;
65
69
  }
66
70
  const startingValue = (this.useStoredProperties && this.properties.get(characteristicKey)) ?? defaultValue;
67
- const characteristic = this.service.getCharacteristic(this.Characteristic[characteristicKey]);
71
+ if (this.isOptionalCharacteristic(characteristicKey)) {
72
+ this.service.addOptionalCharacteristic(this.characteristicFromKey(characteristicKey));
73
+ }
74
+ const characteristic = this.service.getCharacteristic(this.characteristicFromKey(characteristicKey));
68
75
  characteristic.setValue(startingValue);
69
76
  this.properties.set(characteristicKey, startingValue);
70
77
  characteristic.onGet(async () => {
@@ -83,16 +90,38 @@ export class Common {
83
90
  if (!onSetHandler) {
84
91
  throw new Error(`Missing onSetHandler for topic '${setTopicKey.toString()}'`);
85
92
  }
86
- const characteristic = this.service.getCharacteristic(this.Characteristic[characteristicKey]);
93
+ if (this.isOptionalCharacteristic(characteristicKey)) {
94
+ this.service.addOptionalCharacteristic(this.characteristicFromKey(characteristicKey));
95
+ }
96
+ const characteristic = this.service.getCharacteristic(this.characteristicFromKey(characteristicKey));
87
97
  characteristic.onSet(onSetHandler);
88
98
  }
89
- bindOnUpdateNumeric(key, logTemplate) {
99
+ setupTopicless(characteristicKey, defaultValue, onSetCallback) {
100
+ const startingValue = (this.useStoredProperties && this.properties.get(characteristicKey)) ?? defaultValue;
101
+ if (this.isOptionalCharacteristic(characteristicKey)) {
102
+ this.service.addOptionalCharacteristic(this.characteristicFromKey(characteristicKey));
103
+ }
104
+ const characteristic = this.service.getCharacteristic(this.characteristicFromKey(characteristicKey));
105
+ characteristic.setValue(startingValue);
106
+ this.properties.set(characteristicKey, startingValue);
107
+ characteristic.onGet(async () => {
108
+ return this.properties.get(characteristicKey) ?? null;
109
+ });
110
+ if (onSetCallback) {
111
+ characteristic.onSet(async (value) => {
112
+ onSetCallback(value);
113
+ this.onUpdate(characteristicKey, value);
114
+ });
115
+ }
116
+ return characteristic;
117
+ }
118
+ bindOnUpdateNumeric(key, logTemplate, callback) {
90
119
  return (async (_topic, value) => {
91
120
  if (typeof value !== 'number') {
92
121
  this.log.error(strings.characteristic.badValue, this.name, key, `'${value.toString()}'`);
93
122
  return;
94
123
  }
95
- const characteristic = this.service.getCharacteristic(this.Characteristic[key]);
124
+ const characteristic = this.service.getCharacteristic(this.characteristicFromKey(key));
96
125
  const minValue = characteristic.props.minValue;
97
126
  const maxValue = characteristic.props.maxValue;
98
127
  if (minValue !== undefined && value < minValue) {
@@ -105,33 +134,50 @@ export class Common {
105
134
  }
106
135
  const logString = logTemplate.replace('%d', value.toString());
107
136
  this.onUpdate(key, value, logString);
137
+ callback?.(value);
108
138
  }).bind(this);
109
139
  }
110
- bindOnUpdateBoolean(key, positiveKey, negativeKey, logTrue, logFalse) {
140
+ bindOnUpdateBoolean(key, trueKey, falseKey, logTrue, logFalse, callback) {
111
141
  return (async (_topic, value) => {
112
142
  let bool = undefined;
113
143
  switch (value) {
114
- case this.getPrimitiveValue(positiveKey):
144
+ case this.getPrimitiveValue(trueKey):
115
145
  bool = true;
116
146
  break;
117
- case this.getPrimitiveValue(negativeKey):
147
+ case this.getPrimitiveValue(falseKey):
118
148
  bool = false;
119
149
  break;
120
150
  default:
121
- this.log.error(strings.characteristic.unknownValue);
151
+ this.log.error(strings.characteristic.unknownValue, this.name, `'${value}'`);
122
152
  return;
123
153
  }
124
154
  const logString = bool ? logTrue : logFalse;
125
155
  this.onUpdate(key, bool, logString);
156
+ callback?.(bool);
126
157
  }).bind(this);
127
158
  }
128
- bindOnUpdateNumericBoolean(charKey, valueKey, logTrue, logFalse) {
159
+ bindOnUpdateBooleanSingle(key, valueKey, trueLog, falseLog, trueLogType = LogType.ALWAYS, falseLogType = LogType.ALWAYS) {
160
+ return (async (_topic, value) => {
161
+ const bool = value === this.getPrimitiveValue(valueKey);
162
+ if (!this.onUpdate(key, bool)) {
163
+ return;
164
+ }
165
+ if (bool) {
166
+ this.logIfDesired(trueLogType, trueLog);
167
+ }
168
+ else {
169
+ this.logIfDesired(falseLogType, falseLog);
170
+ }
171
+ }).bind(this);
172
+ }
173
+ bindOnUpdateNumericBoolean(charKey, valueKey, logTrue, logFalse, callback) {
129
174
  return (async (_topic, value) => {
130
175
  const numeric = value === this.getPrimitiveValue(valueKey) ? 1 : 0;
131
176
  this.onUpdate(charKey, numeric, numeric ? logTrue : logFalse);
177
+ callback?.(numeric);
132
178
  }).bind(this);
133
179
  }
134
- bindOnUpdateTemperature(config, charKey, logTemplate) {
180
+ bindOnUpdateTemperature(config, charKey, logTemplate, callback) {
135
181
  return (async (_topic, value) => {
136
182
  if (typeof value !== 'number') {
137
183
  this.log.error(strings.climate.badTemperatureValue, this.name, `'${value}'`);
@@ -141,36 +187,82 @@ export class Common {
141
187
  const temperature = toCelsius(toNumber(value), units);
142
188
  const logString = logTemplate.replace('%d°%s', `${value}°${units}`);
143
189
  this.onUpdate(charKey, temperature, logString);
190
+ callback?.(temperature);
144
191
  }).bind(this);
145
192
  }
146
- bindOnSetNumeric(key, topic, logTemplate) {
147
- return (async (value) => {
148
- if (typeof value !== 'number') {
149
- this.log.error(strings.characteristic.badValue, this.name, key, `'${value}'`);
193
+ bindOnUpdateState(key, states, strings, unknownLog) {
194
+ return (async (_topic, value) => {
195
+ let characteristicValue;
196
+ for (const valueKey of states.keys()) {
197
+ if (value === this.getPrimitiveValue(valueKey, false)) {
198
+ characteristicValue = states.get(valueKey);
199
+ break;
200
+ }
201
+ }
202
+ if (characteristicValue === undefined) {
203
+ this.logIfDesired(unknownLog, `'${value}'`);
150
204
  return;
151
205
  }
152
- const logString = logTemplate.replace('%d', value.toString());
153
- this.onSet(key, value, value, topic, logString);
206
+ this.onUpdate(key, characteristicValue, strings.get(characteristicValue));
207
+ }).bind(this);
208
+ }
209
+ onSetNumeric(key, topic, value, logTemplate) {
210
+ if (typeof value !== 'number') {
211
+ this.log.error(strings.characteristic.badValue, this.name, key, `'${value}'`);
212
+ return;
213
+ }
214
+ const logString = logTemplate.replace('%d', value.toString());
215
+ this.onSet(key, value, value, topic, logString);
216
+ }
217
+ bindOnSetNumeric(key, topic, logTemplate) {
218
+ return (async (value) => {
219
+ this.onSetNumeric(key, topic, value, logTemplate);
220
+ }).bind(this);
221
+ }
222
+ bindOnSetPercentOrValue(key, topic, maximum, logPercent, logValue) {
223
+ return (async (value) => {
224
+ const isPercent = maximum === undefined || maximum === 100;
225
+ const logTemplate = isPercent ? logPercent : logValue;
226
+ this.onSetNumeric(key, topic, value, logTemplate);
154
227
  }).bind(this);
155
228
  }
156
- bindOnSetBoolean(key, setTopicKey, positiveKey, negativeKey, positiveValue, positiveLogString, negativeLogString) {
229
+ bindOnSetBoolean(key, setTopicKey, trueValueKey, falseValueKey, trueValue, trueLog, falseLog, callback) {
157
230
  return (async (value) => {
158
- if (!this.assert(setTopicKey, positiveKey, negativeKey)) {
231
+ if (!this.assert(setTopicKey, trueValueKey, falseValueKey)) {
159
232
  return;
160
233
  }
161
234
  if (!setTopicKey.toString().startsWith('topic')) {
162
235
  throw new Error(`Trying to fetch topic with unexpected property name '${setTopicKey.toString()}'`);
163
236
  }
164
- if (!positiveKey.toString().startsWith('value')) {
165
- throw new Error(`Trying to fetch value with unexpected property name '${positiveKey.toString()}'`);
237
+ if (!trueValueKey.toString().startsWith('value')) {
238
+ throw new Error(`Trying to fetch value with unexpected property name '${trueValueKey.toString()}'`);
166
239
  }
167
- if (!negativeKey.toString().startsWith('value')) {
168
- throw new Error(`Trying to fetch value with unexpected property name '${negativeKey.toString()}'`);
240
+ if (!falseValueKey.toString().startsWith('value')) {
241
+ throw new Error(`Trying to fetch value with unexpected property name '${falseValueKey.toString()}'`);
169
242
  }
170
- const booleanValue = value === positiveValue;
171
- const logString = booleanValue ? positiveLogString : negativeLogString;
172
- const publish = booleanValue ? this.config[positiveKey] : this.config[negativeKey];
243
+ const booleanValue = value === trueValue;
244
+ const logString = booleanValue ? trueLog : falseLog;
245
+ const publish = booleanValue ? this.config[trueValueKey] : this.config[falseValueKey];
173
246
  this.onSet(key, value, publish, setTopicKey, logString);
247
+ callback?.(booleanValue);
248
+ }).bind(this);
249
+ }
250
+ bindOnSetState(key, setTopicKey, states, strings, badValueLog) {
251
+ return (async (value) => {
252
+ if (!this.assert(setTopicKey)) {
253
+ return;
254
+ }
255
+ let publish;
256
+ states.forEach((test, key) => {
257
+ if (value === test) {
258
+ publish = this.getPrimitiveValue(key);
259
+ }
260
+ });
261
+ if (publish === undefined) {
262
+ this.log.error(badValueLog, this.name, `'${value}'`);
263
+ return;
264
+ }
265
+ this.onSet(key, value, publish, setTopicKey, strings.get(value));
174
266
  }).bind(this);
175
267
  }
176
268
  onUpdate(key, value, logString = undefined) {
@@ -178,7 +270,7 @@ export class Common {
178
270
  return false;
179
271
  }
180
272
  this.properties.set(key, value);
181
- this.service.updateCharacteristic(this.Characteristic[key], value);
273
+ this.service.updateCharacteristic(this.characteristicFromKey(key), value);
182
274
  if (logString) {
183
275
  this.logIfDesired(logString);
184
276
  }
@@ -192,9 +284,25 @@ export class Common {
192
284
  this.logIfDesired(logString);
193
285
  }
194
286
  this.properties.set(key, value);
195
- this.service.updateCharacteristic(this.Characteristic[key], value);
287
+ this.service.updateCharacteristic(this.characteristicFromKey(key), value);
196
288
  this.publish(this.config[topic], publish);
197
289
  }
290
+ updateNumericValue(key, delta) {
291
+ const currentValue = this.properties.get(key) ?? 0;
292
+ if (typeof currentValue !== 'number') {
293
+ throw new Error(`Trying to increment '${key}' but it is not a number`);
294
+ }
295
+ const newValue = currentValue + delta;
296
+ this.properties.set(key, newValue);
297
+ this.service.updateCharacteristic(this.characteristicFromKey(key), newValue);
298
+ }
299
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
300
+ characteristicFromKey(key) {
301
+ if (isEveCharacteristic(key)) {
302
+ return EveCharacteristic(key);
303
+ }
304
+ return this.Characteristic[key];
305
+ }
198
306
  logIfDesired(levelOrMessage, ...rest) {
199
307
  if (this.disableLogging) {
200
308
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { CharacteristicValue, PlatformAccessory, PrimitiveTypes, Service } from
2
2
  import { Common } from './common.js';
3
3
  import { AccessoryType, HKCharacteristicKey } from '../../model/enums.js';
4
4
  import { CharacteristicType, MQTTAccessoryConfig, MQTTAccessoryDependency } from '../../model/types.js';
5
+ import { HistoryEntry, HistoryType } from '../../model/history.js';
5
6
  import { Log } from '../../tools/log.js';
6
7
  export declare abstract class MQTTAccessory<C extends MQTTAccessoryConfig> extends Common<C> {
7
8
  private readonly dependency;
@@ -22,4 +23,5 @@ export declare abstract class MQTTAccessory<C extends MQTTAccessoryConfig> exten
22
23
  publish(topic: string, value: PrimitiveTypes): void;
23
24
  teardown(): void;
24
25
  protected setCharacteristicValue(key: HKCharacteristicKey, value: CharacteristicValue): void;
26
+ protected recordHistory(type: HistoryType, entry: HistoryEntry, updateLastActivation?: boolean): boolean;
25
27
  }
@@ -1,7 +1,8 @@
1
1
  import { Common } from './common.js';
2
2
  import { createIdentifier } from './helper.js';
3
+ import { CharacteristicKeys } from '../characteristic/characteristic.js';
3
4
  import { CustomCharacteristic } from '../characteristic/custom.js';
4
- import { AccessoryType, HKCharacteristicKey } from '../../model/enums.js';
5
+ import { AccessoryType } from '../../model/enums.js';
5
6
  import { MQTT } from '../../model/mqtt.js';
6
7
  export class MQTTAccessory extends Common {
7
8
  dependency;
@@ -62,22 +63,19 @@ export class MQTTAccessory extends Common {
62
63
  return this.accessoryService.subtype;
63
64
  }
64
65
  setupCustomCharacteristics() {
65
- // TODO both hk and optional
66
- const keepUUIDs = new Set(Object.values(HKCharacteristicKey).map((key) => this.Characteristic[key].UUID));
67
- const toRemove = this.accessoryService.characteristics.filter((characteristic) => !keepUUIDs.has(characteristic.UUID));
68
- for (const characteristic of toRemove) {
69
- characteristic.updateValue(null);
70
- this.accessoryService.removeCharacteristic(characteristic);
71
- }
72
- if (!this.config.customCharacteristics) {
73
- return;
74
- }
75
- for (const config of this.config.customCharacteristics) {
66
+ const keepUUIDs = new Set(CharacteristicKeys().map((key) => this.characteristicFromKey(key).UUID));
67
+ for (const config of this.config.customCharacteristics ?? []) {
76
68
  const customChar = CustomCharacteristic.create(this.accessoryService, this.Characteristic, config, this.name, this.log, this.config.disableLogging);
77
69
  if (customChar !== undefined) {
70
+ keepUUIDs.add(customChar.UUID);
78
71
  this.topicHandlers.push({ topic: customChar.topic, handler: customChar.onUpdateHandler });
79
72
  }
80
73
  }
74
+ const toRemove = this.accessoryService.characteristics.filter((characteristic) => !keepUUIDs.has(characteristic.UUID));
75
+ for (const characteristic of toRemove) {
76
+ characteristic.updateValue(null);
77
+ this.accessoryService.removeCharacteristic(characteristic);
78
+ }
81
79
  }
82
80
  publish(topic, value) {
83
81
  this.mqttClient?.publish(topic, value);
@@ -90,5 +88,8 @@ export class MQTTAccessory extends Common {
90
88
  return value;
91
89
  });
92
90
  }
91
+ recordHistory(type, entry, updateLastActivation = false) {
92
+ return this.dependency.history.record(this, this.config.history, type, entry, updateLastActivation);
93
+ }
93
94
  }
94
95
  //# sourceMappingURL=mqtt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../src/accessory/abstract/mqtt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../src/accessory/abstract/mqtt.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,5 @@ import { MQTTAccessory } from '../abstract/mqtt.js';
6
6
  export declare class FilterMaintenance extends Addon<FilterMaintenanceConfig> {
7
7
  static topicHandlers(Service: ServiceType, parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, config: FilterMaintenanceConfig): TopicHandler[];
8
8
  constructor(service: Service, parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, config: FilterMaintenanceConfig);
9
- private onChangeIndicationUpdate;
10
9
  private onResetIndication;
11
10
  }
@@ -10,22 +10,10 @@ export class FilterMaintenance extends Addon {
10
10
  }
11
11
  constructor(service, parentAccessory, config) {
12
12
  super(parentAccessory, service, config);
13
- this.setup(HKCharacteristicKey.FilterChangeIndication, this.Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.onChangeIndicationUpdate.bind(this), false);
13
+ this.setup(HKCharacteristicKey.FilterChangeIndication, this.Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.bindOnUpdateBooleanSingle(HKCharacteristicKey.FilterChangeIndication, 'valueFilterChange', strings.filter.change, strings.filter.ok, LogType.WARNING), false);
14
14
  this.setup(HKCharacteristicKey.FilterLifeLevel, 100, 'topicGetFilterLifeLevel', this.bindOnUpdateNumeric(HKCharacteristicKey.FilterLifeLevel, strings.filter.level), false);
15
15
  this.setupSet(HKCharacteristicKey.ResetFilterIndication, 'topicResetFilterIndication', this.onResetIndication.bind(this));
16
16
  }
17
- async onChangeIndicationUpdate(topic, value) {
18
- const indication = value === this.getPrimitiveValue('valueFilterChange') ? 1 : 0;
19
- if (!this.onUpdate(HKCharacteristicKey.FilterChangeIndication, indication)) {
20
- return;
21
- }
22
- if (indication === this.Characteristic.FilterChangeIndication.FILTER_OK) {
23
- this.logIfDesired(strings.filter.ok);
24
- }
25
- else {
26
- this.logIfDesired(LogType.WARNING, strings.filter.change);
27
- }
28
- }
29
17
  async onResetIndication(value) {
30
18
  if (!this.assert('valueFilterReset')) {
31
19
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/accessory/addons/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,OAAO,iBAAkB,SAAQ,KAA8B;IAEnE,MAAM,CAAC,aAAa,CAClB,OAAoB,EACpB,eAAmD,EACnD,MAA+B;QAE/B,MAAM,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,iBAAiB,GACrB,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,gCAAgC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtH,OAAO,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,YACE,OAAgB,EAChB,eAAmD,EACnD,MAA+B;QAE/B,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EACzG,gCAAgC,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAErF,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,EACjD,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAEzH,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5H,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,KAAa,EAAE,KAAqB;QAEzE,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EAAE,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAA0B;QAExD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/I,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/accessory/addons/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,OAAO,iBAAkB,SAAQ,KAA8B;IAEnE,MAAM,CAAC,aAAa,CAClB,OAAoB,EACpB,eAAmD,EACnD,MAA+B;QAE/B,MAAM,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,iBAAiB,GACrB,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,gCAAgC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtH,OAAO,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,YACE,OAAgB,EAChB,eAAmD,EACnD,MAA+B;QAE/B,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EACzG,gCAAgC,EAChC,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,sBAAsB,EAAC,mBAAmB,EAC3F,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAC5D,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,EACjD,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAEzH,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5H,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAA0B;QAExD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAiB,EAAE,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChJ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
2
+ export declare function CharacteristicKeys(): CharacteristicKey[];
3
+ export declare function isOptionalHKCharacteristic(key: CharacteristicKey, accessoryType: AccessoryType): boolean;
@@ -0,0 +1,23 @@
1
+ import { EveCharacteristicKey, HKCharacteristicKey } from '../../model/enums.js';
2
+ let _CharacteristicKeys;
3
+ export function CharacteristicKeys() {
4
+ if (!_CharacteristicKeys) {
5
+ const HKKeys = Object.values(HKCharacteristicKey);
6
+ const EveKeys = Object.values(EveCharacteristicKey);
7
+ _CharacteristicKeys = HKKeys.concat(EveKeys);
8
+ }
9
+ return _CharacteristicKeys;
10
+ }
11
+ export function isOptionalHKCharacteristic(key, accessoryType) {
12
+ switch (key) {
13
+ case HKCharacteristicKey.BatteryLevel:
14
+ return true;
15
+ case HKCharacteristicKey.StatusLowBattery:
16
+ return !accessoryType.endsWith('Sensor');
17
+ case HKCharacteristicKey.StatusActive:
18
+ return !accessoryType.endsWith('Sensor');
19
+ default:
20
+ return false;
21
+ }
22
+ }
23
+ //# sourceMappingURL=characteristic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characteristic.js","sourceRoot":"","sources":["../../../src/accessory/characteristic/characteristic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEnH,IAAI,mBAAoD,CAAC;AACzD,MAAM,UAAU,kBAAkB;IAEhC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,MAAM,GAAwB,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpD,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAsB,EAAE,aAA4B;IAC7F,QAAQ,GAAG,EAAE,CAAC;QACd,KAAK,mBAAmB,CAAC,YAAY;YACnC,OAAO,IAAI,CAAC;QACd,KAAK,mBAAmB,CAAC,gBAAgB;YACvC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,KAAK,mBAAmB,CAAC,YAAY;YACnC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C;YACE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -10,6 +10,7 @@ export declare class CustomCharacteristic {
10
10
  private value;
11
11
  static create(Service: Service, Characteristic: CharacteristicType, config: CustomCharacteristicConfig, caller: string, log: Log, disableLogging: boolean): CustomCharacteristic | undefined;
12
12
  private constructor();
13
+ get UUID(): string;
13
14
  get topic(): string;
14
15
  get onUpdateHandler(): (topic: string, value: PrimitiveTypes) => Promise<void>;
15
16
  private getValue;
@@ -37,6 +37,9 @@ export class CustomCharacteristic {
37
37
  }
38
38
  this.characteristic.onGet(this.getValue.bind(this));
39
39
  }
40
+ get UUID() {
41
+ return this.config.uuid;
42
+ }
40
43
  get topic() {
41
44
  return this.config.getTopic;
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../src/accessory/characteristic/custom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../src/accessory/characteristic/custom.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,MAAM,OAAO,oBAAoB;IAyBZ;IACA;IACA;IACA;IA1BX,cAAc,CAAiB;IAE/B,KAAK,GAAkC,IAAI,CAAC;IAE7C,MAAM,CAAC,MAAM,CAClB,OAAgB,EAChB,cAAkC,EAClC,MAAkC,EAClC,MAAc,EACd,GAAQ,EACR,cAAuB;QAGvB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YAC/F,OAAO;QACT,CAAC;QAED,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAChG,CAAC;IAED,YACE,OAAgB,EAChB,cAAkC,EACjB,MAAkC,EAClC,MAAc,EACd,GAAQ,EACR,cAAuB;QAHvB,WAAM,GAAN,MAAM,CAA4B;QAClC,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAK;QACR,mBAAc,GAAd,cAAc,CAAS;QAGxC,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,oBAAoB,GAAG,MAAM,oBAAqB,SAAQ,cAAc;gBAC5E;oBACE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;wBAC9B,MAAM,+BAAgB;wBACtB,KAAK,EAAE,uDAAmC;wBAC1C,IAAI,EAAE,MAAM,CAAC,KAAK;qBACnB,CAAC,CAAC;oBACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtC,CAAC;aACF,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,KAAqB;QAE9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;YAC5G,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IAC9G,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { API } from 'homebridge';
2
+ import { CharacteristicKey, EveCharacteristicKey } from '../../model/enums.js';
3
+ export declare const EVE_EPOCH = 978307200;
4
+ export declare function initEveCharacteristics(api: API): void;
5
+ export declare function EveCharacteristic(key: EveCharacteristicKey): any;
6
+ export declare function isEveCharacteristic(key: CharacteristicKey): key is EveCharacteristicKey;
@@ -0,0 +1,24 @@
1
+ import { EveHomeKitTypes } from 'homebridge-lib/EveHomeKitTypes';
2
+ import { EveCharacteristicKey } from '../../model/enums.js';
3
+ export const EVE_EPOCH = 978307200; // Seconds since Jan 1, 2001
4
+ let _EveHomeKitTypes;
5
+ export function initEveCharacteristics(api) {
6
+ if (_EveHomeKitTypes) {
7
+ throw new Error('EveHomeKitTypes already initialized');
8
+ }
9
+ _EveHomeKitTypes = new EveHomeKitTypes(api);
10
+ }
11
+ export function EveCharacteristic(key) {
12
+ if (!_EveHomeKitTypes) {
13
+ throw new Error('EveHomeKitTypes not initialized');
14
+ }
15
+ return _EveHomeKitTypes.Characteristics[key];
16
+ }
17
+ let EveCharacteristicKeys;
18
+ export function isEveCharacteristic(key) {
19
+ if (EveCharacteristicKeys === undefined) {
20
+ EveCharacteristicKeys = new Set(Object.values(EveCharacteristicKey));
21
+ }
22
+ return EveCharacteristicKeys.has(key);
23
+ }
24
+ //# sourceMappingURL=eve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eve.js","sourceRoot":"","sources":["../../../src/accessory/characteristic/eve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAqB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,4BAA4B;AAEhE,IAAI,gBAA6C,CAAC;AAElD,MAAM,UAAU,sBAAsB,CAAC,GAAQ;IAE7C,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAyB;IAEzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,IAAI,qBAA4D,CAAC;AACjE,MAAM,UAAU,mBAAmB,CAAC,GAAsB;IAExD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,qBAAqB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAA2B,CAAC,CAAC;AAChE,CAAC"}
@@ -2,8 +2,4 @@ import { TemperatureControlAccessory } from './temperatureControl.js';
2
2
  import { ActiveClimateConfig, MQTTAccessoryDependency } from '../../model/types.js';
3
3
  export declare abstract class ActiveClimateAccessory<C extends ActiveClimateConfig = ActiveClimateConfig> extends TemperatureControlAccessory<C> {
4
4
  constructor(dependency: MQTTAccessoryDependency<C>);
5
- private onSetActive;
6
- private onSetLockControls;
7
- private onSetRotationSpeed;
8
- private onSetSwingMode;
9
5
  }