homebridge-easy-mqtt 1.4.0-beta.2 → 1.4.0-beta.21

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 (125) hide show
  1. package/CHANGELOG.md +21 -3
  2. package/README.md +271 -24
  3. package/config.schema.json +2309 -342
  4. package/dist/accessory/abstract/base.js +5 -5
  5. package/dist/accessory/abstract/base.js.map +1 -1
  6. package/dist/accessory/abstract/common.d.ts +42 -0
  7. package/dist/accessory/abstract/common.js +169 -0
  8. package/dist/accessory/abstract/common.js.map +1 -0
  9. package/dist/accessory/abstract/helper.d.ts +1 -0
  10. package/dist/accessory/abstract/helper.js +25 -0
  11. package/dist/accessory/abstract/helper.js.map +1 -1
  12. package/dist/accessory/abstract/mqtt.d.ts +15 -26
  13. package/dist/accessory/abstract/mqtt.js +29 -148
  14. package/dist/accessory/abstract/mqtt.js.map +1 -1
  15. package/dist/accessory/addons/addon.d.ts +24 -0
  16. package/dist/accessory/addons/addon.js +52 -0
  17. package/dist/accessory/addons/addon.js.map +1 -0
  18. package/dist/accessory/addons/filter.d.ts +11 -0
  19. package/dist/accessory/addons/filter.js +37 -0
  20. package/dist/accessory/addons/filter.js.map +1 -0
  21. package/dist/accessory/climate/active.d.ts +11 -0
  22. package/dist/accessory/climate/active.js +44 -0
  23. package/dist/accessory/climate/active.js.map +1 -0
  24. package/dist/accessory/climate/fan2.d.ts +20 -0
  25. package/dist/accessory/climate/fan2.js +122 -0
  26. package/dist/accessory/climate/fan2.js.map +1 -0
  27. package/dist/accessory/climate/heaterCooler.d.ts +2 -6
  28. package/dist/accessory/climate/heaterCooler.js +7 -39
  29. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  30. package/dist/accessory/climate/purifier.d.ts +19 -0
  31. package/dist/accessory/climate/purifier.js +114 -0
  32. package/dist/accessory/climate/purifier.js.map +1 -0
  33. package/dist/accessory/climate/{climate.d.ts → temperatureControl.d.ts} +4 -3
  34. package/dist/accessory/climate/temperatureControl.js +35 -0
  35. package/dist/accessory/climate/temperatureControl.js.map +1 -0
  36. package/dist/accessory/climate/thermostat.d.ts +2 -2
  37. package/dist/accessory/climate/thermostat.js +11 -10
  38. package/dist/accessory/climate/thermostat.js.map +1 -1
  39. package/dist/accessory/garage.d.ts +17 -0
  40. package/dist/accessory/garage.js +110 -0
  41. package/dist/accessory/garage.js.map +1 -0
  42. package/dist/accessory/lock.d.ts +2 -2
  43. package/dist/accessory/lock.js +3 -3
  44. package/dist/accessory/lock.js.map +1 -1
  45. package/dist/accessory/onoff/lightbulb.js +4 -4
  46. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  47. package/dist/accessory/onoff/onoff.js +1 -1
  48. package/dist/accessory/onoff/onoff.js.map +1 -1
  49. package/dist/accessory/onoff/outlet.js +1 -1
  50. package/dist/accessory/onoff/outlet.js.map +1 -1
  51. package/dist/accessory/position/blind.d.ts +10 -0
  52. package/dist/accessory/position/blind.js +22 -0
  53. package/dist/accessory/position/blind.js.map +1 -0
  54. package/dist/accessory/position/position.d.ts +14 -0
  55. package/dist/accessory/position/position.js +80 -0
  56. package/dist/accessory/position/position.js.map +1 -0
  57. package/dist/accessory/security.js +4 -4
  58. package/dist/accessory/security.js.map +1 -1
  59. package/dist/accessory/sensor/air.d.ts +14 -0
  60. package/dist/accessory/sensor/air.js +96 -0
  61. package/dist/accessory/sensor/air.js.map +1 -0
  62. package/dist/accessory/sensor/carbonDioxide.js +3 -3
  63. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  64. package/dist/accessory/sensor/carbonMonoxide.js +3 -3
  65. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  66. package/dist/accessory/sensor/contact.js +1 -1
  67. package/dist/accessory/sensor/contact.js.map +1 -1
  68. package/dist/accessory/sensor/humidity.js +1 -1
  69. package/dist/accessory/sensor/humidity.js.map +1 -1
  70. package/dist/accessory/sensor/leak.js +1 -1
  71. package/dist/accessory/sensor/leak.js.map +1 -1
  72. package/dist/accessory/sensor/light.d.ts +9 -0
  73. package/dist/accessory/sensor/light.js +13 -0
  74. package/dist/accessory/sensor/light.js.map +1 -0
  75. package/dist/accessory/sensor/motion.js +1 -1
  76. package/dist/accessory/sensor/motion.js.map +1 -1
  77. package/dist/accessory/sensor/occupancy.js +1 -1
  78. package/dist/accessory/sensor/occupancy.js.map +1 -1
  79. package/dist/accessory/sensor/sensor.js +4 -4
  80. package/dist/accessory/sensor/sensor.js.map +1 -1
  81. package/dist/accessory/sensor/smoke.js +1 -1
  82. package/dist/accessory/sensor/smoke.js.map +1 -1
  83. package/dist/accessory/sensor/temperature.js +1 -1
  84. package/dist/accessory/sensor/temperature.js.map +1 -1
  85. package/dist/accessory/valve.d.ts +14 -0
  86. package/dist/accessory/valve.js +71 -0
  87. package/dist/accessory/valve.js.map +1 -0
  88. package/dist/homebridge/platform.js +5 -3
  89. package/dist/homebridge/platform.js.map +1 -1
  90. package/dist/homebridge-ui/public/index.html +1 -1
  91. package/dist/homebridge-ui/public/ui.js +1 -1
  92. package/dist/i18n/en.d.ts +203 -0
  93. package/dist/i18n/en.js +226 -23
  94. package/dist/i18n/en.js.map +1 -1
  95. package/dist/i18n/fr.d.ts +468 -0
  96. package/dist/i18n/fr.js +265 -0
  97. package/dist/i18n/fr.js.map +1 -1
  98. package/dist/i18n/i18n.d.ts +206 -1
  99. package/dist/i18n/i18n.js +12 -0
  100. package/dist/i18n/i18n.js.map +1 -1
  101. package/dist/i18n/ro.d.ts +889 -0
  102. package/dist/i18n/ro.js +381 -0
  103. package/dist/i18n/ro.js.map +1 -0
  104. package/dist/i18n/template.d.ts +205 -2
  105. package/dist/i18n/template.js +3 -3
  106. package/dist/i18n/template.js.map +1 -1
  107. package/dist/i18n/vi.d.ts +1034 -0
  108. package/dist/i18n/vi.js +526 -0
  109. package/dist/i18n/vi.js.map +1 -0
  110. package/dist/model/enums.d.ts +49 -5
  111. package/dist/model/enums.js +50 -5
  112. package/dist/model/enums.js.map +1 -1
  113. package/dist/model/mqtt.d.ts +5 -4
  114. package/dist/model/mqtt.js +41 -25
  115. package/dist/model/mqtt.js.map +1 -1
  116. package/dist/model/types.d.ts +141 -24
  117. package/dist/tools/properties.d.ts +11 -0
  118. package/dist/tools/properties.js +73 -0
  119. package/dist/tools/properties.js.map +1 -0
  120. package/dist/tools/temperature.d.ts +7 -3
  121. package/dist/tools/temperature.js +20 -9
  122. package/dist/tools/temperature.js.map +1 -1
  123. package/package.json +1 -1
  124. package/dist/accessory/climate/climate.js +0 -31
  125. package/dist/accessory/climate/climate.js.map +0 -1
