homebridge-enphase-envoy 9.9.0 → 9.9.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [9.9.2] - (15.03.2025)
9
+
10
+ ## Changes
11
+
12
+ - fix [#182](https://github.com/grzegorz914/homebridge-enphase-envoy/issues/182)
13
+ - cleanup
14
+
15
+ ## [9.9.1] - (15.03.2025)
16
+
17
+ ## Changes
18
+
19
+ - fix [#181](https://github.com/grzegorz914/homebridge-enphase-envoy/issues/181)
20
+ - cleanup
21
+
8
22
  ## [9.9.0] - (14.03.2025)
9
23
 
10
24
  ## Changes
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "displayName": "Enphase Envoy",
4
4
  "name": "homebridge-enphase-envoy",
5
- "version": "9.9.0",
5
+ "version": "9.9.2",
6
6
  "description": "Homebridge plugin for Photovoltaic Energy System manufactured by Enphase.",
7
7
  "license": "MIT",
8
8
  "author": "grzegorz914",
@@ -879,7 +879,13 @@ class EnvoyDevice extends EventEmitter {
879
879
  const tokenValid = await this.checkJwtToken();
880
880
  const updateProductionInverters = !tokenValid ? false : await this.updateProductionInverters();
881
881
  const updateProductionCt = updateProductionInverters ? await this.updateProductionCt() : false;
882
- const updateProductionAll = updateProductionInverters ? false : await this.updateProductionAll();
882
+ } catch (error) {
883
+ this.handleError(error);
884
+ };
885
+ }).on('updateProductionAll', async () => {
886
+ try {
887
+ const tokenValid = await this.checkJwtToken();
888
+ const updateProductionAll = !tokenValid ? false : await this.updateProductionAll();
883
889
  } catch (error) {
884
890
  this.handleError(error);
885
891
  };
@@ -6889,13 +6895,18 @@ class EnvoyDevice extends EventEmitter {
6889
6895
  //acces with envoy password
6890
6896
  const refreshMicroinverters = tokenValid || digestAuthorizationEnvoy ? await this.updateMicroinvertersStatus() : false;
6891
6897
 
6892
- //get production and production ct
6898
+ //get production inverters and production ct
6893
6899
  const refreshProduction = await this.updateProductionInverters();
6894
6900
  const updateProductionCt = refreshProduction ? await this.updateProductionCt() : false;
6895
- const updateProductionAll = refreshProduction ? await this.updateProductionAll() : false;
6901
+
6902
+ //get production all
6903
+ const match = this.pv.envoy.info.software.match(/\d+/);
6904
+ const envoyFirmware = match ? match[0] : 5;
6905
+ const refreshProductionAll = tokenValid && envoyFirmware >= 8 ? await this.updateProductionAll() : false;
6896
6906
 
6897
6907
  //access with installer password and envoy dev id
6898
6908
  const updatePowerProductionState = envoyDevIdValid && ((this.pv.envoy.jwtToken.installer && tokenValid) || digestAuthorizationInstaller) ? await this.updateProductionPowerState() : false;
6909
+
6899
6910
  //get ensemble data only FW. >= 7.x.x.
6900
6911
  const refreshEnsemble = tokenValid ? await this.updateEnsembleInventory() : false;
6901
6912
  const updateEnsembleStatus = refreshEnsemble ? await this.updateEnsembleStatus() : false;
@@ -6930,6 +6941,7 @@ class EnvoyDevice extends EventEmitter {
6930
6941
  const pushTimer1 = refreshMeters ? this.timers.push({ name: 'updateMeters', sampling: this.metersDataRefreshTime }) : false;
6931
6942
  const pushTimer3 = refreshMicroinverters ? this.timers.push({ name: 'updateMicroinvertersStatus', sampling: 80000 }) : false;
6932
6943
  const pushTimer2 = refreshProduction ? this.timers.push({ name: 'updateProduction', sampling: this.productionDataRefreshTime }) : false;
6944
+ const pushTimer6 = refreshProductionAll ? this.timers.push({ name: 'updateProductionAll', sampling: this.productionDataRefreshTime }) : false;
6933
6945
  const pushTimer4 = refreshEnsemble ? this.timers.push({ name: 'updateEnsemble', sampling: this.ensembleDataRefreshTime }) : false;
6934
6946
  const pushTimer5 = refreshLiveData ? this.timers.push({ name: 'updateLiveData', sampling: this.liveDataRefreshTime }) : false;
6935
6947