homebridge-easy-mqtt 1.2.0-beta.0 → 1.2.0-beta.2

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 (46) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/README.md +6 -8
  3. package/config.schema.json +12 -26
  4. package/dist/accessory/abstract/base.d.ts +20 -10
  5. package/dist/accessory/abstract/base.js +92 -4
  6. package/dist/accessory/abstract/base.js.map +1 -1
  7. package/dist/accessory/abstract/statusActive.d.ts +4 -7
  8. package/dist/accessory/abstract/statusActive.js +12 -22
  9. package/dist/accessory/abstract/statusActive.js.map +1 -1
  10. package/dist/accessory/lock.d.ts +3 -6
  11. package/dist/accessory/lock.js +51 -60
  12. package/dist/accessory/lock.js.map +1 -1
  13. package/dist/accessory/onoff/lightbulb.d.ts +9 -17
  14. package/dist/accessory/onoff/lightbulb.js +51 -76
  15. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  16. package/dist/accessory/onoff/onoff.d.ts +4 -5
  17. package/dist/accessory/onoff/onoff.js +28 -29
  18. package/dist/accessory/onoff/onoff.js.map +1 -1
  19. package/dist/accessory/onoff/outlet.d.ts +1 -5
  20. package/dist/accessory/onoff/outlet.js +9 -41
  21. package/dist/accessory/onoff/outlet.js.map +1 -1
  22. package/dist/accessory/onoff/switch.js.map +1 -1
  23. package/dist/accessory/security.d.ts +2 -7
  24. package/dist/accessory/security.js +44 -81
  25. package/dist/accessory/security.js.map +1 -1
  26. package/dist/accessory/temperatureSensor.d.ts +1 -2
  27. package/dist/accessory/temperatureSensor.js +6 -8
  28. package/dist/accessory/temperatureSensor.js.map +1 -1
  29. package/dist/homebridge/platform.js +7 -6
  30. package/dist/homebridge/platform.js.map +1 -1
  31. package/dist/homebridge-ui/public/index.html +2 -2
  32. package/dist/homebridge-ui/public/ui.js +1 -1
  33. package/dist/i18n/en.d.ts +11 -8
  34. package/dist/i18n/en.js +53 -50
  35. package/dist/i18n/en.js.map +1 -1
  36. package/dist/i18n/i18n.d.ts +11 -8
  37. package/dist/i18n/template.d.ts +11 -8
  38. package/dist/model/enums.d.ts +23 -0
  39. package/dist/model/enums.js +25 -0
  40. package/dist/model/enums.js.map +1 -1
  41. package/dist/model/mqtt.d.ts +3 -3
  42. package/dist/model/mqtt.js.map +1 -1
  43. package/dist/model/types.d.ts +8 -7
  44. package/dist/tools/primitive.d.ts +3 -3
  45. package/dist/tools/primitive.js.map +1 -1
  46. package/package.json +1 -1
@@ -1,17 +1,14 @@
1
- import { makeHandler } from './abstract/base.js';
2
1
  import { StatusActiveAccessory } from './abstract/statusActive.js';
3
2
  import { strings } from '../i18n/i18n.js';
