homebridge-easy-mqtt 1.4.0-beta.12 → 1.4.0-beta.14

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 (50) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/README.md +24 -0
  3. package/config.schema.json +271 -10
  4. package/dist/accessory/abstract/base.js +1 -1
  5. package/dist/accessory/abstract/base.js.map +1 -1
  6. package/dist/accessory/abstract/common.d.ts +13 -9
  7. package/dist/accessory/abstract/common.js +13 -14
  8. package/dist/accessory/abstract/common.js.map +1 -1
  9. package/dist/accessory/abstract/helper.d.ts +1 -0
  10. package/dist/accessory/abstract/helper.js +7 -0
  11. package/dist/accessory/abstract/helper.js.map +1 -1
  12. package/dist/accessory/abstract/mqtt.d.ts +11 -4
  13. package/dist/accessory/abstract/mqtt.js +25 -9
  14. package/dist/accessory/abstract/mqtt.js.map +1 -1
  15. package/dist/accessory/addons/addon.d.ts +19 -7
  16. package/dist/accessory/addons/addon.js +39 -12
  17. package/dist/accessory/addons/addon.js.map +1 -1
  18. package/dist/accessory/addons/filter.d.ts +6 -6
  19. package/dist/accessory/addons/filter.js +6 -5
  20. package/dist/accessory/addons/filter.js.map +1 -1
  21. package/dist/accessory/climate/fan.d.ts +20 -0
  22. package/dist/accessory/climate/fan.js +122 -0
  23. package/dist/accessory/climate/fan.js.map +1 -0
  24. package/dist/accessory/climate/heaterCooler.js +1 -1
  25. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  26. package/dist/accessory/climate/purifier.js +1 -1
  27. package/dist/accessory/climate/purifier.js.map +1 -1
  28. package/dist/accessory/climate/thermostat.js +0 -2
  29. package/dist/accessory/climate/thermostat.js.map +1 -1
  30. package/dist/homebridge/platform.js +4 -2
  31. package/dist/homebridge/platform.js.map +1 -1
  32. package/dist/homebridge-ui/public/index.html +1 -1
  33. package/dist/homebridge-ui/public/ui.js +1 -1
  34. package/dist/i18n/en.d.ts +28 -0
  35. package/dist/i18n/en.js +28 -0
  36. package/dist/i18n/en.js.map +1 -1
  37. package/dist/i18n/fr.d.ts +28 -0
  38. package/dist/i18n/i18n.d.ts +28 -0
  39. package/dist/i18n/ro.d.ts +28 -0
  40. package/dist/i18n/template.d.ts +28 -0
  41. package/dist/model/enums.d.ts +4 -0
  42. package/dist/model/enums.js +4 -0
  43. package/dist/model/enums.js.map +1 -1
  44. package/dist/model/mqtt.js +21 -21
  45. package/dist/model/mqtt.js.map +1 -1
  46. package/dist/model/types.d.ts +17 -2
  47. package/dist/tools/properties.d.ts +11 -0
  48. package/dist/tools/properties.js +73 -0
  49. package/dist/tools/properties.js.map +1 -0
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/accessory/abstract/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/accessory/abstract/helper.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,21 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  import { CharacteristicType, MQTTAccessoryConfig, ServiceType } from '../../model/types.js';
5
5
  import { Log } from '../../tools/log.js';
6
6
  export declare abstract class MQTTAccessory<C extends MQTTAccessoryConfig> extends Common<C> {
7
+ readonly Characteristic: CharacteristicType;
8
+ readonly platformAccessory: PlatformAccessory;
9
+ readonly config: C;
10
+ readonly log: Log;
7
11
  private readonly mqttClient;
8
- protected readonly accessoryService: Service;
9
- constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, isGrouped: boolean);
12
+ private readonly accessoryService;
13
+ constructor(Service: ServiceType, Characteristic: CharacteristicType, platformAccessory: PlatformAccessory, config: C, log: Log, isGrouped: boolean);
10
14
  protected abstract getAccessoryType(): AccessoryType;
