homebridge-easy-mqtt 1.0.0-beta.0 → 1.0.0-beta.1

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 (40) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/README.md +54 -25
  3. package/config.schema.json +180 -53
  4. package/dist/accessory/base.d.ts +7 -5
  5. package/dist/accessory/base.js +19 -11
  6. package/dist/accessory/base.js.map +1 -1
  7. package/dist/accessory/lightbulb.d.ts +30 -0
  8. package/dist/accessory/lightbulb.js +106 -0
  9. package/dist/accessory/lightbulb.js.map +1 -0
  10. package/dist/accessory/lock.d.ts +13 -16
  11. package/dist/accessory/lock.js +56 -85
  12. package/dist/accessory/lock.js.map +1 -1
  13. package/dist/accessory/onoff.d.ts +15 -0
  14. package/dist/accessory/onoff.js +57 -0
  15. package/dist/accessory/onoff.js.map +1 -0
  16. package/dist/accessory/outlet.d.ts +16 -0
  17. package/dist/accessory/outlet.js +59 -0
  18. package/dist/accessory/outlet.js.map +1 -0
  19. package/dist/accessory/statusActive.d.ts +14 -0
  20. package/dist/accessory/statusActive.js +41 -0
  21. package/dist/accessory/statusActive.js.map +1 -0
  22. package/dist/accessory/switch.d.ts +6 -17
  23. package/dist/accessory/switch.js +6 -86
  24. package/dist/accessory/switch.js.map +1 -1
  25. package/dist/homebridge/platform.js +12 -4
  26. package/dist/homebridge/platform.js.map +1 -1
  27. package/dist/homebridge-ui/public/index.html +1 -1
  28. package/dist/homebridge-ui/public/ui.js +1 -1
  29. package/dist/i18n/en.d.ts +45 -15
  30. package/dist/i18n/en.js +46 -16
  31. package/dist/i18n/en.js.map +1 -1
  32. package/dist/i18n/i18n.d.ts +45 -15
  33. package/dist/i18n/template.d.ts +45 -15
  34. package/dist/i18n/zz.d.ts +45 -15
  35. package/dist/model/mqtt.d.ts +0 -2
  36. package/dist/model/mqtt.js +3 -13
  37. package/dist/model/mqtt.js.map +1 -1
  38. package/dist/model/types.d.ts +34 -13
  39. package/dist/model/types.js.map +1 -1
  40. package/package.json +1 -1
@@ -13,7 +13,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
13
13
  disableLogging: string;
14
14
  options: string;
15
15
  topics: string;
16
- valueActive: string;
16
+ valueStatusActive: string;
17
17
  verbose: string;
18
18
  };
19
19
  title: {
@@ -27,26 +27,50 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
27
27
  model: string;
28
28
  mqtt: string;
29
29
  options: string;
30
+ password: string;
30
31
  serialNumber: string;
31
- topicGetActive: string;
32
- topicGetCurrent: string;
32
+ topicGetStatusActive: string;
33
+ topicGetLockCurrentState: string;
34
+ topicGetOutletInUse: string;
33
35
  topicGetOn: string;
34
- topicGetTarget: string;
36
+ topicGetLockTargetState: string;
37
+ topicGetBrightness: string;
38
+ topicSetBrightness: string;
39
+ topicGetHue: string;
40
+ topicSetHue: string;
41
+ topicGetColorTemperature: string;
42
+ topicSetColorTemperature: string;
43
+ topicGetSaturation: string;
44
+ topicSetSaturation: string;
45
+ topicSetOutletInUse: string;
35
46
  topicSetOn: string;
36
- topicSetTarget: string;
47
+ topicSetTargetState: string;
37
48
  topics: string;
38
49
  type: string;
39
- valueActive: string;
40
- valueJammed: string;
50
+ username: string;
51
+ valueStatusActive: string;
52
+ valueLockStateJammed: string;
53
+ valueOutletInUse: string;
54
+ valueOutletNotInUse: string;
41
55
  valueOff: string;
42
56
  valueOn: string;
43
- valueSecured: string;
44
- valueUnsecured: string;
57
+ valueLockStateSecured: string;
58
+ valueLockStateUnsecured: string;
45
59
  values: string;
46
60
  verbose: string;
47
61
  version: string;
48
62
  };
