homebridge-foxess 1.0.21 → 1.0.23

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.
@@ -10,10 +10,10 @@ updates:
10
10
  - package-ecosystem: "github-actions"
11
11
  directory: "/"
12
12
  schedule:
13
- interval: "weekly"
13
+ interval: "monthly"
14
14
 
15
15
  # Maintain dependencies for npm
16
16
  - package-ecosystem: "npm"
17
17
  directory: "/"
18
18
  schedule:
19
- interval: "weekly"
19
+ interval: "monthly"
@@ -22,7 +22,7 @@ jobs:
22
22
  path: node_modules
23
23
  key: ${{ runner.os }}-node-${{ hashFiles('**/pnpm-lock.yaml') }}
24
24
  - name: Use Node.js 20.x
25
- uses: actions/setup-node@v4.0.2
25
+ uses: actions/setup-node@v4.0.3
26
26
  with:
27
27
  node-version: 20.x
28
28
  - uses: pnpm/action-setup@v4
@@ -1,4 +1,4 @@
1
- name: Auto-merge Dependabot
1
+ name: Auto-merge
2
2
  on: pull_request
3
3
 
4
4
  permissions:
@@ -14,7 +14,7 @@ jobs:
14
14
 
15
15
  strategy:
16
16
  matrix:
17
- node-version: [18.x, 20.x]
17
+ node-version: [18.x, 20.x, 22.x]
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v4
@@ -24,7 +24,7 @@ jobs:
24
24
  path: node_modules
25
25
  key: ${{ runner.os }}-node-${{ hashFiles('**/pnpm-lock.yaml') }}
26
26
  - name: Use Node.js ${{ matrix.node-version }}
27
- uses: actions/setup-node@v4.0.2
27
+ uses: actions/setup-node@v4.0.3
28
28
  with:
29
29
  node-version: ${{ matrix.node-version }}
30
30
  - uses: pnpm/action-setup@v4
@@ -25,10 +25,10 @@ jobs:
25
25
  with:
26
26
  path: node_modules
27
27
  key: ${{ runner.os }}-node-${{ hashFiles('**/pnpm-lock.json') }}
28
- - name: Use Node.js 20.x
29
- uses: actions/setup-node@v4.0.2
28
+ - name: Use Node.js 18.x
29
+ uses: actions/setup-node@v4.0.3
30
30
  with:
31
- node-version: 20.x
31
+ node-version: 18.x
32
32
  - uses: pnpm/action-setup@v4
33
33
  - run: corepack up
34
34
  - name: Create Pull Request
@@ -12,7 +12,7 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
14
  - uses: actions/checkout@v4
15
- - uses: actions/setup-node@v4.0.2
15
+ - uses: actions/setup-node@v4.0.3
16
16
  with:
17
17
  node-version: 18
18
18
  registry-url: https://registry.npmjs.org/
@@ -34,7 +34,7 @@ jobs:
34
34
  with:
35
35
  ref: main
36
36
  fetch-tags: true
37
- - uses: actions/setup-node@v4.0.2
37
+ - uses: actions/setup-node@v4.0.3
38
38
  with:
39
39
  node-version: 18
40
40
  registry-url: https://registry.npmjs.org/
@@ -10,6 +10,16 @@
10
10
  "cwd": "${workspaceRoot}",
11
11
  "internalConsoleOptions": "openOnSessionStart"
12
12
  },