@@ -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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"}
@@ -0,0 +1,24 @@
1
+ import { PrimitiveTypes, Service } from 'homebridge';
2
+ import { Common } from '../abstract/common.js';
3
+ import { AddonType } from '../../model/enums.js';
4
+ import { AddonConfig, CharacteristicType, MQTTAccessoryConfig } from '../../model/types.js';
5
+ import { Log } from '../../tools/log.js';
6
+ import { MQTTAccessory } from '../abstract/mqtt.js';
7
+ type AddonConstructor<C extends AddonConfig, A extends Addon<C>> = new (service: Service, parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, config: C) => A;
8
+ type AddonServiceType = typeof import('homebridge').Service[AddonType];
9
+ export declare abstract class Addon<C extends AddonConfig> extends Common<C> {
10
+ private readonly parentAccessory;
11
+ private readonly addonService;
12
+ private readonly addonConfig;
13
+ static new<C extends AddonConfig, A extends Addon<C>>(parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, addonServiceInstance: AddonServiceType, config: C, required: (keyof C)[], constructor: AddonConstructor<C, A>): A | undefined;
14
+ protected constructor(parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, addonService: Service, addonConfig: C);
15
+ protected get service(): Service;
16
+ protected get Characteristic(): CharacteristicType;
17
+ protected get log(): Log;
18
+ protected get disableLogging(): boolean;
19
+ protected get config(): C;
20
+ protected get identifier(): string;
21
+ protected get useStoredProperties(): boolean;
22
+ protected publish(rawTopic: string, value: PrimitiveTypes): void;
23
+ }
24
+ export {};
@@ -0,0 +1,52 @@
1
+ import { Common } from '../abstract/common.js';
2
+ import { assert } from '../../tools/validation.js';
3
+ export class Addon extends Common {
4
+ parentAccessory;
5
+ addonService;
6
+ addonConfig;
7
+ static new(parentAccessory, addonServiceInstance, config, required, constructor) {
8
+ const existingAddonService = parentAccessory.platformAccessory.getService(addonServiceInstance);
9
+ if (required.filter((key) => config[key] !== undefined).length === 0 || !assert(parentAccessory.log, parentAccessory.name, config, ...required)) {
10
+ if (existingAddonService !== undefined) {
11
+ parentAccessory.platformAccessory.removeService(existingAddonService);
12
+ }
13
+ return;
14
+ }
15
+ const addonService = existingAddonService ?? parentAccessory.platformAccessory.addService(addonServiceInstance);
16
+ if (existingAddonService === undefined) {
17
+ parentAccessory.service.addLinkedService(addonService);
18
+ }
19
+ return new constructor(addonService, parentAccessory, config);
20
+ }
21
+ constructor(parentAccessory, addonService, addonConfig) {
22
+ super(parentAccessory.name);
23
+ this.parentAccessory = parentAccessory;
24
+ this.addonService = addonService;
25
+ this.addonConfig = addonConfig;
26
+ }
27
+ get service() {
28
+ return this.addonService;
29
+ }
30
+ get Characteristic() {
31
+ return this.parentAccessory.Characteristic;
32
+ }
33
+ get log() {
34
+ return this.parentAccessory.log;
35
+ }
36
+ get disableLogging() {
37
+ return this.parentAccessory.disableLogging;
38
+ }
39
+ get config() {
40
+ return this.addonConfig;
41
+ }
42
+ get identifier() {
43
+ return `${this.parentAccessory.identifier}:${this.addonService.UUID}`;
44
+ }
45
+ get useStoredProperties() {
46
+ return this.parentAccessory.useStoredProperties;
47
+ }
48
+ publish(rawTopic, value) {
49
+ return this.parentAccessory.publish(rawTopic, value);
50
+ }
51
+ }
52
+ //# sourceMappingURL=addon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/accessory/addons/addon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAM/C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAYnD,MAAM,OAAgB,KAA6B,SAAQ,MAAS;IA6B/C;IACA;IACA;IA7BnB,MAAM,CAAC,GAAG,CACR,eAAmD,EACnD,oBAAsC,EACtC,MAAS,EACT,QAAqB,EACrB,WAAmC;QAGnC,MAAM,oBAAoB,GAAG,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEhG,IAAI,QAAQ,CAAC,MAAM,CAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YAClJ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACvC,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,IAAI,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEhH,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,YACmB,eAAmD,EACnD,YAAqB,EACrB,WAAc;QAE/B,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAJX,oBAAe,GAAf,eAAe,CAAoC;QACnD,iBAAY,GAAZ,YAAY,CAAS;QACrB,gBAAW,GAAX,WAAW,CAAG;IAGjC,CAAC;IAED,IAAc,OAAO;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAc,cAAc;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,IAAc,GAAG;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;IAClC,CAAC;IAED,IAAc,cAAc;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAc,UAAU;QACtB,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,IAAc,mBAAmB;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;IAClD,CAAC;IAES,OAAO,CAAC,QAAgB,EAAE,KAAqB;QACvD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { Service } from 'homebridge';
2
+ import { Addon } from './addon.js';
3
+ import { TopicHandler } from '../abstract/common.js';
4
+ import { FilterMaintenanceConfig, MQTTAccessoryConfig, ServiceType } from '../../model/types.js';
5
+ import { MQTTAccessory } from '../abstract/mqtt.js';
6
+ export declare class FilterMaintenance extends Addon<FilterMaintenanceConfig> {
7
+ static topicHandlers(Service: ServiceType, parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, config: FilterMaintenanceConfig): TopicHandler[];
8
+ constructor(service: Service, parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, config: FilterMaintenanceConfig);
9
+ private onChangeIndicationUpdate;
10
+ private onResetIndication;
11
+ }
@@ -0,0 +1,37 @@
1
+ import { Addon } from './addon.js';
2
+ import { strings } from '../../i18n/i18n.js';
3
+ import { AddonType, CharacteristicKey } from '../../model/enums.js';
4
+ import { LogType } from '../../tools/log.js';
5
+ export class FilterMaintenance extends Addon {
6
+ static topicHandlers(Service, parentAccessory, config) {
7
+ const FilterMaintenanceService = Service[AddonType.FilterMaintenance];
8
+ const filterMaintenance = Addon.new(parentAccessory, FilterMaintenanceService, config, ['topicGetFilterChangeIndication'], FilterMaintenance);
9
+ return filterMaintenance?.topicHandlers ?? [];
10
+ }
11
+ constructor(service, parentAccessory, config) {
12
+ super(parentAccessory, service, config);
13
+ this.setup(CharacteristicKey.FilterChangeIndication, this.Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.onChangeIndicationUpdate.bind(this), false);
14
+ this.setup(CharacteristicKey.FilterLifeLevel, 100, 'topicGetFilterLifeLevel', this.bindOnUpdateNumeric(CharacteristicKey.FilterLifeLevel, strings.filter.level), false);
15
+ this.setupSet(CharacteristicKey.ResetFilterIndication, 'topicResetFilterIndication', this.onResetIndication.bind(this));
16
+ }
17
+ async onChangeIndicationUpdate(topic, value) {
18
+ const indication = value === this.getPrimitiveValue('valueFilterChange') ? 1 : 0;
19
+ if (!this.onUpdate(CharacteristicKey.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
+ async onResetIndication(value) {
30
+ if (!this.assert('valueFilterReset')) {
31
+ return;
32
+ }
33
+ this.onSet(CharacteristicKey.ResetFilterIndication, value, this.config.valueFilterReset, 'topicResetFilterIndication', strings.filter.reset);
34
+ this.properties.set(CharacteristicKey.ResetFilterIndication, 0);
35
+ }
36
+ }
37
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +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,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,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,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EACvG,gCAAgC,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAErF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAC/C,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAEvH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1H,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,iBAAiB,CAAC,sBAAsB,EAAE,UAAU,CAAC,EAAE,CAAC;YACzE,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,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7I,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { PlatformAccessory } from 'homebridge';
2
+ import { TemperatureControlAccessory } from './temperatureControl.js';
3
+ import { CharacteristicType, ActiveClimateConfig, ServiceType } from '../../model/types.js';
4
+ import { Log } from '../../tools/log.js';
5
+ export declare abstract class ActiveClimateAccessory<C extends ActiveClimateConfig = ActiveClimateConfig> extends TemperatureControlAccessory<C> {
6
+ constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, isGrouped: boolean);
7
+ private onSetActive;
8
+ private onSetLockControls;
9
+ private onSetRotationSpeed;
10
+ private onSetSwingMode;
11
+ }
@@ -0,0 +1,44 @@
1
+ import { TemperatureControlAccessory } from './temperatureControl.js';
2
+ import { strings } from '../../i18n/i18n.js';
3
+ import { CharacteristicKey } from '../../model/enums.js';
4
+ export class ActiveClimateAccessory extends TemperatureControlAccessory {
5
+ constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
+ super(Service, Characteristic, accessory, config, log, isGrouped);
7
+ this.setup(CharacteristicKey.Active, Characteristic.Active.INACTIVE, 'topicGetActive', this.bindOnUpdateNumericBoolean(CharacteristicKey.Active, 'valueStateActive', strings.heaterCooler.active, strings.heaterCooler.notActive), true, 'topicSetActive', this.onSetActive.bind(this));
8
+ this.setup(CharacteristicKey.LockPhysicalControls, Characteristic.LockPhysicalControls.CONTROL_LOCK_DISABLED, 'topicGetLockPhysicalControls', this.bindOnUpdateNumericBoolean(CharacteristicKey.LockPhysicalControls, 'valueControlLock', strings.heaterCooler.controlsLocked, strings.heaterCooler.controlsUnLocked), false, 'topicSetLockPhysicalControls', this.onSetLockControls.bind(this));
9
+ this.setup(CharacteristicKey.RotationSpeed, 0, 'topicGetRotationSpeed', this.bindOnUpdateNumeric(CharacteristicKey.RotationSpeed, strings.heaterCooler.rotationUpdate), false, 'topicSetRotationSpeed', this.onSetRotationSpeed.bind(this));
10
+ this.setup(CharacteristicKey.SwingMode, Characteristic.SwingMode.SWING_DISABLED, 'topicGetSwingMode', this.bindOnUpdateNumericBoolean(CharacteristicKey.SwingMode, 'valueSwingEnabled', strings.heaterCooler.swingEnabled, strings.heaterCooler.swingDisabled), false, 'topicSetSwingMode', this.onSetSwingMode.bind(this));
11
+ }
12
+ async onSetActive(value) {
13
+ if (!this.assert('valueStateActive', 'valueStateInactive')) {
14
+ return;
15
+ }
16
+ const active = value === this.Characteristic.Active.ACTIVE;
17
+ const logString = active ? strings.heaterCooler.activeSet : strings.heaterCooler.inactiveSet;
18
+ const publish = active ? this.config.valueStateActive : this.config.valueStateInactive;
19
+ this.onSet(CharacteristicKey.Active, value, publish, 'topicSetActive', logString);
20
+ }
21
+ async onSetLockControls(value) {
22
+ if (!this.assert('valueControlLock', 'valueControlUnlock')) {
23
+ return;
24
+ }
25
+ const lock = value === this.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED;
26
+ const logString = lock ? strings.heaterCooler.controlsLockFuture : strings.heaterCooler.controlsUnlockFuture;
27
+ const publish = lock ? this.config.valueControlLock : this.config.valueControlUnlock;
28
+ this.onSet(CharacteristicKey.LockPhysicalControls, value, publish, 'topicSetLockPhysicalControls', logString);
29
+ }
30
+ async onSetRotationSpeed(value) {
31
+ const logString = strings.heaterCooler.rotationSet.replace('%d', value.toString());
32
+ this.onSet(CharacteristicKey.RotationSpeed, value, value, 'topicSetRotationSpeed', logString);
33
+ }
34
+ async onSetSwingMode(value) {
35
+ if (!this.assert('valueSwingEnabled', 'valueSwingDisabled')) {
36
+ return;
37
+ }
38
+ const swing = value === this.Characteristic.SwingMode.SWING_ENABLED;
39
+ const logString = swing ? strings.heaterCooler.swingEnabledFuture : strings.heaterCooler.swingDisabledFuture;
40
+ const publish = swing ? this.config.valueSwingEnabled : this.config.valueSwingDisabled;
41
+ this.onSet(CharacteristicKey.SwingMode, value, publish, 'topicSetSwingMode', logString);
42
+ }
43
+ }
44
+ //# sourceMappingURL=active.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active.js","sourceRoot":"","sources":["../../../src/accessory/climate/active.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { PlatformAccessory } from 'homebridge';
2
+ import { ActiveClimateAccessory } from './active.js';
3
+ import { AccessoryType } from '../../model/enums.js';
4
+ import { CharacteristicType, ServiceType, FanV2Config } from '../../model/types.js';
5
+ import { Log } from '../../tools/log.js';
6
+ export declare class FanV2Accessory extends ActiveClimateAccessory<FanV2Config> {
7
+ private readonly CURRENT_STATE_MAP;
8
+ private readonly TARGET_STATE_MAP;
9
+ constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: FanV2Config, log: Log, isGrouped: boolean);
10
+ protected getAccessoryType(): AccessoryType;
11
+ private onCurrentStateUpdate;
12
+ private onTargetStateUpdate;
13
+ private onSetTargetState;
14
+ private onSetDirection;
15
+ private fromCVState;
16
+ private toCurrentCVState;
17
+ private toTargetCVState;
18
+ private stateStringForCurrentCV;
19
+ private stateStringForTargetCV;
20
+ }
@@ -0,0 +1,122 @@
1
+ import { ActiveClimateAccessory } from './active.js';
2
+ import { strings } from '../../i18n/i18n.js';
3
+ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
+ export class FanV2Accessory extends ActiveClimateAccessory {
5
+ CURRENT_STATE_MAP;
6
+ TARGET_STATE_MAP;
7
+ constructor(Service, Characteristic, accessory, config, log, isGrouped) {
8
+ super(Service, Characteristic, accessory, config, log, isGrouped);
9
+ this.CURRENT_STATE_MAP = new Map([
10
+ ['valueModeInactive', Characteristic.CurrentFanState.INACTIVE],
11
+ ['valueModeIdle', Characteristic.CurrentFanState.IDLE],
12
+ ['valueModeBlowing', Characteristic.CurrentFanState.BLOWING_AIR],
13
+ ]);
14
+ this.TARGET_STATE_MAP = new Map([
15
+ ['valueModeManual', Characteristic.TargetFanState.MANUAL],
16
+ ['valueModeAuto', Characteristic.TargetFanState.AUTO],
17
+ ]);
18
+ const validCurrentStates = Array.from(this.CURRENT_STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
19
+ if (config.topicGetCurrentFanState !== undefined && validCurrentStates.length === 0) {
20
+ this.log.error(strings.fanv2.noCurrentStateValues, this.name);
21
+ return;
22
+ }
23
+ this.setup(CharacteristicKey.CurrentFanState, this.CURRENT_STATE_MAP.get(validCurrentStates[0]), 'topicGetCurrentFanState', this.onCurrentStateUpdate.bind(this), false)
24
+ ?.setProps({ validValues: validCurrentStates.map((key) => this.CURRENT_STATE_MAP.get(key)) });
25
+ const validTargetStates = Array.from(this.TARGET_STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
26
+ if (config.topicGetTargetFanState !== undefined && validTargetStates.length === 0) {
27
+ this.log.error(strings.fanv2.noTargetStateValues, this.name);
28
+ return;
29
+ }
30
+ this.setup(CharacteristicKey.TargetFanState, this.TARGET_STATE_MAP.get(validTargetStates[0]), 'topicGetTargetFanState', this.onTargetStateUpdate.bind(this), false, 'topicSetTargetFanState', this.onSetTargetState.bind(this))
31
+ ?.setProps({ validValues: validTargetStates.map((key) => this.TARGET_STATE_MAP.get(key)) });
32
+ this.setup(CharacteristicKey.RotationDirection, Characteristic.RotationDirection.CLOCKWISE, 'topicGetRotationDirection', this.bindOnUpdateNumericBoolean(CharacteristicKey.RotationDirection, 'valueDirectionCounterClockwise', strings.fanv2.clockwise, strings.fanv2.counterClockwise), false, 'topicSetRotationDirection', this.onSetDirection.bind(this));
33
+ }
34
+ getAccessoryType() {
35
+ return AccessoryType.Fanv2;
36
+ }
37
+ async onCurrentStateUpdate(_topic, value) {
38
+ const state = this.toCurrentCVState(value);
39
+ if (state === undefined) {
40
+ return;
41
+ }
42
+ this.onUpdate(CharacteristicKey.CurrentFanState, state, this.stateStringForCurrentCV(state));
43
+ }
44
+ async onTargetStateUpdate(_topic, value) {
45
+ const state = this.toTargetCVState(value);
46
+ if (state === undefined) {
47
+ return;
48
+ }
49
+ this.onUpdate(CharacteristicKey.TargetFanState, state, this.stateStringForTargetCV(state));
50
+ }
51
+ async onSetTargetState(value) {
52
+ const target = this.fromCVState(value);
53
+ if (target === undefined) {
54
+ return;
55
+ }
56
+ this.onSet(CharacteristicKey.TargetFanState, value, target, 'topicSetTargetFanState', this.stateStringForTargetCV(value));
57
+ }
58
+ async onSetDirection(value) {
59
+ if (!this.assert('valueDirectionClockwise', 'valueDirectionCounterClockwise')) {
60
+ return;
61
+ }
62
+ const clockwise = value === this.Characteristic.RotationDirection.CLOCKWISE;
63
+ const logString = clockwise ? strings.fanv2.setDirectionClockwise : strings.fanv2.setDirectionCounterClockwise;
64
+ const publish = clockwise ? this.config.valueDirectionClockwise : this.config.valueDirectionCounterClockwise;
65
+ this.onSet(CharacteristicKey.RotationDirection, value, publish, 'topicSetRotationDirection', logString);
66
+ }
67
+ fromCVState(value) {
68
+ let primative = undefined;
69
+ this.TARGET_STATE_MAP.forEach((test, key) => {
70
+ if (value === test) {
71
+ primative = this.getPrimitiveValue(key);
72
+ }
73
+ });
74
+ if (primative === undefined) {
75
+ this.log.error(strings.fanv2.badValue, this.name, `'${value}'`);
76
+ }
77
+ return primative;
78
+ }
79
+ toCurrentCVState(value) {
80
+ switch (value) {
81
+ case this.getPrimitiveValue('valueModeInactive', false):
82
+ return this.CURRENT_STATE_MAP.get('valueModeInactive');
83
+ case this.getPrimitiveValue('valueModeIdle', false):
84
+ return this.CURRENT_STATE_MAP.get('valueModeIdle');
85
+ case this.getPrimitiveValue('valueModeBlowing', false):
86
+ return this.CURRENT_STATE_MAP.get('valueModeBlowing');
87
+ }
88
+ this.logIfDesired(strings.fanv2.unknownValue, `'${value}'`);
89
+ }
90
+ toTargetCVState(value) {
91
+ switch (value) {
92
+ case this.getPrimitiveValue('valueModeAuto', false):
93
+ return this.TARGET_STATE_MAP.get('valueModeAuto');
94
+ case this.getPrimitiveValue('valueModeManual', false):
95
+ return this.TARGET_STATE_MAP.get('valueModeManual');
96
+ }
97
+ this.logIfDesired(strings.fanv2.unknownValue, `'${value}'`);
98
+ }
99
+ stateStringForCurrentCV(state) {
100
+ switch (state) {
101
+ case this.Characteristic.CurrentFanState.INACTIVE:
102
+ return strings.fanv2.stateInactive;
103
+ case this.Characteristic.CurrentFanState.IDLE:
104
+ return strings.fanv2.stateIdle;
105
+ case this.Characteristic.CurrentFanState.BLOWING_AIR:
106
+ return strings.fanv2.stateBlowing;
107
+ default:
108
+ return strings.fanv2.stateUnknown;
109
+ }
110
+ }
111
+ stateStringForTargetCV(state) {
112
+ switch (state) {
113
+ case this.Characteristic.TargetFanState.AUTO:
114
+ return strings.fanv2.stateAuto;
115
+ case this.Characteristic.TargetFanState.MANUAL:
116
+ return strings.fanv2.stateManual;
117
+ default:
118
+ return strings.fanv2.stateUnknown;
119
+ }
120
+ }
121
+ }
122
+ //# sourceMappingURL=fan2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fan2.js","sourceRoot":"","sources":["../../../src/accessory/climate/fan2.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { PlatformAccessory } from 'homebridge';
2
- import { ClimateControlAccessory } from './climate.js';
2
+ import { ActiveClimateAccessory } from './active.js';
3
3
  import { AccessoryType } from '../../model/enums.js';
4
4
  import { CharacteristicType, ServiceType, HeaterCoolerConfig } from '../../model/types.js';
5
5
  import { Log } from '../../tools/log.js';
6
- export declare class HeaterCoolerAccessory extends ClimateControlAccessory<HeaterCoolerConfig> {
6
+ export declare class HeaterCoolerAccessory extends ActiveClimateAccessory<HeaterCoolerConfig> {
7
7
  private readonly CURRENT_STATE_MAP;
8
8
  private readonly TARGET_STATE_MAP;
9
9
  constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: HeaterCoolerConfig, log: Log, isGrouped: boolean);
@@ -11,10 +11,6 @@ export declare class HeaterCoolerAccessory extends ClimateControlAccessory<Heate
11
11
  private onCurrentStateUpdate;
12
12
  private onTargetStateUpdate;
13
13
  private onSetTargetState;
14
- private onSetActive;
15
- private onSetLockControls;
16
- private onSetRotationSpeed;
17
- private onSetSwingMode;
18
14
  private fromCVState;
19
15
  private toCurrentCVState;
20
16
  private toTargetCVState;
@@ -1,11 +1,13 @@
1
- import { ClimateControlAccessory } from './climate.js';
1
+ import { ActiveClimateAccessory } from './active.js';
2
+ import { FilterMaintenance } from '../addons/filter.js';
2
3
  import { strings } from '../../i18n/i18n.js';
3
4
  import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
- export class HeaterCoolerAccessory extends ClimateControlAccessory {
5
+ export class HeaterCoolerAccessory extends ActiveClimateAccessory {
5
6
  CURRENT_STATE_MAP;
6
7
  TARGET_STATE_MAP;
7
8
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
8
9
  super(Service, Characteristic, accessory, config, log, isGrouped);
10
+ this.setupTemperatureControlCharacteristics();
9
11
  this.CURRENT_STATE_MAP = new Map([
10
12
  ['valueModeInactive', Characteristic.CurrentHeaterCoolerState.INACTIVE],
11
13
  ['valueModeIdle', Characteristic.CurrentHeaterCoolerState.IDLE],
@@ -22,19 +24,16 @@ export class HeaterCoolerAccessory extends ClimateControlAccessory {
22
24
  this.log.error(strings.heaterCooler.noStateValues, this.name);
23
25
  return;
24
26
  }
25
- this.setupCharacteristic(CharacteristicKey.CurrentHeaterCoolerState, this.CURRENT_STATE_MAP.get(validCurrentStates[0]), 'topicGetCurrentHeaterCoolerState', this.onCurrentStateUpdate.bind(this), true)
27
+ this.setup(CharacteristicKey.CurrentHeaterCoolerState, this.CURRENT_STATE_MAP.get(validCurrentStates[0]), 'topicGetCurrentHeaterCoolerState', this.onCurrentStateUpdate.bind(this), true)
26
28
  ?.setProps({ validValues: validCurrentStates.map((key) => this.CURRENT_STATE_MAP.get(key)) });
27
29
  const validTargetStates = Array.from(this.TARGET_STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
28
30
  if (validTargetStates.length === 0) {
29
31
  this.log.error(strings.heaterCooler.noStateValues, this.name);
30
32
  return;
31
33
  }
32
- this.setupCharacteristic(CharacteristicKey.TargetHeaterCoolerState, this.TARGET_STATE_MAP.get(validTargetStates[0]), 'topicGetTargetHeaterCoolerState', this.onTargetStateUpdate.bind(this), true, 'topicSetTargetHeaterCoolerState', this.onSetTargetState.bind(this))
34
+ this.setup(CharacteristicKey.TargetHeaterCoolerState, this.TARGET_STATE_MAP.get(validTargetStates[0]), 'topicGetTargetHeaterCoolerState', this.onTargetStateUpdate.bind(this), true, 'topicSetTargetHeaterCoolerState', this.onSetTargetState.bind(this))
33
35
  ?.setProps({ validValues: validTargetStates.map((key) => this.TARGET_STATE_MAP.get(key)) });
34
- this.setupCharacteristic(CharacteristicKey.Active, 0, 'topicGetActive', this.bindOnUpdateNumericBoolean(CharacteristicKey.Active, 'valueStateActive', strings.heaterCooler.active, strings.heaterCooler.notActive), true, 'topicSetActive', this.onSetActive.bind(this));
35
- this.setupCharacteristic(CharacteristicKey.LockPhysicalControls, Characteristic.LockPhysicalControls.CONTROL_LOCK_DISABLED, 'topicGetLockPhysicalControls', this.bindOnUpdateNumericBoolean(CharacteristicKey.LockPhysicalControls, 'valueControlLock', strings.heaterCooler.controlsLocked, strings.heaterCooler.controlsUnLocked), false, 'topicSetLockPhysicalControls', this.onSetLockControls.bind(this));
36
- this.setupCharacteristic(CharacteristicKey.RotationSpeed, 0, 'topicGetRotationSpeed', this.bindOnUpdateNumeric(CharacteristicKey.RotationSpeed, strings.heaterCooler.rotationUpdate), false, 'topicSetRotationSpeed', this.onSetRotationSpeed.bind(this));
37
- this.setupCharacteristic(CharacteristicKey.SwingMode, Characteristic.SwingMode.SWING_DISABLED, 'topicGetSwingMode', this.bindOnUpdateNumericBoolean(CharacteristicKey.SwingMode, 'valueSwingEnabled', strings.heaterCooler.swingEnabled, strings.heaterCooler.swingDisabled), false, 'topicSetSwingMode', this.onSetSwingMode.bind(this));
36
+ this.addTopicHandlers(FilterMaintenance.topicHandlers(Service, this, config));
38
37
  }
39
38
  getAccessoryType() {
40
39
  return AccessoryType.HeaterCooler;
@@ -60,37 +59,6 @@ export class HeaterCoolerAccessory extends ClimateControlAccessory {
60
59
  }
61
60
  this.onSet(CharacteristicKey.TargetHeaterCoolerState, value, target, 'topicSetTargetHeaterCoolerState', this.stateStringForTargetCV(value));
62
61
  }
63
- async onSetActive(value) {
64
- if (!this.assert('valueStateActive', 'valueStateInactive')) {
65
- return;
66
- }
67
- const active = value === this.Characteristic.Active.ACTIVE;
68
- const logString = active ? strings.heaterCooler.activeSet : strings.heaterCooler.inactiveSet;
69
- const publish = active ? this.config.valueStateActive : this.config.valueStateInactive;
70
- this.onSet(CharacteristicKey.Active, value, publish, 'topicSetActive', logString);
71
- }
72
- async onSetLockControls(value) {
73
- if (!this.assert('valueControlLock', 'valueControlUnlock')) {
74
- return;
75
- }
76
- const lock = value === this.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED;
77
- const logString = lock ? strings.heaterCooler.controlsLockFuture : strings.heaterCooler.controlsUnlockFuture;
78
- const publish = lock ? this.config.valueControlLock : this.config.valueControlUnlock;
79
- this.onSet(CharacteristicKey.LockPhysicalControls, value, publish, 'topicSetLockPhysicalControls', logString);
80
- }
81
- async onSetRotationSpeed(value) {
82
- const logString = strings.heaterCooler.rotationSet.replace('%d', value.toString());
83
- this.onSet(CharacteristicKey.RotationSpeed, value, value, 'topicSetRotationSpeed', logString);
84
- }
85
- async onSetSwingMode(value) {
86
- if (!this.assert('valueSwingEnabled', 'valueSwingDisabled')) {
87
- return;
88
- }
89
- const swing = value === this.Characteristic.SwingMode.SWING_ENABLED;
90
- const logString = swing ? strings.heaterCooler.swingEnabledFuture : strings.heaterCooler.swingDisabledFuture;
91
- const publish = swing ? this.config.valueSwingEnabled : this.config.valueSwingDisabled;
92
- this.onSet(CharacteristicKey.SwingMode, value, publish, 'topicSetSwingMode', logString);
93
- }
94
62
  fromCVState(value) {
95
63
  let primative = undefined;
96
64
  this.TARGET_STATE_MAP.forEach((test, key) => {
@@ -1 +1 @@
1
- {"version":3,"file":"heaterCooler.js","sourceRoot":"","sources":["../../../src/accessory/climate/heaterCooler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,qBAAsB,SAAQ,uBAA2C;IAEnE,iBAAiB,CAAwC;IACzD,gBAAgB,CAAwC;IAEzE,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EACtF,MAA0B,EAAE,GAAQ,EAAE,SAAkB;QACxD,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC;YAC/B,CAAC,mBAAmB,EAAE,cAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC;YACvE,CAAC,eAAe,EAAE,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC/D,CAAC,eAAe,EAAE,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;YAClE,CAAC,eAAe,EAAE,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;SACnE,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC;YAC9B,CAAC,eAAe,EAAE,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC9D,CAAC,eAAe,EAAE,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC9D,CAAC,eAAe,EAAE,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;QACjI,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAE,EACrH,kCAAkC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;YAC/E,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAEjG,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;QAC/H,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAE,EAClH,iCAAiC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAC5E,iCAAiC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAE/F,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAClD,gBAAgB,EAChB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,EAChJ,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9C,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,cAAc,CAAC,oBAAoB,CAAC,qBAAqB,EACxH,8BAA8B,EAC9B,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,oBAAoB,EAAE,kBAAkB,EAC1D,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAC7E,KAAK,EACL,8BAA8B,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAClE,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,EACzD,uBAAuB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,KAAK,EAC9H,uBAAuB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5D,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,cAAc,EAC3F,mBAAmB,EACnB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,EAC9E,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,EACxE,KAAK,EACL,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,KAAqB;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxG,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,KAAqB;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtG,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9I,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAA0B;QAElD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;QAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACvF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAA0B;QAExD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,oBAAoB,CAAC;QACrF,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAmB,CAAC;QACvF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,SAAS,CAAC,CAAC;IAChH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAA0B;QACzD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,KAAe,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAC1G,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAA0B;QAErD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC;QACpE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC7G,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAmB,CAAC;QACzF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAC1F,CAAC;IAEO,WAAW,CAAC,KAA0B;QAE5C,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAqB;QAC5C,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,KAAK,CAAC;gBACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACzD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IACrE,CAAC;IAEO,eAAe,CAAC,KAAqB;QAC3C,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IACrE,CAAC;IAEO,uBAAuB,CAAC,KAA0B;QACxD,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,QAAQ;gBACxD,OAAO,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YAC5C,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI;gBACpD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO;gBACvD,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3C,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO;gBACvD,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3C;gBACE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,KAA0B;QACvD,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBACnD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBACnD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBACnD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC;gBACE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"heaterCooler.js","sourceRoot":"","sources":["../../../src/accessory/climate/heaterCooler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,qBAAsB,SAAQ,sBAA0C;IAElE,iBAAiB,CAAwC;IACzD,gBAAgB,CAAwC;IAEzE,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EACtF,MAA0B,EAAE,GAAQ,EAAE,SAAkB;QACxD,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,sCAAsC,EAAE,CAAC;QAE9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC;YAC/B,CAAC,mBAAmB,EAAE,cAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC;YACvE,CAAC,eAAe,EAAE,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC/D,CAAC,eAAe,EAAE,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;YAClE,CAAC,eAAe,EAAE,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;SACnE,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC;YAC9B,CAAC,eAAe,EAAE,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC9D,CAAC,eAAe,EAAE,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC9D,CAAC,eAAe,EAAE,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;QACjI,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAE,EACvG,kCAAkC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;YAC/E,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAEjG,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;QAC/H,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAE,EACpG,iCAAiC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAC5E,iCAAiC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAE/F,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,KAAqB;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxG,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,KAAqB;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtG,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9I,CAAC;IAEO,WAAW,CAAC,KAA0B;QAE5C,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAqB;QAC5C,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,KAAK,CAAC;gBACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACzD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IACrE,CAAC;IAEO,eAAe,CAAC,KAAqB;QAC3C,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IACrE,CAAC;IAEO,uBAAuB,CAAC,KAA0B;QACxD,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,QAAQ;gBACxD,OAAO,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YAC5C,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI;gBACpD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO;gBACvD,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3C,KAAK,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO;gBACvD,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3C;gBACE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,KAA0B;QACvD,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBACnD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBACnD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBACnD,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACxC;gBACE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import { PlatformAccessory } from 'homebridge';
2
+ import { ActiveClimateAccessory } from './active.js';
3
+ import { AccessoryType } from '../../model/enums.js';
4
+ import { CharacteristicType, ServiceType, PurifierConfig } from '../../model/types.js';
5
+ import { Log } from '../../tools/log.js';
6
+ export declare class PurifierAccessory extends ActiveClimateAccessory<PurifierConfig> {
7
+ private readonly CURRENT_STATE_MAP;
8
+ private readonly TARGET_STATE_MAP;
9
+ constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: PurifierConfig, log: Log, isGrouped: boolean);
10
+ protected getAccessoryType(): AccessoryType;
11
+ private onCurrentStateUpdate;
12
+ private onTargetStateUpdate;
13
+ private onSetTargetState;
14
+ private fromCVState;
15
+ private toCurrentCVState;
16
+ private toTargetCVState;
17
+ private stateStringForCurrentCV;
18
+ private stateStringForTargetCV;
19
+ }