49
63
  };
64
+ lightbulb: {
65
+ brightness: string;
66
+ futureBrightness: string;
67
+ hue: string;
68
+ futureHue: string;
69
+ colorTemperature: string;
70
+ futureColorTemperature: string;
71
+ saturation: string;
72
+ futureSaturation: string;
73
+ };
50
74
  lock: {
51
75
  badTarget: string;
52
76
  stateCurrentSecured: string;
@@ -70,6 +94,18 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
70
94
  reconnectInMinutes: string;
71
95
  reconnectInSeconds: string;
72
96
  };
97
+ onOff: {
98
+ stateFutureOff: string;
99
+ stateFutureOn: string;
100
+ stateOn: string;
101
+ stateOff: string;
102
+ };
103
+ outlet: {
104
+ futureInUse: string;
105
+ futureNotInUse: string;
106
+ inUse: string;
107
+ notInUse: string;
108
+ };
73
109
  startup: {
74
110
  complete: string;
75
111
  newAccessory: string;
@@ -78,11 +114,5 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
78
114
  unsupportedType: string;
79
115
  welcome: string[];
80
116
  };
81
- switch: {
82
- stateFutureOff: string;
83
- stateFutureOn: string;
84
- stateOn: string;
85
- stateOff: string;
86
- };
87
117
  };
88
118
  export default REPLACE_THIS_WITH_ISO_CODE;
package/dist/i18n/zz.d.ts CHANGED
@@ -13,7 +13,7 @@ declare const zz: {
13
13
  disableLogging: string;
14
14
  options: string;
15
15
  topics: string;
16
- valueActive: string;
16
+ valueStatusActive: string;
17
17
  verbose: string;
18
18
  };
19
19
  title: {
@@ -27,26 +27,50 @@ declare const zz: {
27
27
  model: string;
28
28
  mqtt: string;
29
29
  options: string;
30
+ password: string;
30
31
  serialNumber: string;
31
- topicGetActive: string;
32
- topicGetCurrent: string;
32
+ topicGetStatusActive: string;
33
+ topicGetLockCurrentState: string;
34
+ topicGetOutletInUse: string;
33
35
  topicGetOn: string;
34
- topicGetTarget: string;
36
+ topicGetLockTargetState: string;
37
+ topicGetBrightness: string;
38
+ topicSetBrightness: string;
39
+ topicGetHue: string;
40
+ topicSetHue: string;
41
+ topicGetColorTemperature: string;
42
+ topicSetColorTemperature: string;
43
+ topicGetSaturation: string;
44
+ topicSetSaturation: string;
45
+ topicSetOutletInUse: string;
35
46
  topicSetOn: string;
36
- topicSetTarget: string;
47
+ topicSetTargetState: string;
37
48
  topics: string;
38
49
  type: string;
39
- valueActive: string;
40
- valueJammed: string;
50
+ username: string;
51
+ valueStatusActive: string;
52
+ valueLockStateJammed: string;
53
+ valueOutletInUse: string;
54
+ valueOutletNotInUse: string;
41
55
  valueOff: string;
42
56
  valueOn: string;
43
- valueSecured: string;
44
- valueUnsecured: string;
57
+ valueLockStateSecured: string;
58
+ valueLockStateUnsecured: string;
45
59
  values: string;
46
60
  verbose: string;
47
61
  version: string;
48
62
  };
49
63
  };