13
+ {
14
+ "name": "Homebridge",
15
+ "type": "node",
16
+ "request": "launch",
17
+ "args": ["node_modules/homebridge/bin/homebridge"],
18
+ "runtimeArgs": ["-r", "ts-node/register"],
19
+ "cwd": "${workspaceFolder}",
20
+ "internalConsoleOptions": "openOnSessionStart",
21
+ "preLaunchTask": "npm: debugIde"
22
+ },
13
23
  {
14
24
  "name": "Main",
15
25
  "type": "node",
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InverterAccessory = exports.Variables = void 0;
3
+ exports.InverterAccessory = exports.DisplayNames = void 0;
4
4
  const minLightLevel = 0.0001;
5
- exports.Variables = new Map([
5
+ exports.DisplayNames = new Map([
6
6
  ['loadsPower', 'Load Power'],
7
7
  ['generationPower', 'Output Power'],
8
- ['feedinPower', 'Feed-in Power'],
8
+ ['feedinPower', 'Feed in Power'],
9
9
  ['gridConsumptionPower', 'Grid Consumption Power']
10
10
  ]);
11
11
  class InverterAccessory {
@@ -33,9 +33,9 @@ class InverterAccessory {
33
33
  .setCharacteristic(this.platform.Characteristic.SerialNumber, this.inverter.deviceSN)
34
34
  .setCharacteristic(this.platform.Characteristic.HardwareRevision, this.inverter.productType);
35
35
  configuredServices.push(informationService);
36
- exports.Variables.forEach((displayName, variable) => {
37
- this.platform.log.debug('Creating service for', displayName);
38
- const service = this.accessory.getService(displayName) ?? this.accessory.addService(this.platform.Service.LightSensor, displayName, variable);
36
+ exports.DisplayNames.forEach((displayName, variable) => {
37
+ this.platform.log.debug(`Creating light sensor for ${displayName} (${variable})`);
38
+ const service = this.accessory.getService(variable) ?? this.accessory.addService(this.platform.Service.LightSensor, undefined, variable);
39
39
  this.values.set(variable, minLightLevel);
40
40
  service.setCharacteristic(this.platform.Characteristic.Name, displayName);
41
41
  service.setCharacteristic(this.platform.Characteristic.StatusActive, false);
@@ -55,8 +55,10 @@ class InverterAccessory {
55
55
  this.accessory.removeService(service);
56
56
  });
57
57
  }
58
- setupSwitch(configuredServices, name, variable, handler) {
59
- const service = this.accessory.getService(name) ?? this.accessory.addService(this.platform.Service.Switch, name, variable);
58
+ setupSwitch(configuredServices, displayName, variable, handler) {
59
+ this.platform.log.debug(`Creating switch '${displayName}' (${variable})`);
60
+ const service = this.accessory.getService(variable) ?? this.accessory.addService(this.platform.Service.Switch, undefined, variable);
61
+ service.displayName = displayName;
60
62
  const characteristic = service.getCharacteristic(this.platform.Characteristic.On);
61
63
  characteristic.onSet(this.updateSwitches.bind(this));
62
64
  characteristic.onGet(handler.bind(this));
@@ -78,14 +80,9 @@ class InverterAccessory {
78
80
  update(value) {
79
81
  this.platform.log.debug('Updating', this.accessory.displayName, 'with', value.datas.length, 'value(s)');
80
82
  value.datas.forEach((data) => {
81
- const serviceName = exports.Variables.get(data.variable);
82
- if (serviceName === undefined) {
83
- this.platform.log.error('Received real-time data for an unknown variable:', data.variable);
84
- return;
85
- }
86
- const service = this.accessory.getService(serviceName);
83
+ const service = this.accessory.getService(data.variable);
87
84
  if (service === undefined) {
88
- this.platform.log.error('Unable to find service for', serviceName);
85
+ this.platform.log.error('Unable to find service for', data.variable);
89
86
  return;
90
87
  }
91
88
  const newValue = Math.max(data.value * 1000, minLightLevel);
@@ -1 +1 @@
1
- {"version":3,"file":"inverterAccessory.js","sourceRoot":"","sources":["../../src/accessories/inverterAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inverterAccessory.js","sourceRoot":"","sources":["../../src/accessories/inverterAccessory.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -36,15 +36,15 @@ class FoxESSPlatform {
36
36
  (async () => {
37
37
  try {
38
38
  await this.discoverDevices();
39
- this.log.debug(`Updating every ${this.interval}ms`);
39
+ this.log.debug(`Updating every ${this.interval.toString()}ms`);
40
40
  setInterval(this.update.bind(this), this.interval);
41
41
  this.update();
42
42
  }
43
43
  catch (e) {
44
- this.log.error(`Unable to discover. Will retry after ${minInterval}ms`, e);
44
+ this.log.error(`Unable to discover. Will retry after ${minInterval.toString()}ms`, e);
45
45
  setTimeout(this.initialise.bind(this), minInterval);
46
46
  }
47
- })().catch((e) => { this.log.error(`Unable to initialise: ${e}`); });
47
+ })().catch((e) => { this.log.error('Unable to initialise: ', e); });
48
48
  }
49
49
  configureAccessory(accessory) {
50
50
  this.log.debug('Loading accessory from cache:', accessory.displayName);
@@ -107,7 +107,7 @@ class FoxESSPlatform {
107
107
  }
108
108
  async updateCurrentLevel() {
109
109
  this.log.debug('Fetching real time data');
110
- const results = await foxess_lib_1.inverter.getRealTimeData(this.apiKey, { variables: Array.from(inverterAccessory_1.Variables.keys()) });
110
+ const results = await foxess_lib_1.inverter.getRealTimeData(this.apiKey, { variables: Array.from(inverterAccessory_1.DisplayNames.keys()) });
111
111
  if (results === undefined) {
112
112
  this.log.warn('No results came through.');
113
113
  return;
@@ -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":";;;AACA,yCAAuD;AACvD,uEAAiF;AAEjF,2CAAqC;AAErC,MAAM,WAAW,GAAW,EAAE,GAAG,IAAI,CAAA;AAErC,MAAa,cAAc;IAaP;IACA;IACA;IAdF,MAAM,CAAQ;IACb,QAAQ,CAAQ;IAChB,UAAU,CAAwB;IAC3C,SAAS,GAAG,CAAC,CAAA;IACL,OAAO,CAAgB;IACvB,cAAc,CAAuB;IACpC,SAAS,GAAmC,IAAI,GAAG,EAA6B,CAAA;IAGjF,WAAW,GAAwB,EAAE,CAAA;IAErD,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAExB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAA;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,UAAwB,CAAC,CAAC,CAAC,SAAS,CAAA;QAClG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,EAAE,WAAW,CAAC,CAAA;QAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACrC,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACjD,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,UAAU;QAChB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;gBAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAC9D,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAClD,IAAI,CAAC,MAAM,EAAE,CAAA;YACf,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBACtF,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAA;YACrD,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,kBAAkB,CAAC,SAA4B;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;QACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;IAED,eAAe,CAAC,SAA4B;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;QAC3D,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACjF,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,SAAS,GAAG,MAAM,qBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,SAAS,CAAC,OAA4B,CAAA;YACtD,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YACtH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,QAA2B;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAqD,CAAA;QACzI,MAAM,WAAW,GAAG,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACnD,IAAI,iBAAiB,KAAK,SAAS,IAAI,aAAa,IAAI,iBAAiB,EAAE,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;YACxF,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAA;YACpC,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAA;YAC3C,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,qCAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACxG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAA;YACnD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAoB,WAAW,EAAE,IAAI,CAAC,CAAA;YACtF,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAA;YAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,qCAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YAC9F,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,kBAAkB,EAAE;aACtB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC;aAClC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;YACpB,MAAM,OAAO,GAAG,0BAA0B,CAAA;YAC1C,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,MAAM,qBAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,gCAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;QAC3G,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;YACzC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACrD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC5C,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AA3HD,wCA2HC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-foxess",
3
3
  "displayName": "Homebridge FoxESS",
4
- "version": "1.0.21",
4
+ "version": "1.0.23",
5
5
  "description": "Basic utility accessories for displaying solar FoxESS solar information in Homebridge: https://github.com/nfarina/homebridge",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -27,26 +27,27 @@
27
27
  "main": "dist/index.js",
28
28
  "engines": {
29
29
  "node": ">=18.0.0",
30
- "homebridge": ">=1.7.0"
30
+ "homebridge": ">=1.7.0 || ^2.0.0-beta.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@stylistic/eslint-plugin": "^2.1.0",
34
- "@types/node": "^20.12.8",
34
+ "@types/node": "^22.0.0",
35
35
  "eslint": "^8.57.0",
36
- "homebridge": "^1.8.1",
37
- "rimraf": "^5.0.5",
36
+ "homebridge": "^1.8.2",
37
+ "rimraf": "^6.0.1",
38
38
  "ts-node": "^10.9.2",
39
39
  "typescript": "^5.4.5",
40
- "typescript-eslint": "^7.8.0"
40
+ "typescript-eslint": "^7.13.0"
41
41
  },
42
42
  "dependencies": {
43
- "foxess-lib": "^0.2.9"
43
+ "foxess-lib": "^0.3.0"
44
44
  },
45
45
  "scripts": {
46
46
  "forceClean": "rimraf ./dist",
47
47
  "build": "tsc",
48
- "lint": "eslint --max-warnings=0 src/**/*.ts",
49
- "lintAndFix": "eslint --fix --max-warnings=0 src/**/*.ts",
48
+ "debugIde": "pnpm build && pnpm link .",
49
+ "lint": "pnpm eslint --max-warnings=0 src",
50
+ "lintAndFix": "eslint --fix --max-warnings=0 src",
50
51
  "debug": "pnpm build && homebridge -I -D -P ."
51
52
  }
52
53
  }
@@ -4,10 +4,10 @@ import type { Indicators } from '../indicators'
4
4
  import { inverter } from 'foxess-lib'
5
5
  const minLightLevel = 0.0001
6
6
 
7
- export const Variables: Map<string, string> = new Map<string, string>([
7
+ export const DisplayNames: Map<string, string> = new Map<string, string>([
8
8
  ['loadsPower', 'Load Power'], // Load Power (kW); House usage.
9
9
  ['generationPower', 'Output Power'], // Output Power (kW); Solar generation.
10
- ['feedinPower', 'Feed-in Power'], // Feed-in Power (kW); Exported power.
10
+ ['feedinPower', 'Feed in Power'], // Feed-in Power (kW); Exported power.
11
11
  ['gridConsumptionPower', 'Grid Consumption Power'] // GridConsumption Power (kW); Imported power.
12
12
  ])
13
13
 
@@ -35,9 +35,9 @@ export class InverterAccessory {
35
35
 
36
36
  configuredServices.push(informationService)
37
37
 
38
- Variables.forEach((displayName, variable) => {
39
- this.platform.log.debug('Creating service for', displayName)
40
- const service = this.accessory.getService(displayName) ?? this.accessory.addService(this.platform.Service.LightSensor, displayName, variable)
38
+ DisplayNames.forEach((displayName, variable) => {
39
+ this.platform.log.debug(`Creating light sensor for ${displayName} (${variable})`)
40
+ const service = this.accessory.getService(variable) ?? this.accessory.addService(this.platform.Service.LightSensor, undefined, variable)
41
41
  this.values.set(variable, minLightLevel)
42
42
  service.setCharacteristic(this.platform.Characteristic.Name, displayName)
43
43
  service.setCharacteristic(this.platform.Characteristic.StatusActive, false)
@@ -60,8 +60,10 @@ export class InverterAccessory {
60
60
  })
61
61
  }
62
62
 
63
- private setupSwitch(configuredServices: Service[], name: string, variable: string, handler: CharacteristicGetHandler): Characteristic {
64
- const service = this.accessory.getService(name) ?? this.accessory.addService(this.platform.Service.Switch, name, variable)
63
+ private setupSwitch(configuredServices: Service[], displayName: string, variable: string, handler: CharacteristicGetHandler): Characteristic {
64
+ this.platform.log.debug(`Creating switch '${displayName}' (${variable})`)
65
+ const service = this.accessory.getService(variable) ?? this.accessory.addService(this.platform.Service.Switch, undefined, variable)
66
+ service.displayName = displayName
65
67
  const characteristic = service.getCharacteristic(this.platform.Characteristic.On)
66
68
  characteristic.onSet(this.updateSwitches.bind(this))
67
69
  characteristic.onGet(handler.bind(this))
@@ -86,14 +88,9 @@ export class InverterAccessory {
86
88
  public update(value: inverter.RealTimeData): void {
87
89
  this.platform.log.debug('Updating', this.accessory.displayName, 'with', value.datas.length, 'value(s)')
88
90
  value.datas.forEach((data) => {
89
- const serviceName = Variables.get(data.variable)
90
- if (serviceName === undefined) {
91
- this.platform.log.error('Received real-time data for an unknown variable:', data.variable)
92
- return
93
- }
94
- const service = this.accessory.getService(serviceName)
91
+ const service = this.accessory.getService(data.variable)
95
92
  if (service === undefined) {
96
- this.platform.log.error('Unable to find service for', serviceName)
93
+ this.platform.log.error('Unable to find service for', data.variable)
97
94
  return
98
95
  }
99
96
  const newValue = Math.max(data.value * 1000, minLightLevel)
package/src/platform.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type API, type DynamicPlatformPlugin, type Logger, type PlatformAccessory, type PlatformConfig, type Service, type Characteristic } from 'homebridge'
2
2
  import { PLATFORM_NAME, PLUGIN_NAME } from './settings'
3
- import { InverterAccessory, Variables } from './accessories/inverterAccessory'
3
+ import { InverterAccessory, DisplayNames } from './accessories/inverterAccessory'
4
4
  import { type Indicators } from './indicators'
5
5
  import { inverter } from 'foxess-lib'
6
6
 
@@ -39,14 +39,14 @@ export class FoxESSPlatform implements DynamicPlatformPlugin {
39
39
  (async () => {
40
40
  try {
41
41
  await this.discoverDevices()
42
- this.log.debug(`Updating every ${this.interval}ms`)
42
+ this.log.debug(`Updating every ${this.interval.toString()}ms`)
43
43
  setInterval(this.update.bind(this), this.interval)
44
44
  this.update()
45
45
  } catch (e) {
46
- this.log.error(`Unable to discover. Will retry after ${minInterval}ms`, e)
46
+ this.log.error(`Unable to discover. Will retry after ${minInterval.toString()}ms`, e)
47
47
  setTimeout(this.initialise.bind(this), minInterval)
48
48
  }
49
- })().catch((e) => { this.log.error(`Unable to initialise: ${e}`) })
49
+ })().catch((e: unknown) => { this.log.error('Unable to initialise: ', e) })
50
50
  }
51
51
 
52
52
  configureAccessory(accessory: PlatformAccessory): void {
@@ -101,7 +101,7 @@ export class FoxESSPlatform implements DynamicPlatformPlugin {
101
101
  update(): void {
102
102
  this.updateCurrentLevel()
103
103
  .then(() => { this.failCount = 0 })
104
- .catch((e) => {
104
+ .catch((e: unknown) => {
105
105
  const message = 'Unable to update levels:'
106
106
  if (++this.failCount < 10) {
107
107
  this.log.warn(message, e)
@@ -113,7 +113,7 @@ export class FoxESSPlatform implements DynamicPlatformPlugin {
113
113
 
114
114
  async updateCurrentLevel(): Promise<void> {
115
115
  this.log.debug('Fetching real time data')
116
- const results = await inverter.getRealTimeData(this.apiKey, { variables: Array.from(Variables.keys()) })
116
+ const results = await inverter.getRealTimeData(this.apiKey, { variables: Array.from(DisplayNames.keys()) })
117
117
  if (results === undefined) {
118
118
  this.log.warn('No results came through.')
119
119
  return