4
- import { toPrimitive } from '../tools/primitive.js';
3
+ import { CharacteristicKey } from '../model/enums.js';
5
4
  export class SecuritySystemAccessory extends StatusActiveAccessory {
6
- currentState;
7
- targetState;
8
- isTampered = 0;
9
- hasStatusFault = 0;
10
5
  STATE_MAP;
11
6
  constructor(Service, Characteristic, accessory, config, log) {
12
7
  super(Service, Characteristic, accessory, config, log, SecuritySystemAccessory.name);
13
- this.currentState = Characteristic.SecuritySystemCurrentState.DISARMED;
14
- this.targetState = Characteristic.SecuritySystemTargetState.DISARM;
8
+ this.set(CharacteristicKey.SecuritySystemCurrentState, Characteristic.SecuritySystemCurrentState.DISARMED);
9
+ this.set(CharacteristicKey.SecuritySystemTargetState, Characteristic.SecuritySystemTargetState.DISARM);
10
+ this.set(CharacteristicKey.StatusTampered, 0);
11
+ this.set(CharacteristicKey.StatusFault, 0);
15
12
  this.STATE_MAP = new Map([
16
13
  ['valueArmStay', Characteristic.SecuritySystemCurrentState.STAY_ARM],
17
14
  ['valueArmAway', Characteristic.SecuritySystemCurrentState.AWAY_ARM],
@@ -19,7 +16,7 @@ export class SecuritySystemAccessory extends StatusActiveAccessory {
19
16
  ['valueDisarm', Characteristic.SecuritySystemCurrentState.DISARMED],
20
17
  ['valueAlarmTriggered', Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED],
21
18
  ]);
22
- const validCurrentStates = Array.from(this.STATE_MAP.keys()).filter((key) => this.config[key] !== undefined);
19
+ const validCurrentStates = Array.from(this.STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
23
20
  if (validCurrentStates.length === 0) {
24
21
  this.log.error(strings.security.noStateValues, this.name);
25
22
  return;
@@ -31,129 +28,95 @@ export class SecuritySystemAccessory extends StatusActiveAccessory {
31
28
  this.accessoryService.getCharacteristic(Characteristic.SecuritySystemTargetState)
32
29
  .setProps({ validValues: validTargetStates.map((key) => this.STATE_MAP.get(key)) })
33
30
  .onGet(this.getTargetState.bind(this))
34
- .onSet(this.setTargetState.bind(this));
35
- this.accessoryService.getCharacteristic(Characteristic.StatusTampered)
36
- .onGet(this.getIsTampered.bind(this));
37
- this.accessoryService.getCharacteristic(Characteristic.StatusFault)
38
- .onGet(this.getHasStatusFault.bind(this));
31
+ .onSet(this.onSetTargetState.bind(this));
32
+ this.bind(Characteristic.StatusTampered, 'topicGetStatusTampered', this.getIsTampered.bind(this));
33
+ this.bind(Characteristic.StatusFault, 'topicGetStatusFault', this.getHasStatusFault.bind(this));
39
34
  }
40
35
  getAccessoryService() {
41
36
  return this.accessory.getService(this.Service.SecuritySystem) || this.accessory.addService(this.Service.SecuritySystem);
42
37
  }
43
- get topicHandlers() {
44
- const topicHandlers = super.topicHandlers;
45
- if (!this.assert('topicGetCurrentSecurityState', 'topicGetTargetSecurityState')) {
46
- return topicHandlers;
47
- }
48
- topicHandlers.push(makeHandler(this.config.topicGetCurrentSecurityState, this.onCurrentStateUpdate.bind(this)));
49
- topicHandlers.push(makeHandler(this.config.topicGetTargetSecurityState, this.onTargetStateUpdate.bind(this)));
50
- if (this.config.topicGetStatusTampered) {
51
- topicHandlers.push(makeHandler(this.config.topicGetStatusTampered, this.onTamperedUpdate.bind(this)));
52
- }
53
- if (this.config.topicGetStatusFault) {
54
- topicHandlers.push(makeHandler(this.config.topicGetStatusFault, this.onStatusFaultUpdate.bind(this)));
55
- }
56
- return topicHandlers;
38
+ addTopicHandlers() {
39
+ super.addTopicHandlers();
40
+ this.addTopicHandler('topicGetCurrentSecurityState', this.onCurrentStateUpdate.bind(this));
41
+ this.addTopicHandler('topicGetTargetSecurityState', this.onTargetStateUpdate.bind(this));
42
+ this.addTopicHandler('topicGetStatusTampered', this.onTamperedUpdate.bind(this), false);
43
+ this.addTopicHandler('topicGetStatusFault', this.onStatusFaultUpdate.bind(this), false);
57
44
  }
58
45
  async getCurrentState() {
59
- return this.currentState;
46
+ return this.get(CharacteristicKey.SecuritySystemCurrentState);
60
47
  }
61
48
  async getTargetState() {
62
- return this.targetState;
49
+ return this.get(CharacteristicKey.SecuritySystemTargetState);
63
50
  }
64
51
  async getIsTampered() {
65
- return this.isTampered;
52
+ return this.get(CharacteristicKey.StatusTampered);
66
53
  }
67
54
  async getHasStatusFault() {
68
- return this.hasStatusFault;
55
+ return this.get(CharacteristicKey.StatusFault);
69
56
  }
70
57
  async onCurrentStateUpdate(topic, value) {
71
58
  const current = this.toCVState(value);
72
- if (current === undefined || current === this.currentState) {
59
+ if (current === undefined) {
73
60
  return;
74
61
  }
75
- this.currentState = current;
76
- this.accessoryService.updateCharacteristic(this.Characteristic.SecuritySystemCurrentState, this.currentState);
77
- this.targetState = this.currentState;
78
- this.accessoryService.updateCharacteristic(this.Characteristic.SecuritySystemTargetState, this.targetState);
79
- if (this.currentState === this.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED) {
80
- this.log.error(this.stateStringForCV(this.currentState), this.name);
62
+ if (current <= this.Characteristic.SecuritySystemTargetState.DISARM) {
63
+ this.onUpdate(CharacteristicKey.SecuritySystemTargetState, current);
64
+ }
65
+ if (!this.onUpdate(CharacteristicKey.SecuritySystemCurrentState, current)) {
66
+ return;
67
+ }
68
+ if (current === this.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED) {
69
+ this.log.error(this.stateStringForCV(current), this.name);
81
70
  }
82
71
  else {
83
- this.logIfDesired(this.stateStringForCV(this.currentState));
72
+ this.logIfDesired(this.stateStringForCV(current));
84
73
  }
85
74
  }
86
75
  async onTargetStateUpdate(topic, value) {
87
76
  const target = this.toCVState(value);
88
- if (target === undefined || target === this.targetState) {
77
+ if (target === undefined) {
89
78
  return;
90
79
  }
91
- this.targetState = target;
92
- this.accessoryService.updateCharacteristic(this.Characteristic.SecuritySystemTargetState, this.targetState);
93
- this.logIfDesired(this.stateStringForCV(this.targetState, true));
80
+ this.onUpdate(CharacteristicKey.SecuritySystemTargetState, target, this.stateStringForCV(target, true));
94
81
  }
95
82
  async onTamperedUpdate(topic, value) {
96
- if (!this.assert('valueTampered')) {
97
- return;
98
- }
99
- const isTampered = value === toPrimitive(this.config.valueTampered) ? 1 : 0;
100
- if (isTampered === this.isTampered) {
101
- return;
102
- }
103
- this.isTampered = isTampered;
104
- this.accessoryService.updateCharacteristic(this.Characteristic.StatusTampered, this.isTampered);
105
- this.logIfDesired(this.isTampered ? strings.security.isTampered : strings.security.notTampered);
83
+ const statusTampered = value === this.getPrimitiveValue('valueTampered') ? 1 : 0;
84
+ this.onUpdate(CharacteristicKey.StatusTampered, statusTampered, statusTampered ? strings.security.isTampered : strings.security.notTampered);
106
85
  }
107
86
  async onStatusFaultUpdate(topic, value) {
108
- if (!this.assert('valueFault')) {
109
- return;
110
- }
111
- const hasStatusFault = value === toPrimitive(this.config.valueFault) ? 1 : 0;
112
- if (hasStatusFault === this.hasStatusFault) {
113
- return;
114
- }
115
- this.hasStatusFault = hasStatusFault;
116
- this.accessoryService.updateCharacteristic(this.Characteristic.StatusFault, this.hasStatusFault);
117
- this.logIfDesired(this.hasStatusFault ? strings.security.hasFault : strings.security.noFault);
87
+ const statusFault = value === this.getPrimitiveValue('valueFault') ? 1 : 0;
88
+ this.onUpdate(CharacteristicKey.StatusFault, statusFault, statusFault ? strings.security.hasFault : strings.security.noFault);
118
89
  }
119
- async setTargetState(value) {
120
- if (!this.assert('topicSetTargetSecurityState')) {
121
- return;
122
- }
90
+ async onSetTargetState(value) {
123
91
  const target = this.fromCVState(value);
124
92
  if (target === undefined) {
125
93
  return;
126
94
  }
127
- if (this.targetState !== value) {
128
- this.logIfDesired(this.stateStringForCV(value, true));
129
- }
130
- this.targetState = value;
131
- this.accessoryService.updateCharacteristic(this.Characteristic.SecuritySystemTargetState, this.targetState);
132
- this.publish(this.config.topicSetTargetSecurityState, target);
95
+ this.onSet(CharacteristicKey.SecuritySystemTargetState, value, target, 'topicSetTargetSecurityState', this.stateStringForCV(value, true));
133
96
  }
134
97
  fromCVState(value) {
135
98
  let primative = undefined;
136
99
  this.STATE_MAP.forEach((test, key) => {
137
100
  if (value === test) {
138
- primative = toPrimitive(this.config[key]);
101
+ primative = this.getPrimitiveValue(key);
139
102
  }
140
103
  });
141
104
  if (primative === undefined) {
142
- this.log.error(strings.security.badTarget, this.name, value);
105
+ this.log.error(strings.security.badTarget, this.name, `'${value}'`);
143
106
  }
144
107
  return primative;
145
108
  }
146
109
  toCVState(value) {
147
110
  switch (value) {
148
- case toPrimitive(this.config.valueArmStay):
111
+ case this.getPrimitiveValue('valueArmStay', false):
149
112
  return this.STATE_MAP.get('valueArmStay');
150
- case toPrimitive(this.config.valueArmAway):
113
+ case this.getPrimitiveValue('valueArmAway', false):
151
114
  return this.STATE_MAP.get('valueArmAway');
152
- case toPrimitive(this.config.valueArmNight):
115
+ case this.getPrimitiveValue('valueArmNight', false):
153
116
  return this.STATE_MAP.get('valueArmNight');
154
- case toPrimitive(this.config.valueDisarm):
117
+ case this.getPrimitiveValue('valueDisarm', false):
155
118
  return this.STATE_MAP.get('valueDisarm');
156
- case toPrimitive(this.config.valueAlarmTriggered):
119
+ case this.getPrimitiveValue('valueAlarmTriggered', false):
157
120
  return this.STATE_MAP.get('valueAlarmTriggered');
158
121
  }
159
122
  this.log.error(strings.security.unknownValue, this.name, value);
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/accessory/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/accessory/security.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { PlatformAccessory, Service } from 'homebridge';
2
- import { TopicHandler } from './abstract/base.js';
3
2
  import { StatusActiveAccessory } from './abstract/statusActive.js';
4
3
  import { CharacteristicType, ServiceType, TemperatureSensorConfig } from '../model/types.js';
5
4
  import { Log } from '../tools/log.js';
@@ -7,7 +6,7 @@ export declare class TemperatureSensorAccessory extends StatusActiveAccessory<Te
7
6
  private currentTemperature;
8
7
  constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: TemperatureSensorConfig, log: Log);
9
8
  protected getAccessoryService(): Service;
10
- get topicHandlers(): TopicHandler[];
9
+ addTopicHandlers(): void;
11
10
  private onCurrentTemperatureUpdate;
12
11
  private getCurrentTemperature;
13
12
  }
@@ -1,4 +1,3 @@
1
- import { makeHandler } from './abstract/base.js';
2
1
  import { StatusActiveAccessory } from './abstract/statusActive.js';
3
2
  import { strings } from '../i18n/i18n.js';
4
3
  import { toNumber } from '../tools/primitive.js';
@@ -14,15 +13,14 @@ export class TemperatureSensorAccessory extends StatusActiveAccessory {
14
13
  getAccessoryService() {
15
14
  return this.accessory.getService(this.Service.TemperatureSensor) || this.accessory.addService(this.Service.TemperatureSensor);
16
15
  }
17
- get topicHandlers() {
18
- const topicHandlers = super.topicHandlers;
19
- if (!this.assert('topicGetCurrentTemperature')) {
20
- return topicHandlers;
21
- }
22
- topicHandlers.push(makeHandler(this.config.topicGetCurrentTemperature, this.onCurrentTemperatureUpdate.bind(this)));
23
- return topicHandlers;
16
+ addTopicHandlers() {
17
+ super.addTopicHandlers();
18
+ this.addTopicHandler('topicGetCurrentTemperature', this.onCurrentTemperatureUpdate.bind(this));
24
19
  }
25
20
  async onCurrentTemperatureUpdate(topic, value) {
21
+ if (!this.assertNumber(value, strings.temperatureSensor.badValue)) {
22
+ return;
23
+ }
26
24
  const units = this.config.temperatureUnits ?? TemperatureUnits.CELSIUS;
27
25
  const temperature = toCelsius(toNumber(value), units);
28
26
  if (temperature === this.currentTemperature) {
@@ -1 +1 @@
1
- {"version":3,"file":"temperatureSensor.js","sourceRoot":"","sources":["../../src/accessory/temperatureSensor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK1C,OAAO,EAAa,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,0BAA2B,SAAQ,qBAA8C;IAEpF,kBAAkB,GAAW,CAAC,CAAC;IAEvC,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,MAA+B,EAC/B,GAAQ;QAER,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,kBAAkB,CAAC;aACvE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChI,CAAC;IAED,IAAa,aAAa;QACxB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAC/C,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpH,OAAO,aAAa,CAAC;IACvB,CAAC;IAGO,KAAK,CAAC,0BAA0B,CAAC,KAAa,EAAE,KAAgB;QAEtE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC;QACvE,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAEtC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE5G,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"temperatureSensor.js","sourceRoot":"","sources":["../../src/accessory/temperatureSensor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK1C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,0BAA2B,SAAQ,qBAA8C;IAEpF,kBAAkB,GAAW,CAAC,CAAC;IAEvC,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA+B,EAAE,GAAQ;QAC3I,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,kBAAkB,CAAC;aACvE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChI,CAAC;IAEQ,gBAAgB;QACvB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,KAAa,EAAE,KAAqB;QAE3E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC;QACvE,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAEtC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE5G,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;CACF"}
@@ -6,6 +6,7 @@ import { SecuritySystemAccessory } from '../accessory/security.js';
6
6
  import { SwitchAccessory } from '../accessory/onoff/switch.js';
7
7
  import { TemperatureSensorAccessory } from '../accessory/temperatureSensor.js';
8
8
  import { setLanguage, strings } from '../i18n/i18n.js';
9
+ import { AccessoryType } from '../model/enums.js';
9
10
  import { Log } from '../tools/log.js';
10
11
  import getVersion from '../tools/version.js';
11
12
  import { assert } from '../tools/validation.js';
@@ -62,22 +63,22 @@ export class HomebridgeEasyMQTT {
62
63
  const Characteristic = this.api.hap.Characteristic;
63
64
  let mqttAccessory;
64
65
  switch (accessoryConfig.info.type) {
65
- case Service.Lightbulb.name:
66
+ case AccessoryType.Lightbulb:
66
67
  mqttAccessory = new LightbulbAccessory(Service, Characteristic, accessory, accessoryConfig, this.log);
67
68
  break;
68
- case Service.LockMechanism.name:
69
+ case AccessoryType.LockMechanism:
69
70
  mqttAccessory = new LockMechanismAccessory(Service, Characteristic, accessory, accessoryConfig, this.log);
70
71
  break;
71
- case Service.Outlet.name:
72
+ case AccessoryType.Outlet:
72
73
  mqttAccessory = new OutletAccessory(Service, Characteristic, accessory, accessoryConfig, this.log);
73
74
  break;
74
- case Service.SecuritySystem.name:
75
+ case AccessoryType.SecuritySystem:
75
76
  mqttAccessory = new SecuritySystemAccessory(Service, Characteristic, accessory, accessoryConfig, this.log);
76
77
  break;
77
- case Service.Switch.name:
78
+ case AccessoryType.Switch:
78
79
  mqttAccessory = new SwitchAccessory(Service, Characteristic, accessory, accessoryConfig, this.log);
79
80
  break;
80
- case Service.TemperatureSensor.name:
81
+ case AccessoryType.TemperatureSensor:
81
82
  mqttAccessory = new TemperatureSensorAccessory(Service, Characteristic, accessory, accessoryConfig, this.log);
82
83
  break;
83
84
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,6 @@
22
22
  </br><button type="button" class="btn btn-primary" id="introContinue" i18n="continue", i18n_replace="arrow"></button>
23
23
  </div>
24
24
 
25
- <footer id="footer" class="text-center" style="display: none; font-style: italic; font-size: 0.9em;" i18n="optional"></footer>
25
+ <footer id="footer" class="text-center" style="display: none; font-style: italic; font-size: 0.9em;" i18n="required"></footer>
26
26
 
27
- <script src="ui.js?v=1.2.0-beta.0"></script>
27
+ <script src="ui.js?v=1.2.0-beta.2"></script>
@@ -1 +1 @@
1
- "use strict";(()=>{var s={arrow:"&rarr;",easy_mqtt:"Easy MQTT",github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-easy-mqtt/">GitHub</a>'},g=e=>{document.querySelectorAll("[i18n]").forEach(t=>{let o=t.getAttribute("i18n"),r=e.config[o],n=t.getAttribute("i18n_replace");n&&(r=r.replace("%s",s[n])),t.innerHTML=r})},x=e=>{let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((r,n)=>t.indexOf(r.tagName.toLowerCase())-t.indexOf(n.tagName.toLowerCase())).forEach(r=>{let n=r.innerHTML;n=n.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(d,i,a)=>e.config[i]&&typeof e.config[i]=="object"&&a in e.config[i]?e.config[i][a]:d),r.innerHTML!==n&&(r.innerHTML=n)})},c=e=>{let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let o of t){let n=o.closest("fieldset")?.querySelector('input[type="text"][name="name"]');n&&o.textContent!==(n.value||e.config.title.accessory)&&(o.textContent=n.value!==""?n.value:e.config.title.accessory),n&&!n.dataset.accessoryNameListener&&(n.addEventListener("input",()=>c(e)),n.dataset.accessoryNameListener="true")}};function m(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var f=e=>{let t=!1;e.accessories?.forEach(o=>{if(o.info.id===void 0){let r=m();o.info.id=r,t=!0}}),t&&homebridge.updatePluginConfig([e])},l=async e=>{homebridge.showSpinner(),document.getElementById("pageIntro").style.display="none",document.getElementById("support").style.display="block",document.getElementById("footer").style.display="block",new MutationObserver(()=>{x(e),c(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.showSchemaForm(),homebridge.addEventListener("configChanged",o=>{let r=o.data;r.length&&f(r[0])}),homebridge.hideSpinner()},u=e=>{document.getElementById("introContinue").addEventListener("click",async()=>{l(e)}),document.getElementById("pageIntro").style.display="block",homebridge.hideSpinner()};(async()=>{homebridge.showSpinner();try{let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);g(t);let o=await homebridge.getPluginConfig();o.length?await l(t):(o.push({name:s.easy_mqtt}),await homebridge.updatePluginConfig(o),u(t))}catch(e){homebridge.toast.error(e.message),homebridge.hideSpinner()}})();})();
1
+ "use strict";(()=>{var s={arrow:"&rarr;",easy_mqtt:"Easy MQTT",github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-easy-mqtt/">GitHub</a>'},d=t=>{document.querySelectorAll("[i18n]").forEach(n=>{let o=n.getAttribute("i18n"),r=t.config[o],e=n.getAttribute("i18n_replace");e&&(r=r.replace("%s",s[e])),n.innerHTML=r})},l=t=>{let n=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(n.join(","))).sort((r,e)=>n.indexOf(r.tagName.toLowerCase())-n.indexOf(e.tagName.toLowerCase())).forEach(r=>{let e=r.innerHTML;e=e.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(g,i,a)=>t.config[i]&&typeof t.config[i]=="object"&&a in t.config[i]?t.config[i][a]:g),r.innerHTML!==e&&(r.innerHTML=e)})},c=t=>{let n=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let o of n){let e=o.closest("fieldset")?.querySelector('input[type="text"][name="name"]');e&&o.textContent!==(e.value||t.config.title.accessory)&&(o.textContent=e.value!==""?e.value:t.config.title.accessory),e&&!e.dataset.accessoryNameListener&&(e.addEventListener("input",()=>c(t)),e.dataset.accessoryNameListener="true")}};function f(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let n=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(t==="x"?n:n&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let n=Math.random()*16|0;return(t==="x"?n:n&3|8).toString(16)})}var m=t=>{let n=!1;t.accessories?.forEach(o=>{if(o.info.id===void 0){let r=f();o.info.id=r,n=!0}}),n&&homebridge.updatePluginConfig([t])};async function x(t){let n=!1;for(let o of t)for(let r of o.accessories??[]){if(r.info.type!=="LockMechanism")continue;let e=r;e.topicGetLockCurrentState!==void 0&&(e.topicGetCurrentLockState=e.topicGetLockCurrentState,e.topicGetLockCurrentState=void 0,n=!0),e.topicGetLockTargetState!==void 0&&(e.topicGetTargetLockState=e.topicGetLockTargetState,e.topicGetLockTargetState=void 0,n=!0),e.topicSetTargetState!==void 0&&(e.topicSetTargetLockState=e.topicSetTargetState,e.topicSetTargetState=void 0,n=!0)}n&&await homebridge.updatePluginConfig(t)}var u=async t=>{homebridge.showSpinner(),document.getElementById("pageIntro").style.display="none",document.getElementById("support").style.display="block",document.getElementById("footer").style.display="block",new MutationObserver(()=>{l(t),c(t)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.showSchemaForm(),homebridge.addEventListener("configChanged",o=>{let r=o.data;r.length&&m(r[0])}),homebridge.hideSpinner()},p=t=>{document.getElementById("introContinue").addEventListener("click",async()=>{u(t)}),document.getElementById("pageIntro").style.display="block",homebridge.hideSpinner()};homebridge.showSpinner();(async()=>{try{let t=await homebridge.i18nCurrentLang(),n=await homebridge.request("i18n",t);d(n);let o=await homebridge.getPluginConfig();o.length?(await x(o),await u(n)):(await homebridge.updatePluginConfig([{name:s.easy_mqtt}]),p(n))}catch(t){homebridge.toast.error(t.message),homebridge.hideSpinner()}})();})();
package/dist/i18n/en.d.ts CHANGED
@@ -6,14 +6,13 @@ declare const en: {
6
6
  };
7
7
  config: {
8
8
  continue: string;
9
- optional: string;
9
+ required: string;
10
10
  support: string;
11
11
  thankYou: string;
12
12
  description: {
13
13
  disableLogging: string;
14
14
  options: string;
15
15
  topics: string;
16
- valueStatusActive: string;
17
16
  verbose: string;
18
17
  };
19
18
  enumNames: {
@@ -40,10 +39,10 @@ declare const en: {
40
39
  sourceUnits: string;
41
40
  serialNumber: string;
42
41
  topicGetStatusActive: string;
43
- topicGetLockCurrentState: string;
42
+ topicGetCurrentLockState: string;
44
43
  topicGetOutletInUse: string;
45
44
  topicGetOn: string;
46
- topicGetLockTargetState: string;
45
+ topicGetTargetLockState: string;
47
46
  topicGetBrightness: string;
48
47
  topicSetBrightness: string;
49
48
  topicGetHue: string;
@@ -52,9 +51,8 @@ declare const en: {
52
51
  topicSetColorTemperature: string;
53
52
  topicGetSaturation: string;
54
53
  topicSetSaturation: string;
55
- topicSetOutletInUse: string;
56
54
  topicSetOn: string;
57
- topicSetTargetState: string;
55
+ topicSetTargetLockState: string;
58
56
  topicGetCurrentTemperature: string;
59
57
  topicGetCurrentSecurityState: string;
60
58
  topicGetTargetSecurityState: string;
@@ -85,6 +83,10 @@ declare const en: {
85
83
  };
86
84
  };
87
85
  lightbulb: {
86
+ badBrightness: string;
87
+ badColorTemperature: string;
88
+ badHue: string;
89
+ badSaturation: string;
88
90
  brightness: string;
89
91
  futureBrightness: string;
90
92
  hue: string;
@@ -118,14 +120,14 @@ declare const en: {
118
120
  reconnectInSeconds: string;
119
121
  };
120
122
  onOff: {
123
+ badValue: string;
121
124
  stateFutureOff: string;
122
125
  stateFutureOn: string;
123
126
  stateOn: string;
124
127
  stateOff: string;
125
128
  };
126
129
  outlet: {
127
- futureInUse: string;
128
- futureNotInUse: string;
130
+ badValue: string;
129
131
  inUse: string;
130
132
  notInUse: string;
131
133
  };
@@ -157,6 +159,7 @@ declare const en: {
157
159
  welcome: string[];
158
160
  };
159
161
  temperatureSensor: {
162
+ badValue: string;
160
163
  temperature: string;
161
164
  };
162
165
  };