64
+ lightbulb: {
65
+ brightness: string;
66
+ futureBrightness: string;
67
+ hue: string;
68
+ futureHue: string;
69
+ colorTemperature: string;
70
+ futureColorTemperature: string;
71
+ saturation: string;
72
+ futureSaturation: string;
73
+ };
50
74
  lock: {
51
75
  badTarget: string;
52
76
  stateCurrentSecured: string;
@@ -70,6 +94,18 @@ declare const zz: {
70
94
  reconnectInMinutes: string;
71
95
  reconnectInSeconds: string;
72
96
  };
97
+ onOff: {
98
+ stateFutureOff: string;
99
+ stateFutureOn: string;
100
+ stateOn: string;
101
+ stateOff: string;
102
+ };
103
+ outlet: {
104
+ futureInUse: string;
105
+ futureNotInUse: string;
106
+ inUse: string;
107
+ notInUse: string;
108
+ };
73
109
  startup: {
74
110
  complete: string;
75
111
  newAccessory: string;
@@ -78,11 +114,5 @@ declare const zz: {
78
114
  unsupportedType: string;
79
115
  welcome: string[];
80
116
  };
81
- switch: {
82
- stateFutureOff: string;
83
- stateFutureOn: string;
84
- stateOn: string;
85
- stateOff: string;
86
- };
87
117
  };
88
118
  export default zz;
@@ -10,7 +10,6 @@ export declare class MQTT {
10
10
  private shouldReconnect;
11
11
  private isReconnecting;
12
12
  private reconnectCount;
13
- private idleMQTTTimer;
14
13
  private listeners;
15
14
  constructor(log: Log, config: MQTTConfig, onConnect: () => (void), caller: string);
16
15
  teardown(): void;
@@ -19,7 +18,6 @@ export declare class MQTT {
19
18
  publish(topic: string, value: Primitive): void;
20
19
  private messageReceived;
21
20
  private connectionClosed;
22
- private resetIdleMQTTTimer;
23
21
  private reconnect;
24
22
  }
25
23
  export {};
@@ -5,7 +5,6 @@ import { LogType } from '../tools/log.js';
5
5
  import { SECOND, MINUTE } from '../tools/time.js';
6
6
  import { assert } from '../tools/validation.js';
7
7
  const DELAYS = [5 * SECOND, 10 * SECOND, 15 * SECOND, 30 * SECOND, MINUTE, 2 * MINUTE];
8
- const IDLE_CONNECTION_TIMER_INTERVAL = 5 * MINUTE;
9
8
  class MQTTListener {
10
9
  handler;
11
10
  topic;
@@ -32,7 +31,6 @@ export class MQTT {
32
31
  shouldReconnect = false;
33
32
  isReconnecting = false;
34
33
  reconnectCount = 0;
35
- idleMQTTTimer = null;
36
34
  listeners = new Map();
37
35
  constructor(log, config, onConnect, caller) {
38
36
  this.log = log;
@@ -62,8 +60,10 @@ export class MQTT {
62
60
  this.log.error(`${strings.mqtt.badOptions}:\n"${this.config.options}"`, this.caller);
63
61
  }
64
62
  const options = {
65
- ...additionalOptions,
66
63
  reconnectPeriod: 0,
64
+ username: this.config.username,
65
+ password: this.config.password,
66
+ ...additionalOptions,
67
67
  };
68
68
  this.client = mqtt.connect(this.config.broker, options);
69
69
  this.client.on('connect', () => {
@@ -95,7 +95,6 @@ export class MQTT {
95
95
  }
96
96
  messageReceived(topic, message) {
97
97
  this.reconnectCount = 0;
98
- this.resetIdleMQTTTimer();
99
98
  try {
100
99
  this.log.ifVerbose(strings.mqtt.receivedMessage, this.caller, topic, message);
101
100
  const listener = this.listeners.get(topic);
@@ -124,15 +123,6 @@ export class MQTT {
124
123
  this.log.ifVerbose(strings.mqtt.connectionClosed, this.caller);
125
124
  this.reconnect();
126
125
  }
127
- resetIdleMQTTTimer() {
128
- if (this.idleMQTTTimer) {
129
- clearTimeout(this.idleMQTTTimer);
130
- }
131
- this.idleMQTTTimer = setTimeout(() => {
132
- this.log.ifVerbose(strings.mqtt.idleConnection, this.caller);
133
- this.reconnect();
134
- }, IDLE_CONNECTION_TIMER_INTERVAL);
135
- }
136
126
  async reconnect() {
137
127
  if (!this.shouldReconnect || this.isReconnecting) {
138
128
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../src/model/mqtt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../src/model/mqtt.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAyB,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAO,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AAIvF,MAAM,YAAY;IAOL;IALX,KAAK,CAAS;IACd,QAAQ,CAAW;IAEnB,YACE,KAAa,EACJ,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;QAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF;AAMD,MAAM,OAAO,IAAI;IASI;IACA;IACA;IACA;IAXX,MAAM,GAA2B,IAAI,CAAC;IACtC,eAAe,GAAG,KAAK,CAAC;IACxB,cAAc,GAAG,KAAK,CAAC;IACvB,cAAc,GAAG,CAAC,CAAC;IAEnB,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEpD,YACmB,GAAQ,EACR,MAAkB,EAClB,SAAqB,EACrB,MAAc;QAHd,QAAG,GAAH,GAAG,CAAK;QACR,WAAM,GAAN,MAAM,CAAY;QAClB,cAAS,GAAT,SAAS,CAAY;QACrB,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAEM,OAAO;QAEZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,GAAG,iBAAiB;SACrB,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE/F,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAgB,EAAE,EAAE;YAC3C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CAAC,KAAa,EAAE,OAA2B;QAEzD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAgB;QAErC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,OAAe;QAEpD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAE9E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YAED,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACzC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;oBAC5D,8DAA8D;oBAC9D,KAAK,GAAI,KAAa,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,SAAS,CAAC;oBAClB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,SAAS;QAErB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,cAAc,GAAG,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC;QAC5F,CAAC;QAED,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC;CACF"}
@@ -1,3 +1,5 @@
1
+ export type ServiceType = typeof import('homebridge').Service;
2
+ export type CharacteristicType = typeof import('homebridge').Characteristic;
1
3
  export type Primitive = string | number | boolean;
2
4
  export declare function toPrimitive(value: any): Primitive;
3
5
  export type Assertable = {};
@@ -11,6 +13,8 @@ export type InfoConfig = Assertable & {
11
13
  };
12
14
  export type MQTTConfig = Assertable & {
13
15
  broker: string;
16
+ username?: string;
17
+ password?: string;
14
18
  options?: string;
15
19
  };
16
20
  export type AccessoryConfig = Assertable & {
@@ -18,21 +22,38 @@ export type AccessoryConfig = Assertable & {
18
22
  info: InfoConfig;
19
23
  disableLogging: boolean;
20
24
  };
21
- export type LockConfig = Assertable & AccessoryConfig & {
22
- topicGetCurrent: string;
23
- topicGetTarget: string;
24
- topicSetTarget: string;
25
- topicGetActive?: string;
26
- valueSecured: string;
27
- valueUnsecured: string;
28
- valueJammed?: string;
29
- valueActive?: string;
30
- };
31
- export type SwitchConfig = Assertable & AccessoryConfig & {
25
+ export type StatusActiveConfig = AccessoryConfig & {
26
+ topicGetStatusActive?: string;
27
+ valueStatusActive?: string;
28
+ };
29
+ export type LockMechanismConfig = StatusActiveConfig & {
30
+ topicGetLockCurrentState: string;
31
+ topicGetLockTargetState: string;
32
+ topicSetTargetState: string;
33
+ valueLockStateSecured: string;
34
+ valueLockStateUnsecured: string;
35
+ valueLockStateJammed?: string;
36
+ };
37
+ export type OnOffConfig = StatusActiveConfig & {
32
38
  topicGetOn: string;
33
39
  topicSetOn: string;
34
- topicGetActive?: string;
35
40
  valueOn: string;
36
41
  valueOff: string;
37
- valueActive?: string;
38
42
  };
43
+ export type LightbulbConfig = OnOffConfig & {
44
+ topicGetBrightness?: string;
45
+ topicGetHue?: string;
46
+ topicGetColorTemperature?: string;
47
+ topicGetSaturation?: string;
48
+ topicSetBrightness?: string;
49
+ topicSetHue?: string;
50
+ topicSetColorTemperature?: string;
51
+ topicSetSaturation?: string;
52
+ };
53
+ export type OutletConfig = OnOffConfig & {
54
+ topicGetOutletInUse?: string;
55
+ topicSetOutletInUse?: string;
56
+ valueOutletInUse?: string;
57
+ valueOutletNotInUse?: string;
58
+ };
59
+ export type SwitchConfig = OnOffConfig & {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CAAC,KAAU;IAEpC,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAKA,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CAAC,KAAU;IAEpC,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName": "Homebridge Easy MQTT",
5
5
  "description": "Homebridge plugin for easy control of MQTT devices",
6
6
  "type": "module",
7
- "version": "1.0.0-beta.0",
7
+ "version": "1.0.0-beta.1",
8
8
  "homepage": "https://github.com/mpatfield/homebridge-easy-mqtt#readme",
9
9
  "repository": {
10
10
  "type": "git",