homebridge-enphase-envoy 9.7.3 → 9.7.4

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,12 @@ 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.7.4] - (07.02.2025)
9
+
10
+ ## Changes
11
+
12
+ - stability and improvements
13
+
8
14
  ## [9.7.3] - (04.02.2025)
9
15
 
10
16
  ## Changes
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- MIT License
1
+ # MIT License
2
2
 
3
3
  Copyright (c) 2022 Grzegorz Kaczor
4
4
 
package/README.md CHANGED
@@ -264,7 +264,7 @@
264
264
 
265
265
  ### RESTFul Integration
266
266
 
267
- * POST data as a JSON Object `{DataSampling: true}`
267
+ * POST data as a JSON Object `{DataSampling: true}`, content type must be `application/json`
268
268
 
269
269
  | Method | URL | Path | Response | Type |
270
270
  | --- | --- | --- | --- | --- |
package/index.js CHANGED
@@ -129,6 +129,9 @@ class EnvoyPlatform {
129
129
  try {
130
130
  const startDone = await envoyDevice.start();
131
131
  const stopImpulseGenerator = startDone ? await impulseGenerator.stop() : false;
132
+
133
+ //start impulse generator
134
+ const startImpulseGenerator = startDone ? await envoyDevice.startImpulseGenerator() : false
132
135
  } catch (error) {
133
136
  const emitLog = disableLogError ? false : log.error(`Device: ${host} ${deviceName}, ${error}, trying again.`);
134
137
  };
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.7.3",
5
+ "version": "9.7.4",
6
6
  "description": "Homebridge plugin for Photovoltaic Energy System manufactured by Enphase.",
7
7
  "license": "MIT",
8
8
  "author": "grzegorz914",
@@ -4312,6 +4312,16 @@ class EnvoyDevice extends EventEmitter {
4312
4312
  };
4313
4313
  };
4314
4314
 
4315
+ async startImpulseGenerator() {
4316
+ try {
4317
+ //start impulse generator
4318
+ await this.impulseGenerator.start(this.timers);
4319
+ return true;
4320
+ } catch (error) {
4321
+ throw new Error(`Impulse generator start error: ${error}`);
4322
+ };
4323
+ }
4324
+
4315
4325
  getDeviceInfo() {
4316
4326
  const debug = this.enableDebugMode ? this.emit('debug', `Requesting device info`) : false;
4317
4327
 
@@ -6699,6 +6709,15 @@ class EnvoyDevice extends EventEmitter {
6699
6709
  const updateCommLevel = this.supportPlcLevel && ((this.jwtToken.installer && tokenValid) || calculateInstallerPassword) ? await this.updateCommLevel() : false;
6700
6710
  const refreshLiveData = tokenValid ? await this.updateLiveData() : false;
6701
6711
 
6712
+ //create timers
6713
+ this.timers = [];
6714
+ const pushTimer0 = refreshHome ? this.timers.push({ name: 'updateHome', sampling: 60000 }) : false;
6715
+ const pushTimer1 = refreshMeters ? this.timers.push({ name: 'updateMeters', sampling: this.metersDataRefreshTime }) : false;
6716
+ const pushTimer3 = refreshMicroinverters ? this.timers.push({ name: 'updateMicroinvertersStatus', sampling: 80000 }) : false;
6717
+ const pushTimer2 = refreshProduction ? this.timers.push({ name: 'updateProduction', sampling: this.productionDataRefreshTime }) : false;
6718
+ const pushTimer4 = refreshEnsemble ? this.timers.push({ name: 'updateEnsemble', sampling: this.ensembleDataRefreshTime }) : false;
6719
+ const pushTimer5 = refreshLiveData ? this.timers.push({ name: 'updateLiveData', sampling: this.liveDataRefreshTime }) : false;
6720
+
6702
6721
  //connect to deice success
6703
6722
  this.emit('success', `Connect Success`)
6704
6723
 
@@ -6710,16 +6729,6 @@ class EnvoyDevice extends EventEmitter {
6710
6729
  const publishAccessory = this.startPrepareAccessory ? this.emit('publishAccessory', accessory) : false;
6711
6730
  this.startPrepareAccessory = false;
6712
6731
 
6713
- //create timers and start impulse generator
6714
- this.timers = [];
6715
- const pushTimer0 = refreshHome ? this.timers.push({ name: 'updateHome', sampling: 60000 }) : false;
6716
- const pushTimer1 = refreshMeters ? this.timers.push({ name: 'updateMeters', sampling: this.metersDataRefreshTime }) : false;
6717
- const pushTimer3 = refreshMicroinverters ? this.timers.push({ name: 'updateMicroinvertersStatus', sampling: 80000 }) : false;
6718
- const pushTimer2 = refreshProduction ? this.timers.push({ name: 'updateProduction', sampling: this.productionDataRefreshTime }) : false;
6719
- const pushTimer4 = refreshEnsemble ? this.timers.push({ name: 'updateEnsemble', sampling: this.ensembleDataRefreshTime }) : false;
6720
- const pushTimer5 = refreshLiveData ? this.timers.push({ name: 'updateLiveData', sampling: this.liveDataRefreshTime }) : false;
6721
- await this.impulseGenerator.start(this.timers);
6722
-
6723
6732
  return true;
6724
6733
  } catch (error) {
6725
6734
  throw new Error(`Start error: ${error}`);