homebridge-easy-mqtt 1.4.0-beta.16 → 1.4.0-beta.3

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 (79) hide show
  1. package/CHANGELOG.md +7 -10
  2. package/README.md +25 -246
  3. package/config.schema.json +400 -1991
  4. package/dist/accessory/abstract/base.js +2 -2
  5. package/dist/accessory/abstract/base.js.map +1 -1
  6. package/dist/accessory/abstract/helper.d.ts +0 -1
  7. package/dist/accessory/abstract/helper.js +0 -19
  8. package/dist/accessory/abstract/helper.js.map +1 -1
  9. package/dist/accessory/abstract/mqtt.d.ts +26 -15
  10. package/dist/accessory/abstract/mqtt.js +148 -29
  11. package/dist/accessory/abstract/mqtt.js.map +1 -1
  12. package/dist/accessory/climate/{temperatureControl.d.ts → climate.d.ts} +2 -3
  13. package/dist/accessory/climate/{temperatureControl.js → climate.js} +5 -7
  14. package/dist/accessory/climate/climate.js.map +1 -0
  15. package/dist/accessory/climate/heaterCooler.d.ts +6 -2
  16. package/dist/accessory/climate/heaterCooler.js +37 -5
  17. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  18. package/dist/accessory/climate/thermostat.d.ts +2 -2
  19. package/dist/accessory/climate/thermostat.js +2 -3
  20. package/dist/accessory/climate/thermostat.js.map +1 -1
  21. package/dist/accessory/lock.d.ts +2 -2
  22. package/dist/accessory/lock.js +3 -3
  23. package/dist/accessory/lock.js.map +1 -1
  24. package/dist/accessory/sensor/sensor.js +2 -2
  25. package/dist/accessory/sensor/sensor.js.map +1 -1
  26. package/dist/homebridge/platform.js +3 -5
  27. package/dist/homebridge/platform.js.map +1 -1
  28. package/dist/homebridge-ui/public/index.html +1 -1
  29. package/dist/homebridge-ui/public/ui.js +1 -1
  30. package/dist/i18n/en.d.ts +0 -155
  31. package/dist/i18n/en.js +1 -156
  32. package/dist/i18n/en.js.map +1 -1
  33. package/dist/i18n/fr.d.ts +0 -155
  34. package/dist/i18n/i18n.d.ts +1 -157
  35. package/dist/i18n/i18n.js +0 -6
  36. package/dist/i18n/i18n.js.map +1 -1
  37. package/dist/i18n/template.d.ts +0 -155
  38. package/dist/model/enums.d.ts +2 -39
  39. package/dist/model/enums.js +0 -39
  40. package/dist/model/enums.js.map +1 -1
  41. package/dist/model/mqtt.d.ts +4 -5
  42. package/dist/model/mqtt.js +25 -41
  43. package/dist/model/mqtt.js.map +1 -1
  44. package/dist/model/types.d.ts +24 -115
  45. package/package.json +1 -1
  46. package/dist/accessory/abstract/common.d.ts +0 -42
  47. package/dist/accessory/abstract/common.js +0 -158
  48. package/dist/accessory/abstract/common.js.map +0 -1
  49. package/dist/accessory/addons/addon.d.ts +0 -24
  50. package/dist/accessory/addons/addon.js +0 -52
  51. package/dist/accessory/addons/addon.js.map +0 -1
  52. package/dist/accessory/addons/filter.d.ts +0 -11
  53. package/dist/accessory/addons/filter.js +0 -37
  54. package/dist/accessory/addons/filter.js.map +0 -1
  55. package/dist/accessory/climate/active.d.ts +0 -11
  56. package/dist/accessory/climate/active.js +0 -44
  57. package/dist/accessory/climate/active.js.map +0 -1
  58. package/dist/accessory/climate/fan2.d.ts +0 -20
  59. package/dist/accessory/climate/fan2.js +0 -122
  60. package/dist/accessory/climate/fan2.js.map +0 -1
  61. package/dist/accessory/climate/purifier.d.ts +0 -19
  62. package/dist/accessory/climate/purifier.js +0 -114
  63. package/dist/accessory/climate/purifier.js.map +0 -1
  64. package/dist/accessory/climate/temperatureControl.js.map +0 -1
  65. package/dist/accessory/garage.d.ts +0 -17
  66. package/dist/accessory/garage.js +0 -110
  67. package/dist/accessory/garage.js.map +0 -1
  68. package/dist/accessory/sensor/air.d.ts +0 -14
  69. package/dist/accessory/sensor/air.js +0 -94
  70. package/dist/accessory/sensor/air.js.map +0 -1
  71. package/dist/accessory/valve.d.ts +0 -14
  72. package/dist/accessory/valve.js +0 -71
  73. package/dist/accessory/valve.js.map +0 -1
  74. package/dist/i18n/ro.d.ts +0 -846
  75. package/dist/i18n/ro.js +0 -381
  76. package/dist/i18n/ro.js.map +0 -1
  77. package/dist/tools/properties.d.ts +0 -11
  78. package/dist/tools/properties.js +0 -73
  79. package/dist/tools/properties.js.map +0 -1
