@vectronic/homebridge-nut 2.1.1 → 2.2.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.
package/README.md CHANGED
@@ -37,22 +37,30 @@ Example `config.json` entry:
37
37
  "platforms": [
38
38
  {
39
39
  "platform": "Nut",
40
+ "name": "Nut",
40
41
  "host": "localhost",
41
42
  "port": 3493,
43
+ "username": "foo",
44
+ "password": "bar",
42
45
  "low_batt_threshold": 40,
43
46
  "poll_interval": 60,
44
- "connect_interval": 60,
47
+ "connect_interval": 5,
48
+ "command_interval": 1
45
49
  }
46
50
  ]
47
51
  ```
48
52
 
49
- Where:
53
+ Where the following properties are all optional:
50
54
 
55
+ * `name` is the name used for Homebridge logging. Default is `Nut`.
51
56
  * `host` is the IP or hostname for the Nut Client. Default is `localhost`.
52
57
  * `port` is the port for the Nut Client. Default is `3493`.
53
- * `low_batt_threshold` is the battery level percentage at which to set the Low Battery Status to true. Default is 40.
54
- * `poll_interval` is the UPS polling interval in seconds. Default is 60.
55
- * `connect_interval` is the NUT client connection attempt interval in seconds. Default is 5.
58
+ * `username` is the username to use for Nut Client authentication.
59
+ * `password` is the password to use for Nut Client authentication.
60
+ * `low_batt_threshold` is the battery level percentage at which to set the Low Battery Status to true. Default is `40`.
61
+ * `poll_interval` is the UPS polling interval in seconds. Default is `60`.
62
+ * `connect_interval` is the NUT client connection attempt interval in seconds. Default is `5`.
63
+ * `command_interval` is the NUT client delay interval between success requests in seconds. Default is `1`.
56
64
 
57
65
  # Help etc.
58
66
 
@@ -5,6 +5,11 @@
5
5
  "schema": {
6
6
  "type": "object",
7
7
  "properties": {
8
+ "name": {
9
+ "type": "string",
10
+ "description": "Name used for Homebridge logging.",
11
+ "default": "Nut"
12
+ },
8
13
  "host": {
9
14
  "type": "string",
10
15
  "description": "IP or hostname for the Nut Client.",
@@ -15,6 +20,14 @@
15
20
  "description": "The port for the Nut Client.",
16
21
  "default": 3493
17
22
  },
23
+ "username": {
24
+ "type": "string",
25
+ "description": "Username to use for Nut Client authentication."
26
+ },
27
+ "password": {
28
+ "type": "string",
29
+ "description": "Password to use for Nut Client authentication."
30
+ },
18
31
  "low_batt_threshold": {
19
32
  "type": "number",
20
33
  "description": "The battery level percentage at which to set the Low Battery Status to true.",
@@ -29,6 +42,11 @@
29
42
  "type": "number",
30
43
  "description": "The NUT client connection attempt interval in seconds.",
31
44
  "default": 5
45
+ },
46
+ "command_interval": {
47
+ "type": "number",
48
+ "description": "The NUT client delay interval between success requests in seconds.",
49
+ "default": 1
32
50
  }
33
51
  }
34
52
  }
@@ -22,8 +22,6 @@ export declare type Ups = {
22
22
  */
23
23
  export declare class NutUPSAccessory {
24
24
  private readonly platform;
25
- private readonly accessory;
26
- private ups;
27
25
  private contactSensorService;
28
26
  private batteryService;
29
27
  constructor(platform: NutHomebridgePlatform, accessory: PlatformAccessory, ups: Ups);
@@ -1 +1 @@
1
- {"version":3,"file":"nutUpsAccessory.d.ts","sourceRoot":"","sources":["../src/nutUpsAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EAEpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,oBAAY,GAAG,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,CAAA;AAED;;GAEG;AACH,qBAAa,eAAe;IAKpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,GAAG;IANf,OAAO,CAAC,oBAAoB,CAAU;IACtC,OAAO,CAAC,cAAc,CAAU;gBAGX,QAAQ,EAAE,qBAAqB,EAC/B,SAAS,EAAE,iBAAiB,EACrC,GAAG,EAAE,GAAG;IA0DpB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG;CAsClB"}
1
+ {"version":3,"file":"nutUpsAccessory.d.ts","sourceRoot":"","sources":["../src/nutUpsAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EAEpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,oBAAY,GAAG,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,CAAA;AAED;;GAEG;AACH,qBAAa,eAAe;IAKpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ7B,OAAO,CAAC,oBAAoB,CAAU;IACtC,OAAO,CAAC,cAAc,CAAU;gBAGX,QAAQ,EAAE,qBAAqB,EAChD,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EAAE,GAAG;IA0DZ;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG;CAuClB"}
@@ -7,21 +7,19 @@ exports.NutUPSAccessory = void 0;
7
7
  class NutUPSAccessory {
8
8
  constructor(platform, accessory, ups) {
9
9
  this.platform = platform;
10
- this.accessory = accessory;
11
- this.ups = ups;
12
10
  // set accessory information
13
- this.accessory.getService(this.platform.Service.AccessoryInformation)
11
+ accessory.getService(this.platform.Service.AccessoryInformation)
14
12
  .setCharacteristic(this.platform.Characteristic.Manufacturer, ups.manufacturer)
15
13
  .setCharacteristic(this.platform.Characteristic.Model, ups.model)
16
14
  .setCharacteristic(this.platform.Characteristic.SerialNumber, ups.serialNumber)
17
15
  .setCharacteristic(this.platform.Characteristic.FirmwareRevision, ups.firmwareRevision)
18
- .setCharacteristic(this.platform.Characteristic.Name, this.ups.name);
16
+ .setCharacteristic(this.platform.Characteristic.Name, ups.name);
19
17
  // get the ContactSensor service if it exists, otherwise create a new ContactSensor service
20
- if (this.accessory.getService(this.platform.Service.ContactSensor)) {
21
- this.contactSensorService = this.accessory.getService(this.platform.Service.ContactSensor);
18
+ if (accessory.getService(this.platform.Service.ContactSensor)) {
19
+ this.contactSensorService = accessory.getService(this.platform.Service.ContactSensor);
22
20
  }
23
21
  else {
24
- this.contactSensorService = this.accessory.addService(this.platform.Service.ContactSensor);
22
+ this.contactSensorService = accessory.addService(this.platform.Service.ContactSensor);
25
23
  this.contactSensorService.addCharacteristic(this.platform.Characteristic.StatusActive);
26
24
  this.contactSensorService.addCharacteristic(this.platform.Characteristic.StatusFault);
27
25
  this.contactSensorService.addCharacteristic(this.platform.Characteristic.CurrentTemperature);
@@ -38,27 +36,26 @@ class NutUPSAccessory {
38
36
  // this.contactSensorService.setCharacteristic(this.platform.Characteristic.UpsPowerConsumption, 0);
39
37
  // this.contactSensorService.setCharacteristic(this.platform.Characteristic.UpsPowerConsumptionLevel, 0);
40
38
  // set the service name, this is what is displayed as the default name on the Home app
41
- this.contactSensorService.setCharacteristic(this.platform.Characteristic.Name, this.ups.name);
39
+ this.contactSensorService.setCharacteristic(this.platform.Characteristic.Name, ups.name);
42
40
  // get the Battery service if it exists, otherwise create a new Battery service
43
- if (this.accessory.getService(this.platform.Service.BatteryService)) {
44
- this.batteryService = this.accessory.getService(this.platform.Service.BatteryService);
41
+ if (accessory.getService(this.platform.Service.BatteryService)) {
42
+ this.batteryService = accessory.getService(this.platform.Service.BatteryService);
45
43
  }
46
44
  else {
47
- this.batteryService = this.accessory.addService(this.platform.Service.BatteryService);
45
+ this.batteryService = accessory.addService(this.platform.Service.BatteryService);
48
46
  }
49
47
  // set default initial state
50
48
  this.batteryService.setCharacteristic(this.platform.Characteristic.BatteryLevel, 0);
51
49
  this.batteryService.setCharacteristic(this.platform.Characteristic.ChargingState, this.platform.Characteristic.ChargingState.CHARGING);
52
50
  this.batteryService.setCharacteristic(this.platform.Characteristic.StatusLowBattery, this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL);
53
51
  // set the service name, this is what is displayed as the default name on the Home app
54
- this.batteryService.setCharacteristic(this.platform.Characteristic.Name, this.ups.name);
52
+ this.batteryService.setCharacteristic(this.platform.Characteristic.Name, ups.name);
55
53
  }
56
54
  /**
57
55
  * Handle update from nut client
58
56
  */
59
57
  update(ups) {
60
58
  this.platform.log.debug('update()');
61
- this.ups = ups;
62
59
  this.contactSensorService.updateCharacteristic(this.platform.Characteristic.StatusFault, ups.fault ?
63
60
  this.platform.Characteristic.StatusFault.GENERAL_FAULT :
64
61
  this.platform.Characteristic.StatusFault.NO_FAULT);
@@ -66,7 +63,9 @@ class NutUPSAccessory {
66
63
  this.platform.Characteristic.ContactSensorState.CONTACT_NOT_DETECTED :
67
64
  this.platform.Characteristic.ContactSensorState.CONTACT_DETECTED);
68
65
  this.contactSensorService.updateCharacteristic(this.platform.Characteristic.StatusActive, ups.active ? 1 : 0);
69
- this.contactSensorService.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, ups.temperature);
66
+ if (!isNaN(ups.temperature)) {
67
+ this.contactSensorService.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, ups.temperature);
68
+ }
70
69
  // TODO: workout how to define new characteristics
71
70
  // this.contactSensorService.updateCharacteristic(this.platform.Characteristic.UpsPowerConsumption,
72
71
  // ups.powerConsumption);
@@ -77,7 +76,7 @@ class NutUPSAccessory {
77
76
  this.batteryService.updateCharacteristic(this.platform.Characteristic.StatusLowBattery, ups.lowBattery ?
78
77
  this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW :
79
78
  this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL);
80
- this.platform.log.debug(`pushed changed UPS state to HomeKit for ${this.ups.key}=${this.ups.name}`);
79
+ this.platform.log.debug(`pushed changed UPS state to HomeKit for ${ups.key}=${ups.name}`);
81
80
  }
82
81
  }
83
82
  exports.NutUPSAccessory = NutUPSAccessory;
@@ -1 +1 @@
1
- {"version":3,"file":"nutUpsAccessory.js","sourceRoot":"","sources":["../src/nutUpsAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nutUpsAccessory.js","sourceRoot":"","sources":["../src/nutUpsAccessory.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,14 @@ export declare class NutHomebridgePlatform implements DynamicPlatformPlugin {
17
17
  private upsList;
18
18
  private readonly host;
19
19
  private readonly port;
20
+ private readonly username;
21
+ private readonly password;
20
22
  private readonly pollInterval;
21
23
  private readonly connectInterval;
24
+ private readonly commandInterval;
22
25
  private readonly lowBattThreshold;
23
26
  private nutClient;
27
+ commandDelay(): Promise<void>;
24
28
  constructor(log: Logger, config: PlatformConfig, api: API);
25
29
  /**
26
30
  * This function is invoked when homebridge restores cached accessories from disk at startup.
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAEH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EACjB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAmB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;aAgC3C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAhC5B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,mBAAmB,EAAE,iBAAiB,EAAE,CAAM;IAG9D,OAAO,CAAC,WAAW,CAAsC;IAGzD,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,YAAY,CAAS;IAG7B,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,OAAO,CAAC;IAEhB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,SAAS,CAAC;gBAGE,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA0B5B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAoD1B,YAAY,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,KAAA;IA+F/B,aAAa,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA;IAoB7B,cAAc;IA6BpB,QAAQ;IAmCR,QAAQ;IAOR,QAAQ,CAAC,KAAK,KAAA;IAId,YAAY;CA6Bf"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAEH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EACjB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAmB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;aAuC3C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAvC5B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,mBAAmB,EAAE,iBAAiB,EAAE,CAAM;IAG9D,OAAO,CAAC,WAAW,CAAsC;IAGzD,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,YAAY,CAAS;IAG7B,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,OAAO,CAAC;IAEhB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,SAAS,CAAC;IAEZ,YAAY;gBAKE,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA6B5B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAoD1B,YAAY,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,KAAA;IAiG/B,aAAa,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA;IA8B7B,cAAc;IA6BpB,QAAQ;IAkFR,QAAQ;IAOR,QAAQ,CAAC,KAAK,KAAA;IAId,YAAY;CA6Bf"}
package/dist/platform.js CHANGED
@@ -30,8 +30,11 @@ class NutHomebridgePlatform {
30
30
  log.debug('finished initializing platform');
31
31
  this.host = config.host || 'localhost';
32
32
  this.port = config.port || 3493;
33
+ this.username = config.username;
34
+ this.password = config.password;
33
35
  this.pollInterval = config.poll_interval || 60;
34
36
  this.connectInterval = config.connect_interval || 5;
37
+ this.commandInterval = config.command_interval || 1;
35
38
  this.lowBattThreshold = config.low_batt_threshold || 40;
36
39
  // When this event is fired it means Homebridge has restored all cached accessories from disk.
37
40
  api.on("didFinishLaunching" /* DID_FINISH_LAUNCHING */, () => {
@@ -44,6 +47,9 @@ class NutHomebridgePlatform {
44
47
  this.startPolling();
45
48
  });
46
49
  }
50
+ async commandDelay() {
51
+ await new Promise((resolve) => setTimeout(resolve, this.commandInterval * 1000));
52
+ }
47
53
  /**
48
54
  * This function is invoked when homebridge restores cached accessories from disk at startup.
49
55
  * It should be used to setup event handlers for characteristics and update respective values.
@@ -84,7 +90,7 @@ class NutHomebridgePlatform {
84
90
  const accessory = new this.api.platformAccessory(ups.name, uuid);
85
91
  // create the accessory handler for the newly created accessory
86
92
  nutUPSAccessory = new nutUpsAccessory_1.NutUPSAccessory(this, accessory, ups);
87
- this.upsByUpsKey.set(ups.name, nutUPSAccessory);
93
+ this.upsByUpsKey.set(ups.key, nutUPSAccessory);
88
94
  // link the accessory to your platform
89
95
  this.api.registerPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [accessory]);
90
96
  }
@@ -109,7 +115,7 @@ class NutHomebridgePlatform {
109
115
  const status = upsInfo['ups.status'];
110
116
  onBattery = status.startsWith('OB');
111
117
  }
112
- let temperature = -1;
118
+ let temperature = NaN;
113
119
  if ('ups.temperature' in upsInfo) {
114
120
  const temp = parseFloat(upsInfo['ups.temperature']);
115
121
  if ((temp !== undefined) && !isNaN(temp)) {
@@ -133,8 +139,8 @@ class NutHomebridgePlatform {
133
139
  chargingState = this.Characteristic.ChargingState.NOT_CHARGEABLE;
134
140
  }
135
141
  }
136
- let powerConsumption = 0;
137
- let powerConsumptionLevel = 0;
142
+ let powerConsumption = NaN;
143
+ let powerConsumptionLevel = NaN;
138
144
  if (('ups.status' in upsInfo) && ('ups.power.nominal' in upsInfo)) {
139
145
  const loadPercent = parseInt(upsInfo['ups.load']);
140
146
  const nominalPower = parseInt(upsInfo['ups.power.nominal']);
@@ -145,10 +151,12 @@ class NutHomebridgePlatform {
145
151
  }
146
152
  }
147
153
  }
148
- const manufacturer = upsInfo['device.mfr'] || upsInfo['ups.vendorid'] || 'No Manufacturer';
149
- const model = upsInfo['device.model'] || upsInfo['ups.productid'] || 'No Model';
150
- const serialNumber = upsInfo['ups.serial'] || 'No Serial';
151
- const firmwareRevision = upsInfo['ups.firmware'] || 'No Data';
154
+ // NUT manual says ups variables mirror device variables and will eventually be removed,
155
+ // so prefer device values over ups values
156
+ const manufacturer = upsInfo['device.mfr'] || upsInfo['ups.mfr'] || 'Unknown';
157
+ const model = upsInfo['device.model'] || upsInfo['ups.model'] || 'Unknown';
158
+ const serialNumber = upsInfo['device.serial'] || upsInfo['ups.serial'] || 'Unknown';
159
+ const firmwareRevision = upsInfo['ups.firmware'] || 'Unknown';
152
160
  const ups = {
153
161
  key: upsKey,
154
162
  name: upsName,
@@ -174,14 +182,21 @@ class NutHomebridgePlatform {
174
182
  new Promise((resolve, reject) => {
175
183
  this.nutClient.GetUPSVars(upsKey, (upsVars, err) => {
176
184
  if (err) {
185
+ this.log.debug('nut client: get UPS vars error');
177
186
  reject(err);
178
187
  return;
179
188
  }
189
+ this.log.debug('nut client: get UPS vars success');
180
190
  resolve(upsVars);
181
191
  });
182
192
  }).then((upsVars) => {
183
193
  const ups = this.parseUpsVars(upsKey, upsName, upsVars);
194
+ this.log.debug('parseUpsVars() success');
184
195
  this.createOrUpdateUps(ups);
196
+ this.log.debug('createOrUpdateUps() success');
197
+ }).then(() => {
198
+ // delay after get UPS Vars command
199
+ return this.commandDelay();
185
200
  })
186
201
  .catch((err) => {
187
202
  this.log.error(`error invoking GetUPSVars on nut client for device ${upsKey}=${upsName}: ${err.message}`);
@@ -213,12 +228,56 @@ class NutHomebridgePlatform {
213
228
  nutReady() {
214
229
  this.log.debug('nutReady()');
215
230
  new Promise((resolve, reject) => {
216
- this.nutClient.GetUPSList((upsList, err) => {
231
+ if (this.username === undefined) {
232
+ resolve();
233
+ return;
234
+ }
235
+ this.nutClient.SetUsername(this.username, (err) => {
217
236
  if (err) {
218
237
  reject(err);
219
238
  return;
220
239
  }
221
- resolve(upsList);
240
+ resolve();
241
+ this.log.debug('nut client: username set success');
242
+ }).then(() => {
243
+ // delay after username command
244
+ return this.commandDelay();
245
+ });
246
+ }).then(() => {
247
+ return new Promise((resolve, reject) => {
248
+ if (this.password === undefined) {
249
+ resolve();
250
+ return;
251
+ }
252
+ this.nutClient.SetPassword(this.password, (err) => {
253
+ if (err) {
254
+ reject(err);
255
+ return;
256
+ }
257
+ resolve();
258
+ this.log.debug('nut client: password set success');
259
+ });
260
+ }).then(() => {
261
+ // delay after password command
262
+ return this.commandDelay();
263
+ });
264
+ }).then(() => {
265
+ let upsList = [];
266
+ return new Promise((resolve, reject) => {
267
+ this.nutClient.GetUPSList((upsListResponse, err) => {
268
+ if (err) {
269
+ reject(err);
270
+ return;
271
+ }
272
+ upsList = upsListResponse;
273
+ resolve();
274
+ this.log.debug('nut client: ups list success');
275
+ });
276
+ }).then(() => {
277
+ // delay after get UPS List command
278
+ return this.commandDelay();
279
+ }).then(() => {
280
+ return upsList;
222
281
  });
223
282
  }).then((upsList) => {
224
283
  // store the list of UPS devices
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAUA,wDAA2B;AAE3B,yCAAwD;AACxD,uDAAyD;AAEzD;;GAEG;AACH,MAAa,qBAAqB;IAsC9B,YACoB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAvCZ,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAEpF,oDAAoD;QACpC,wBAAmB,GAAwB,EAAE,CAAC;QAE9D,qGAAqG;QAC7F,gBAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;QAEzD,oEAAoE;QAC5D,kBAAa,GAAG,KAAK,CAAC;QAE9B,8CAA8C;QACtC,iBAAY,GAAG,KAAK,CAAC;QAE7B,kEAAkE;QAC1D,eAAU,GAAG,KAAK,CAAC;QAyBvB,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAExD,8FAA8F;QAC9F,GAAG,CAAC,EAAE,kDAAgC,GAAG,EAAE;YACvC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAEzC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAErD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAlCD,KAAK,CAAC,YAAY;QACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC;IAkCD;;;OAGG;IACH,kBAAkB,CAAC,SAA4B;QAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAExE,wGAAwG;QACxG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAElD,6DAA6D;QAC7D,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAE/B,8BAA8B;YAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEtD,IAAI,eAAe,EAAE;gBACjB,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC/B;YAED,OAAO;SACV;QAED,2CAA2C;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjD,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAE9F,IAAI,eAAe,CAAC;QAEpB,IAAI,iBAAiB,EAAE;YACnB,+BAA+B;YAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,IAAI,OAAO,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;YAEhG,0DAA0D;YAC1D,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAEpE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;SAClD;aAAM;YACH,4DAA4D;YAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAEnD,yBAAyB;YACzB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjE,+DAA+D;YAC/D,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAE/C,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;SACjF;QAED,kDAAkD;QAClD,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO;QACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,MAAM,GAAG,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,MAAM,IAAI,OAAO,KAAK,CAAC,CAAC;QAE/D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAE7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,UAAU,IAAI,OAAO,EAAE;YACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;SAC/D;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,YAAY,IAAI,OAAO,EAAE;YACzB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAW,CAAC;YAC/C,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACvC;QAED,IAAI,WAAW,GAAG,GAAG,CAAC;QACtB,IAAI,iBAAiB,IAAI,OAAO,EAAE;YAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACtC,WAAW,GAAG,IAAI,CAAC;aACtB;SACJ;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,gBAAgB,IAAI,OAAO,EAAE;YAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBAC1C,YAAY,GAAG,MAAM,CAAC;aACzB;SACJ;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC;QACnE,IAAI,YAAY,IAAI,OAAO,EAAE;YACzB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAW,CAAC;YAClD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE;gBAC/C,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC;aAC9D;iBAAM,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,IAAI,EAAE;gBACzD,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC;aACpE;SACJ;QAED,IAAI,gBAAgB,GAAG,GAAG,CAAC;QAC3B,IAAI,qBAAqB,GAAG,GAAG,CAAC;QAEhC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,EAAE;YAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAE5D,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBACpD,qBAAqB,GAAG,WAAW,CAAC;gBAEpC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;oBACtD,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC;iBAC1E;aACJ;SACJ;QAED,wFAAwF;QACxF,0CAA0C;QAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;QAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;QACpF,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;QAE9D,MAAM,GAAG,GAAQ;YACb,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY;YACzB,MAAM;YACN,SAAS;YACT,WAAW;YACX,YAAY;YACZ,aAAa;YACb,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC,gBAAgB;YAChD,gBAAgB;YAChB,qBAAqB;YACrB,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;YACjC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;YACnB,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;YACjC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,EAAE;SAC5C,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE5D,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,MAAM,KAAK,OAAO,GAAG,CAAC,CAAC;QAEvD,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;gBAC/C,IAAI,GAAG,EAAE;oBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACjD,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;iBACV;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACnD,OAAO,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAExD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAEzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAE5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,mCAAmC;YACnC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,CAAC,CAAC;aACG,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,MAAM,IAAI,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,6EAA6E;QAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,YAAY,GAAyB,EAAE,CAAC;QAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,8EAA8E;YAC9E,IAAI,IAAI,KAAK,yBAAyB,EAAE;gBACpC,IAAI,GAAG,GAAG,CAAC;aACd;YACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;aACpB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACX,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC7B,OAAO,EAAE,CAAC;gBACV,OAAO;aACV;YACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9C,IAAI,GAAG,EAAE;oBACL,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;iBACV;gBACD,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACT,+BAA+B;gBAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oBAC7B,OAAO,EAAE,CAAC;oBACV,OAAO;iBACV;gBACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC9C,IAAI,GAAG,EAAE;wBACL,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,OAAO;qBACV;oBACD,OAAO,EAAE,CAAC;oBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACT,+BAA+B;gBAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAET,IAAI,OAAO,GAAG,EAAE,CAAC;YAEjB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAE3C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE;oBAC/C,IAAI,GAAG,EAAE;wBACL,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,OAAO;qBACV;oBACD,OAAO,GAAG,eAAe,CAAC;oBAC1B,OAAO,EAAE,CAAC;oBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACT,mCAAmC;gBACnC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACT,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAEhB,gCAAgC;YAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAEvB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAExC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;aAC7D;iBAAM;gBACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACpF;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC;aACG,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAE1E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;IACX,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,KAAK;QACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,YAAY;QACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEjC,qDAAqD;QACrD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAExC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;aAC/B;QACL,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAE7B,oCAAoC;QACpC,YAAY,CAAC,KAAK,EAAE,CAAC;QAErB,6DAA6D;QAC7D,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YAErC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAE3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEnE,6DAA6D;gBAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;aAC1B;QACL,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;QAEhC,oCAAoC;QACpC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACJ;AA3ZD,sDA2ZC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vectronic/homebridge-nut",
3
3
  "displayName": "Homebridge NUT (Network UPS Tools)",
4
- "version": "2.1.1",
4
+ "version": "2.2.1",
5
5
  "description": "A NUT (Network UPS Tools) Plugin for Homebridge leveraging node-nut.",
6
6
  "main": "dist/index.js",
7
7
  "repository": {