homebridge-enphase-envoy 10.3.0-beta.7 → 10.3.0

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
@@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  - after update to v10.0.0 and above the accessory and bridge need to be removed from the homebridge / Home.app and added again
11
11
 
12
- ## [10.3.0] - (19.10.2025)
12
+ ## [10.3.0] - (20.10.2025)
13
13
 
14
14
  ## Changes
15
15
 
package/index.js CHANGED
@@ -31,7 +31,7 @@ class EnvoyPlatform {
31
31
 
32
32
  const deviceName = device.name;
33
33
  const host = device.host || (i === 0 ? 'envoy.local' : `envoy-${i + 1}.local`);
34
- const { envoyFirmware7xxTokenGenerationMode = 0, envoyPasswd, envoyToken, envoyTokenInstaller = false, enlightenUser, enlightenPasswd } = device;
34
+ const { envoyFirmware7xxTokenGenerationMode = 0, envoyToken, enlightenUser, enlightenPasswd } = device;
35
35
 
36
36
  const logLevel = {
37
37
  devInfo: device.log?.deviceInfo || true,
@@ -121,7 +121,6 @@ class EnvoyPlatform {
121
121
 
122
122
  // start impulse generator
123
123
  await impulseGenerator.state(true, [{ name: 'start', sampling: 120000 }]);
124
-
125
124
  } catch (error) {
126
125
  if (logLevel.error) log.error(`Device: ${host} ${deviceName}, Did finish launching error: ${error}`);
127
126
  }
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": "10.3.0-beta.7",
5
+ "version": "10.3.0",
6
6
  "description": "Homebridge p7ugin for Photovoltaic Energy System manufactured by Enphase.",
7
7
  "license": "MIT",
8
8
  "author": "grzegorz914",
package/src/constants.js CHANGED
@@ -174,10 +174,13 @@ export const ApiCodes = {
174
174
  "ENCHG_STATE_DISCHARGING": "Encharge state discharging",
175
175
  "ENCHG_STATE_IDLE": "Encharge state idle",
176
176
  "ENCHG_STATE_READY": "Encharge state ready",
177
+ "ENCMN_MDE_BMU_READY": "Encharge BMU ready",
177
178
  "ENCMN_MDE_ENCHARGE_READY": "Encharge mode ready",
178
179
  "ENCMN_MDE_ON_GRID": "Encharge mode on grid",
179
180
  "ENCMN_MDE_OFF_GRID": "Encharge mode off grid",
181
+ "ENCMN_MDE_PCU_READY": "Encharge Microinverter ready",
180
182
  "ENCMN_C6_CC_READY": "C6 Combiner Controller ready",
183
+ "ENCMN_C6_RGM_DEV_CONNECTED": "C6 Revenue Grade Meter connected",
181
184
  "ENPOWER": "Enpower",
182
185
  "ENS_DEVICE_STATE_READY": "Ensemble state ready",
183
186
  "ENPWR_STATE_GRIDMODE_CONFIRM": "Enpower state grid mode confirm",
@@ -202,6 +205,7 @@ export const ApiCodes = {
202
205
  "check-wiring": "Check Wiring",
203
206
  "close": "Close",
204
207
  "closed": "Closed",
208
+ "configured": "Configured",
205
209
  "connected": "Connected",
206
210
  "consumption": "Consumption Net",
207
211
  "discharging": "Discharging",
@@ -4334,10 +4334,10 @@ class EnvoyDevice extends EventEmitter {
4334
4334
  // Add to ensemble summary characteristics if live data not supported
4335
4335
  if (!this.feature.liveData.supported || !this.feature.meters.storage.enabled) {
4336
4336
  ensembleSummaryCharacteristics.push(
4337
- { type: Characteristic.AggMaxEnergy, value: secctrl.aggMaxEnergyKw },
4338
- { type: Characteristic.EncAggBackupEnergy, value: secctrl.encAggBackupEnergy },
4339
4337
  { type: Characteristic.AggSoc, value: secctrl.aggSoc },
4340
- { type: Characteristic.encAggSoc, value: secctrl.encAggSoc });
4338
+ { type: Characteristic.AggMaxEnergy, value: secctrl.aggMaxEnergyKw },
4339
+ { type: Characteristic.EncAggSoc, value: secctrl.encAggSoc },
4340
+ { type: Characteristic.EncAggBackupEnergy, value: secctrl.encAggBackupEnergy });
4341
4341
  }
4342
4342
 
4343
4343
  if (phaseA) {
@@ -4835,16 +4835,16 @@ class EnvoyDevice extends EventEmitter {
4835
4835
  const info = tariffData.tariff ?? {};
4836
4836
  const tariff = {};
4837
4837
  tariff.info = {
4838
- currencyCode: info.currency.code ?? '',
4839
- logger: info.logger ?? '',
4838
+ currencyCode: info.currency.code,
4839
+ logger: info.logger,
4840
4840
  date: this.functions.formatTimestamp(info.date, this.pv.homeData.timeZone),
4841
4841
  };
4842
- if (this.logDebug) this.emit('debug', `Requesting encharges tariff data1`);
4842
+
4843
4843
  // Storage Settings
4844
4844
  const s = info.storage_settings ?? {};
4845
4845
  tariff.storageSettings = {
4846
4846
  mode: s.mode,
4847
- operationModeSubType: s.operation_mode_sub_type ?? '',
4847
+ operationModeSubType: s.operation_mode_sub_type,
4848
4848
  reservedSoc: s.reserved_soc,
4849
4849
  veryLowSoc: s.very_low_soc,
4850
4850
  chargeFromGrid: !!s.charge_from_grid,
@@ -4884,30 +4884,30 @@ if (this.logDebug) this.emit('debug', `Requesting encharges tariff data1`);
4884
4884
  return season;
4885
4885
  });
4886
4886
  };
4887
- if (this.logDebug) this.emit('debug', `Requesting encharges tariff data2`);
4887
+
4888
4888
  tariff.seasons = processSeasons(info.seasons ?? []);
4889
4889
  tariff.seasonsSell = processSeasons(info.seasons_sell ?? []);
4890
- if (this.logDebug) this.emit('debug', `Requesting encharges tariff data3`);
4890
+
4891
4891
  // Schedule
4892
4892
  const sched = tariffData.schedule ?? {};
4893
4893
  tariff.schedule = {
4894
- fileName: sched.filename ?? '',
4895
- source: sched.source ?? '',
4894
+ fileName: sched.filename,
4895
+ source: sched.source,
4896
4896
  date: this.functions.formatTimestamp(sched.date, this.pv.homeData.timeZone),
4897
- version: sched.version ?? '',
4897
+ version: sched.version,
4898
4898
  reservedSoc: sched.reserved_soc,
4899
4899
  veryLowSoc: sched.very_low_soc,
4900
4900
  chargeFromGrid: !!sched.charge_from_grid,
4901
- battMode: sched.batt_mode ?? '',
4902
- batteryMode: sched.battery_mode ?? '',
4903
- operationModeSubType: sched.operation_mode_sub_type ?? '',
4901
+ battMode: sched.batt_mode,
4902
+ batteryMode: sched.battery_mode,
4903
+ operationModeSubType: sched.operation_mode_sub_type,
4904
4904
  override: !!sched.override,
4905
4905
  overrideBackupSoc: sched.override_backup_soc,
4906
4906
  overrideChgDischargeRate: sched.override_chg_discharge_rate,
4907
4907
  overrideTouMode: ApiCodes[sched.override_tou_mode] ?? sched.override_tou_mode,
4908
4908
  schedule: sched.schedule ?? {}
4909
4909
  };
4910
- if (this.logDebug) this.emit('debug', `Requesting encharges tariff data4`);
4910
+
4911
4911
  // Encharge profile control updates
4912
4912
  for (let i = 0; i < this.enchargeProfileControls.length; i++) {
4913
4913
  const control = this.enchargeProfileControls[i];
@@ -4932,7 +4932,7 @@ if (this.logDebug) this.emit('debug', `Requesting encharges tariff data4`);
4932
4932
  this.enchargeProfileControlsServices?.[i]?.updateCharacteristic(type, value);
4933
4933
  }
4934
4934
  }
4935
- if (this.logDebug) this.emit('debug', `Requesting encharges tariff data5`);
4935
+
4936
4936
  // Encharge profile sensors update
4937
4937
  for (let i = 0; i < this.enchargeProfileSensors.length; i++) {
4938
4938
  const sensor = this.enchargeProfileSensors[i];
@@ -5073,8 +5073,8 @@ if (this.logDebug) this.emit('debug', `Requesting encharges tariff data5`);
5073
5073
  gridActionBool: settings.gridAction !== 'none',
5074
5074
  microGridAction: settings.microGridAction,
5075
5075
  genAction: settings.genAction,
5076
- essentialStartTime: settings.essentialStartTime ?? '',
5077
- essentialEndTime: settings.essentialEndTime ?? '',
5076
+ essentialStartTime: settings.essentialStartTime,
5077
+ essentialEndTime: settings.essentialEndTime,
5078
5078
  priority: settings.priority,
5079
5079
  blackSStart: settings.blackSStart,
5080
5080
  override: settings.override ?? 'false',
@@ -5592,8 +5592,8 @@ if (this.logDebug) this.emit('debug', `Requesting encharges tariff data5`);
5592
5592
 
5593
5593
  // Agg Energy and Soc
5594
5594
  const characteristics = [
5595
- { type: Characteristic.AggMaxEnergy, value: energySumKw, valueKey: 'aggMaxEnergyKw' },
5596
5595
  { type: Characteristic.AggSoc, value: percentFullSum, valueKey: 'aggSoc' },
5596
+ { type: Characteristic.AggMaxEnergy, value: energySumKw, valueKey: 'aggMaxEnergyKw' },
5597
5597
  ];
5598
5598
 
5599
5599
  // Update storage summary services
@@ -5662,8 +5662,8 @@ if (this.logDebug) this.emit('debug', `Requesting encharges tariff data5`);
5662
5662
  // Update ensemble summary service
5663
5663
  if (this.feature.inventory.esubs.secctrl.supported) {
5664
5664
  const characteristics = [
5665
- { type: Characteristic.EncAggBackupEnergy, value: energySumEncKw, valueKey: 'encAggBackupEnergy' },
5666
5665
  { type: Characteristic.EncAggSoc, value: percentFullSumEnc, valueKey: 'encAggSoc' },
5666
+ { type: Characteristic.EncAggBackupEnergy, value: energySumEncKw, valueKey: 'encAggBackupEnergy' },
5667
5667
  ];
5668
5668
 
5669
5669
  // Update storage summary services