@@ -1,42 +0,0 @@
1
- import { Characteristic, CharacteristicSetHandler, CharacteristicValue, PrimitiveTypes, Service } from 'homebridge';
2
- import { CharacteristicKey } from '../../model/enums.js';
3
- import { CharacteristicType, TemperatureConfig } from '../../model/types.js';
4
- import { Log, LogType } from '../../tools/log.js';
5
- import { Assertable } from '../../tools/validation.js';
6
- import { Properties } from '../../tools/properties.js';
7
- type OnUpdateHandler = (topic: string, value: PrimitiveTypes) => (Promise<void>);
8
- export type TopicHandler = {
9
- topic: string;
10
- handler: OnUpdateHandler;
11
- };
12
- export type PublishHandler = (topic: string, value: PrimitiveTypes) => void;
13
- export declare abstract class Common<C extends Assertable> {
14
- readonly name: string;
15
- private _properties;
16
- readonly topicHandlers: TopicHandler[];
17
- constructor(name: string);
18
- protected abstract get service(): Service;
19
- protected abstract get Characteristic(): CharacteristicType;
20
- protected abstract get log(): Log;
21
- protected abstract get disableLogging(): boolean;
22
- protected abstract get config(): C;
23
- protected abstract get identifier(): string;
24
- protected abstract get useStoredProperties(): boolean;
25
- protected abstract publish(rawTopic: string, value: PrimitiveTypes): void;
26
- protected get properties(): Properties;
27
- protected assert(...keys: (keyof C)[]): boolean;
28
- protected getRawValue(property: keyof C, assert?: boolean): string | undefined;
29
- protected getPrimitiveValue(property: keyof C, assert?: boolean): PrimitiveTypes | undefined;
30
- protected addTopicHandlers(topicHandlers: TopicHandler[]): void;
31
- protected setupCharacteristic(characteristicKey: CharacteristicKey, defaultValue: CharacteristicValue, getTopicKey: keyof C, onUpdateHandler: OnUpdateHandler, assertGetTopic?: boolean, setTopicKey?: keyof C | undefined, onSetHandler?: CharacteristicSetHandler | undefined): Characteristic | undefined;
32
- private setupCharacteristicOnGet;
33
- protected setupCharacteristicOnSet(characteristicKey: CharacteristicKey, setTopicKey?: keyof C | undefined, onSetHandler?: CharacteristicSetHandler | undefined): void;
34
- protected bindOnUpdateNumeric(charKey: CharacteristicKey, logTemplate: string): OnUpdateHandler;
35
- protected bindOnUpdateNumericBoolean(charKey: CharacteristicKey, valueKey: keyof C, logTrue: string, logFalse: string): OnUpdateHandler;
36
- protected bindTemperatureUpdate<C extends TemperatureConfig>(config: C, charKey: CharacteristicKey, logTemplate: string): OnUpdateHandler;
37
- protected onUpdate(key: CharacteristicKey, value: CharacteristicValue, logString?: string | undefined): boolean;
38
- protected onSet(key: CharacteristicKey, value: CharacteristicValue, publish: PrimitiveTypes, topic: keyof C, logString: string | undefined): void;
39
- protected logIfDesired(message: string, ...parameters: string[]): void;
40
- protected logIfDesired(level: LogType, message: string, ...parameters: string[]): void;
41
- }
42
- export {};
@@ -1,158 +0,0 @@
1
- import { strings } from '../../i18n/i18n.js';
2
- import { TemperatureUnits } from '../../model/enums.js';
3
- import { LogType } from '../../tools/log.js';
4
- import { toNumber, toPrimitive } from '../../tools/primitive.js';
5
- import { assert } from '../../tools/validation.js';
6
- import { toCelsius } from '../../tools/temperature.js';
7
- import { Properties } from '../../tools/properties.js';
8
- export class Common {
9
- name;
10
- _properties = undefined;
11
- topicHandlers = [];
12
- constructor(name) {
13
- this.name = name;
14
- }
15
- get properties() {
16
- if (this._properties === undefined) {
17
- this._properties = new Properties(this.identifier, this.useStoredProperties);
18
- }
19
- return this._properties;
20
- }
21
- assert(...keys) {
22
- return assert(this.log, this.name, this.config, ...keys);
23
- }
24
- getRawValue(property, assert = true) {
25
- if (!property.toString().startsWith('value')) {
26
- throw new Error(`Trying to fetch value with unexpected property name '${property.toString()}'`);
27
- }
28
- if (assert && !this.assert(property)) {
29
- return;
30
- }
31
- return this.config[property];
32
- }
33
- getPrimitiveValue(property, assert = true) {
34
- const stringValue = this.getRawValue(property, assert);
35
- return stringValue ? toPrimitive(stringValue) : undefined;
36
- }
37
- addTopicHandlers(topicHandlers) {
38
- this.topicHandlers.push(...topicHandlers);
39
- }
40
- setupCharacteristic(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic = false, setTopicKey = undefined, onSetHandler = undefined) {
41
- const characteristic = this.setupCharacteristicOnGet(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic);
42
- if (!characteristic) {
43
- return;
44
- }
45
- this.setupCharacteristicOnSet(characteristicKey, setTopicKey, onSetHandler);
46
- }
47
- setupCharacteristicOnGet(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic = false) {
48
- if (!getTopicKey.toString().startsWith('topic')) {
49
- throw new Error(`Trying to fetch topic with unexpected property name '${getTopicKey.toString()}'`);
50
- }
51
- if (assertGetTopic) {
52
- this.assert(getTopicKey);
53
- }
54
- if (this.config[getTopicKey] === undefined) {
55
- for (const characteristic of this.service.characteristics) {
56
- if (characteristic.UUID === this.Characteristic[characteristicKey].UUID) {
57
- this.service.removeCharacteristic(characteristic);
58
- break;
59
- }
60
- }
61
- return;
62
- }
63
- const startingValue = (this.useStoredProperties && this.properties.get(characteristicKey)) ?? defaultValue;
64
- const characteristic = this.service.getCharacteristic(this.Characteristic[characteristicKey]);
65
- characteristic.setValue(startingValue);
66
- this.properties.set(characteristicKey, startingValue);
67
- characteristic.onGet(async () => {
68
- return this.properties.get(characteristicKey) ?? null;
69
- });
70
- this.topicHandlers.push({ topic: this.config[getTopicKey], handler: onUpdateHandler });
71
- return characteristic;
72
- }
73
- setupCharacteristicOnSet(characteristicKey, setTopicKey = undefined, onSetHandler = undefined) {
74
- if (setTopicKey === undefined) {
75
- return;
76
- }
77
- if (!setTopicKey.toString().startsWith('topic')) {
78
- throw new Error(`Trying to fetch topic with unexpected property name '${setTopicKey.toString()}'`);
79
- }
80
- if (!onSetHandler) {
81
- throw new Error(`Missing onSetHandler for topic '${setTopicKey.toString()}'`);
82
- }
83
- const characteristic = this.service.getCharacteristic(this.Characteristic[characteristicKey]);
84
- characteristic.onSet(onSetHandler);
85
- }
86
- bindOnUpdateNumeric(charKey, logTemplate) {
87
- return (async (_topic, value) => {
88
- if (typeof value !== 'number') {
89
- this.log.error(strings.characteristic.badValue, this.name, charKey, `'${value.toString()}'`);
90
- return;
91
- }
92
- const logString = logTemplate.replace('%d', value.toString());
93
- this.onUpdate(charKey, value, logString);
94
- }).bind(this);
95
- }
96
- bindOnUpdateNumericBoolean(charKey, valueKey, logTrue, logFalse) {
97
- return (async (_topic, value) => {
98
- const numeric = value === this.getPrimitiveValue(valueKey) ? 1 : 0;
99
- this.onUpdate(charKey, numeric, numeric ? logTrue : logFalse);
100
- }).bind(this);
101
- }
102
- bindTemperatureUpdate(config, charKey, logTemplate) {
103
- return (async (_topic, value) => {
104
- if (typeof value !== 'number') {
105
- this.log.error(strings.climate.badTemperatureValue, this.name, `'${value}'`);
106
- return;
107
- }
108
- const units = config.temperatureUnits ?? TemperatureUnits.CELSIUS;
109
- const temperature = toCelsius(toNumber(value), units);
110
- const logString = logTemplate.replace('%d°%s', `${value}°${units}`);
111
- this.onUpdate(charKey, temperature, logString);
112
- }).bind(this);
113
- }
114
- onUpdate(key, value, logString = undefined) {
115
- if (value === this.properties.get(key)) {
116
- return false;
117
- }
118
- this.properties.set(key, value);
119
- this.service.updateCharacteristic(this.Characteristic[key], value);
120
- if (logString) {
121
- this.logIfDesired(logString);
122
- }
123
- return true;
124
- }
125
- onSet(key, value, publish, topic, logString) {
126
- if (!this.assert(topic)) {
127
- return;
128
- }
129
- if (logString && value !== this.properties.get(key)) {
130
- this.logIfDesired(logString);
131
- }
132
- this.properties.set(key, value);
133
- this.service.updateCharacteristic(this.Characteristic[key], value);
134
- this.publish(this.config[topic], publish);
135
- }
136
- logIfDesired(levelOrMessage, ...rest) {
137
- if (this.disableLogging) {
138
- return;
139
- }
140
- if (typeof levelOrMessage === 'string') {
141
- this.log.always(levelOrMessage, this.name, ...rest);
142
- return;
143
- }
144
- const [message, ...parameters] = rest;
145
- switch (levelOrMessage) {
146
- case LogType.WARNING:
147
- this.log.warning(message, this.name, ...parameters);
148
- break;
149
- case LogType.ERROR:
150
- this.log.error(message, this.name, ...parameters);
151
- break;
152
- default:
153
- this.log.always(message, this.name, ...parameters);
154
- break;
155
- }
156
- }
157
- }
158
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
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 {};
@@ -1,52 +0,0 @@
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
@@ -1 +0,0 @@
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 +0,0 @@
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
- }
@@ -1,37 +0,0 @@
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.setupCharacteristic(CharacteristicKey.FilterChangeIndication, this.Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.onChangeIndicationUpdate.bind(this));
14
- this.setupCharacteristic(CharacteristicKey.FilterLifeLevel, 100, 'topicGetFilterLifeLevel', this.bindOnUpdateNumeric(CharacteristicKey.FilterLifeLevel, strings.filter.level));
15
- this.setupCharacteristicOnSet(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
@@ -1 +0,0 @@
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"}
@@ -1,11 +0,0 @@
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
- }
@@ -1,44 +0,0 @@
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.setupCharacteristic(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.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));
9
- this.setupCharacteristic(CharacteristicKey.RotationSpeed, 0, 'topicGetRotationSpeed', this.bindOnUpdateNumeric(CharacteristicKey.RotationSpeed, strings.heaterCooler.rotationUpdate), false, 'topicSetRotationSpeed', this.onSetRotationSpeed.bind(this));
10
- 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));
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"active.js","sourceRoot":"","sources":["../../../src/accessory/climate/active.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
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
- }
@@ -1,122 +0,0 @@
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
- ['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 (config.topicGetCurrentFanState !== undefined && validCurrentStates.length === 0) {
20
- this.log.error(strings.fanv2.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 (config.topicGetTargetFanState !== undefined && validTargetStates.length === 0) {
27
- this.log.error(strings.fanv2.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.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
@@ -1 +0,0 @@
1
- {"version":3,"file":"fan2.js","sourceRoot":"","sources":["../../../src/accessory/climate/fan2.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
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
- }