11
- protected get service(): Service;
15
+ get service(): Service;
16
+ get identifier(): string;
17
+ get useStoredProperties(): boolean;
18
+ get disableLogging(): boolean;
12
19
  get subtype(): string | undefined;
13
20
  private setupCustomCharacteristics;
14
- protected publish(topic: string, value: PrimitiveTypes): void;
21
+ publish(topic: string, value: PrimitiveTypes): void;
15
22
  teardown(): void;
16
23
  protected setCharacteristicValue(key: CharacteristicKey, value: CharacteristicValue): void;
17
24
  }
@@ -2,13 +2,20 @@ import { Common } from './common.js';
2
2
  import { CustomCharacteristic } from './customCharacteristic.js';
3
3
  import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  import { MQTT } from '../../model/mqtt.js';
5
+ import { createIdentifier } from './helper.js';
5
6
  export class MQTTAccessory extends Common {
7
+ Characteristic;
8
+ platformAccessory;
9
+ config;
10
+ log;
6
11
  mqttClient;
7
12
  accessoryService;
8
- constructor(Service, Characteristic, accessory, config, log, isGrouped) {
9
- super(Characteristic, log, config.disableLogging, config, config.info.name, (topic, value) => {
10
- this.mqttClient?.publish(topic, value);
11
- });
13
+ constructor(Service, Characteristic, platformAccessory, config, log, isGrouped) {
14
+ super(config.info.name);
15
+ this.Characteristic = Characteristic;
16
+ this.platformAccessory = platformAccessory;
17
+ this.config = config;
18
+ this.log = log;
12
19
  this.mqttClient = MQTT.connect(log, config.mqtt, this.name, (client) => {
13
20
  this.topicHandlers.forEach(topicHandler => {
14
21
  client.subscribe(topicHandler.topic, topicHandler.handler);
@@ -16,19 +23,19 @@ export class MQTTAccessory extends Common {
16
23
  });
17
24
  const serviceInstance = Service[this.getAccessoryType()];
18
25
  if (isGrouped) {
19
- let accessoryService = accessory.getServiceById(serviceInstance, config.info.id);
26
+ let accessoryService = platformAccessory.getServiceById(serviceInstance, this.identifier);
20
27
  if (!accessoryService) {
21
- accessoryService = accessory.addService(serviceInstance, config.info.name, config.info.id);
28
+ accessoryService = platformAccessory.addService(serviceInstance, config.info.name, this.identifier);
22
29
  accessoryService.setCharacteristic(Characteristic.ConfiguredName, config.info.name);
23
30
  }
24
31
  this.accessoryService = accessoryService;
25
32
  return;
26
33
  }
27
- this.accessoryService = accessory.getService(serviceInstance) || accessory.addService(serviceInstance);
34
+ this.accessoryService = platformAccessory.getService(serviceInstance) || platformAccessory.addService(serviceInstance);
28
35
  for (const type of Object.values(AccessoryType)) {
29
- const existingService = accessory.getService(Service[type]);
36
+ const existingService = platformAccessory.getService(Service[type]);
30
37
  if (existingService && type !== config.info.type) {
31
- accessory.removeService(existingService);
38
+ platformAccessory.removeService(existingService);
32
39
  }
33
40
  }
34
41
  this.setupCustomCharacteristics();
@@ -36,6 +43,15 @@ export class MQTTAccessory extends Common {
36
43
  get service() {
37
44
  return this.accessoryService;
38
45
  }
46
+ get identifier() {
47
+ return createIdentifier(this.config.info);
48
+ }
49
+ get useStoredProperties() {
50
+ return this.config.resetOnRestart !== true;
51
+ }
52
+ get disableLogging() {
53
+ return this.config.disableLogging;
54
+ }
39
55
  get subtype() {
40
56
  return this.accessoryService.subtype;
41
57
  }
@@ -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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"}
@@ -1,12 +1,24 @@
1
- import { PlatformAccessory, Service } from 'homebridge';
2
- import { Common, PublishHandler } from '../abstract/common.js';
1
+ import { PrimitiveTypes, Service } from 'homebridge';
2
+ import { Common } from '../abstract/common.js';
3
3
  import { AddonType } from '../../model/enums.js';
4
- import { AddonConfig, CharacteristicType, ServiceType } from '../../model/types.js';
4
+ import { AddonConfig, CharacteristicType, MQTTAccessoryConfig } from '../../model/types.js';
5
5
  import { Log } from '../../tools/log.js';
6
- type AddonConstructor<C extends AddonConfig, A extends Addon<C>> = new (service: Service, Characteristic: CharacteristicType, log: Log, disableLogging: boolean, config: C, name: string, publishHandler: PublishHandler) => A;
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];
7
9
  export declare abstract class Addon<C extends AddonConfig> extends Common<C> {
8
- protected readonly service: Service;
9
- static new<C extends AddonConfig, A extends Addon<C>>(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, parentService: Service, name: string, config: C, log: Log, disableLogging: boolean, publishHandler: PublishHandler, addonType: AddonType, constructor: AddonConstructor<C, A>, required: (keyof C)[]): A | undefined;
10
- protected constructor(service: Service, Characteristic: CharacteristicType, log: Log, disableLogging: boolean, config: C, name: string, publishHandler: PublishHandler);
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;
11
23
  }
12
24
  export {};
@@ -1,25 +1,52 @@
1
1
  import { Common } from '../abstract/common.js';
2
2
  import { assert } from '../../tools/validation.js';
3
3
  export class Addon extends Common {
4
- service;
5
- static new(Service, Characteristic, accessory, parentService, name, config, log, disableLogging, publishHandler, addonType, constructor, required) {
6
- const addonServiceInstance = Service[addonType];
7
- const existingAddonService = accessory.getService(addonServiceInstance);
8
- if (required.filter((key) => config[key] !== undefined).length === 0 || !assert(log, name, config, ...required)) {
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)) {
9
10
  if (existingAddonService !== undefined) {
10
- accessory.removeService(existingAddonService);
11
+ parentAccessory.platformAccessory.removeService(existingAddonService);
11
12
  }
12
13
  return;
13
14
  }
14
- const addonService = existingAddonService ?? accessory.addService(addonServiceInstance);
15
+ const addonService = existingAddonService ?? parentAccessory.platformAccessory.addService(addonServiceInstance);
15
16
  if (existingAddonService === undefined) {
16
- parentService.addLinkedService(addonService);
17
+ parentAccessory.service.addLinkedService(addonService);
17
18
  }
18
- return new constructor(addonService, Characteristic, log, disableLogging, config, name, publishHandler);
19
+ return new constructor(addonService, parentAccessory, config);
19
20
  }
20
- constructor(service, Characteristic, log, disableLogging, config, name, publishHandler) {
21
- super(Characteristic, log, disableLogging, config, name, publishHandler);
22
- this.service = service;
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);
23
50
  }
24
51
  }
25
52
  //# sourceMappingURL=addon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/accessory/addons/addon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAkB,MAAM,uBAAuB,CAAC;AAM/D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAKnD,MAAM,OAAgB,KAA6B,SAAQ,MAAS;IAqC7C;IAnCrB,MAAM,CAAC,GAAG,CACR,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,aAAsB,EACtB,IAAY,EACZ,MAAS,EACT,GAAQ,EACR,cAAuB,EACvB,cAA8B,EAC9B,SAAoB,EACpB,WAAmC,EACnC,QAAqB;QAGrB,MAAM,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAExE,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,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YAClH,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACvC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAChD,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAExF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1G,CAAC;IAED,YACqB,OAAgB,EACnC,cAAkC,EAClC,GAAQ,EACR,cAAuB,EACvB,MAAS,EACT,IAAY,EACZ,cAA8B;QAE9B,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QARtD,YAAO,GAAP,OAAO,CAAS;IASrC,CAAC;CACF"}
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"}
@@ -1,11 +1,11 @@
1
- import { PlatformAccessory, Service } from 'homebridge';
1
+ import { Service } from 'homebridge';
2
2
  import { Addon } from './addon.js';
3
- import { PublishHandler, TopicHandler } from '../abstract/common.js';
4
- import { CharacteristicType, FilterMaintenanceConfig, ServiceType } from '../../model/types.js';
5
- import { Log } from '../../tools/log.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
6
  export declare class FilterMaintenance extends Addon<FilterMaintenanceConfig> {
7
- static topicHandlers(Service: ServiceType, Characteristic: CharacteristicType, log: Log, disableLogging: boolean, accessory: PlatformAccessory, parentService: Service, config: FilterMaintenanceConfig, name: string, publishHandler: PublishHandler): TopicHandler[];
8
- constructor(service: Service, Characteristic: CharacteristicType, log: Log, disableLogging: boolean, config: FilterMaintenanceConfig, name: string, publishHandler: PublishHandler);
7
+ static topicHandlers(Service: ServiceType, parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, config: FilterMaintenanceConfig): TopicHandler[];
8
+ constructor(service: Service, parentAccessory: MQTTAccessory<MQTTAccessoryConfig>, config: FilterMaintenanceConfig);
9
9
  private onChangeIndicationUpdate;
10
10
  private onResetIndication;
11
11
  }
@@ -3,13 +3,14 @@ import { strings } from '../../i18n/i18n.js';
3
3
  import { AddonType, CharacteristicKey } from '../../model/enums.js';
4
4
  import { LogType } from '../../tools/log.js';
5
5
  export class FilterMaintenance extends Addon {
6
- static topicHandlers(Service, Characteristic, log, disableLogging, accessory, parentService, config, name, publishHandler) {
7
- const filterMaintenance = Addon.new(Service, Characteristic, accessory, parentService, name, config, log, disableLogging, publishHandler, AddonType.FilterMaintenance, FilterMaintenance, ['topicGetFilterChangeIndication']);
6
+ static topicHandlers(Service, parentAccessory, config) {
7
+ const FilterMaintenanceService = Service[AddonType.FilterMaintenance];
8
+ const filterMaintenance = Addon.new(parentAccessory, FilterMaintenanceService, config, ['topicGetFilterChangeIndication'], FilterMaintenance);
8
9
  return filterMaintenance?.topicHandlers ?? [];
9
10
  }
10
- constructor(service, Characteristic, log, disableLogging, config, name, publishHandler) {
11
- super(service, Characteristic, log, disableLogging, config, name, publishHandler);
12
- this.setupCharacteristic(CharacteristicKey.FilterChangeIndication, Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.onChangeIndicationUpdate.bind(this));
11
+ constructor(service, parentAccessory, config) {
12
+ super(parentAccessory, service, config);
13
+ this.setupCharacteristic(CharacteristicKey.FilterChangeIndication, this.Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.onChangeIndicationUpdate.bind(this));
13
14
  this.setupCharacteristic(CharacteristicKey.FilterLifeLevel, 100, 'topicGetFilterLifeLevel', this.bindOnUpdateNumeric(CharacteristicKey.FilterLifeLevel, strings.filter.level));
14
15
  this.setupCharacteristicOnSet(CharacteristicKey.ResetFilterIndication, 'topicResetFilterIndication', this.onResetIndication.bind(this));
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/accessory/addons/filter.ts"],"names":[],"mappings":"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"}
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,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EACrH,gCAAgC,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9E,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAC7D,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhH,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1I,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,20 @@
1
+ import { PlatformAccessory } from 'homebridge';
2
+ import { ActiveClimateAccessory } from './active.js';
3
+ import { AccessoryType } from '../../model/enums.js';
4
+ import { CharacteristicType, ServiceType, FanConfig } from '../../model/types.js';
5
+ import { Log } from '../../tools/log.js';
6
+ export declare class FanAccessory extends ActiveClimateAccessory<FanConfig> {
7
+ private readonly CURRENT_STATE_MAP;
8
+ private readonly TARGET_STATE_MAP;
9
+ constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: FanConfig, 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 FanAccessory 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
+ ['valueModeAuto', Characteristic.TargetFanState.AUTO],
16
+ ['valueModeManual', Characteristic.TargetFanState.MANUAL],
17
+ ]);
18
+ const validCurrentStates = Array.from(this.CURRENT_STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
19
+ if (validCurrentStates.length === 0) {
20
+ this.log.error(strings.fan.noCurrentStateValues, this.name);
21
+ return;
22
+ }
23
+ this.setupCharacteristic(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 (validTargetStates.length === 0) {
27
+ this.log.error(strings.fan.noTargetStateValues, this.name);
28
+ return;
29
+ }
30
+ this.setupCharacteristic(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.setupCharacteristic(CharacteristicKey.RotationDirection, Characteristic.RotationDirection.CLOCKWISE, 'topicGetRotationDirection', this.bindOnUpdateNumericBoolean(CharacteristicKey.RotationDirection, 'valueDirectionCounterClockwise', strings.fan.clockwise, strings.fan.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.fan.setDirectionClockwise : strings.fan.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.fan.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.fan.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.fan.unknownValue, `'${value}'`);
98
+ }
99
+ stateStringForCurrentCV(state) {
100
+ switch (state) {
101
+ case this.Characteristic.CurrentFanState.INACTIVE:
102
+ return strings.fan.stateInactive;
103
+ case this.Characteristic.CurrentFanState.IDLE:
104
+ return strings.fan.stateIdle;
105
+ case this.Characteristic.CurrentFanState.BLOWING_AIR:
106
+ return strings.fan.stateBlowing;
107
+ default:
108
+ return strings.fan.stateUnknown;
109
+ }
110
+ }
111
+ stateStringForTargetCV(state) {
112
+ switch (state) {
113
+ case this.Characteristic.TargetFanState.AUTO:
114
+ return strings.fan.stateAuto;
115
+ case this.Characteristic.TargetFanState.MANUAL:
116
+ return strings.fan.stateManual;
117
+ default:
118
+ return strings.fan.stateUnknown;
119
+ }
120
+ }
121
+ }
122
+ //# sourceMappingURL=fan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fan.js","sourceRoot":"","sources":["../../../src/accessory/climate/fan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,YAAa,SAAQ,sBAAiC;IAEhD,iBAAiB,CAA+B;IAChD,gBAAgB,CAA+B;IAEhE,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EACtF,MAAiB,EAAE,GAAQ,EAAE,SAAkB;QAC/C,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,eAAe,CAAC,QAAQ,CAAC;YAC9D,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;YACtD,CAAC,kBAAkB,EAAE,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC;SACjE,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC;YAC9B,CAAC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC;YACrD,CAAC,iBAAiB,EAAE,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC;SAC1D,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,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAE,EAC5G,yBAAyB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;YACvE,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,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAE,EACzG,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EACpE,wBAAwB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,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,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,SAAS,EACtG,2BAA2B,EAC3B,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,gCAAgC,EACnG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACtD,KAAK,EACL,2BAA2B,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5D,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,KAAK,CAAC;IAC7B,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,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,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,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7F,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,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5H,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAA0B;QAErD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,gCAAgC,CAAC,EAAE,CAAC;YAC9E,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC5E,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC3G,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA+B,CAAC;QAC/G,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,SAAS,CAAC,CAAC;IAG1G,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,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;QAChE,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,kBAAkB,EAAE,KAAK,CAAC;gBACpD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IAC5D,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,iBAAiB,EAAE,KAAK,CAAC;gBACnD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IAC5D,CAAC;IAEO,uBAAuB,CAAC,KAA0B;QACxD,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ;gBAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YACnC,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI;gBAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC/B,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW;gBAClD,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAClC;gBACE,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,KAA0B;QACvD,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI;gBAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC/B,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM;gBAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YACjC;gBACE,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAClC,CAAC;IACH,CAAC;CACF"}
@@ -33,7 +33,7 @@ export class HeaterCoolerAccessory extends ActiveClimateAccessory {
33
33
  }
34
34
  this.setupCharacteristic(CharacteristicKey.TargetHeaterCoolerState, this.TARGET_STATE_MAP.get(validTargetStates[0]), 'topicGetTargetHeaterCoolerState', this.onTargetStateUpdate.bind(this), true, 'topicSetTargetHeaterCoolerState', this.onSetTargetState.bind(this))
35
35
  ?.setProps({ validValues: validTargetStates.map((key) => this.TARGET_STATE_MAP.get(key)) });
36
- this.addTopicHandlers(FilterMaintenance.topicHandlers(Service, Characteristic, log, config.disableLogging, accessory, this.accessoryService, config, this.name, this.publish.bind(this)));
36
+ this.addTopicHandlers(FilterMaintenance.topicHandlers(Service, this, config));
37
37
  }
38
38
  getAccessoryType() {
39
39
  return AccessoryType.HeaterCooler;
@@ -1 +1 @@
1
- {"version":3,"file":"heaterCooler.js","sourceRoot":"","sources":["../../../src/accessory/climate/heaterCooler.ts"],"names":[],"mappings":"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"}
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,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,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"}
@@ -30,7 +30,7 @@ export class PurifierAccessory extends ActiveClimateAccessory {
30
30
  }
31
31
  this.setupCharacteristic(CharacteristicKey.TargetAirPurifierState, this.TARGET_STATE_MAP.get(validTargetStates[0]), 'topicGetTargetPurifierState', this.onTargetStateUpdate.bind(this), true, 'topicSetTargetPurifierState', this.onSetTargetState.bind(this))
32
32
  ?.setProps({ validValues: validTargetStates.map((key) => this.TARGET_STATE_MAP.get(key)) });
33
- this.addTopicHandlers(FilterMaintenance.topicHandlers(Service, Characteristic, log, config.disableLogging, accessory, this.accessoryService, config, this.name, this.publish.bind(this)));
33
+ this.addTopicHandlers(FilterMaintenance.topicHandlers(Service, this, config));
34
34
  }
35
35
  getAccessoryType() {
36
36
  return AccessoryType.AirPurifier;
@@ -1 +1 @@
1
- {"version":3,"file":"purifier.js","sourceRoot":"","sources":["../../../src/accessory/climate/purifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purifier.js","sourceRoot":"","sources":["../../../src/accessory/climate/purifier.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { TemperatureControlAccessory, DEFAULT_TEMPERATURE } from './temperatureControl.js';
2
- import { FilterMaintenance } from '../addons/filter.js';
3
2
  import { strings } from '../../i18n/i18n.js';
4
3
  import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
5
4
  export class ThermostatAccessory extends TemperatureControlAccessory {
@@ -26,7 +25,6 @@ export class ThermostatAccessory extends TemperatureControlAccessory {
26
25
  this.setupCharacteristic(CharacteristicKey.TargetTemperature, DEFAULT_TEMPERATURE, 'topicGetTargetTemperature', this.bindTemperatureUpdate(config, CharacteristicKey.TargetTemperature, strings.thermostat.temperatureTarget), true, 'topicSetTargetTemperature', this.onSetTemperature.bind(this));
27
26
  this.setupCharacteristic(CharacteristicKey.CurrentRelativeHumidity, 0, 'topicGetCurrentRelativeHumidity', this.bindOnUpdateNumeric(CharacteristicKey.CurrentRelativeHumidity, strings.climate.humidityUpdate), false);
28
27
  this.setupCharacteristic(CharacteristicKey.TargetRelativeHumidity, 0, 'topicGetTargetRelativeHumidity', this.bindOnUpdateNumeric(CharacteristicKey.TargetRelativeHumidity, strings.thermostat.humidityFuture), false, 'topicSetTargetRelativeHumidity', this.onSetHumidity.bind(this));
29
- this.addTopicHandlers(FilterMaintenance.topicHandlers(Service, Characteristic, log, config.disableLogging, accessory, this.accessoryService, config, this.name, this.publish.bind(this)));
30
28
  }
31
29
  getAccessoryType() {
32
30
  return AccessoryType.Thermostat;
@@ -1 +1 @@
1
- {"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../../src/accessory/climate/thermostat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../../src/accessory/climate/thermostat.ts"],"names":[],"mappings":"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"}