@enyo-energy/sunspec-sdk 0.0.33 → 0.0.34

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.
@@ -11,19 +11,6 @@ const enyo_meter_appliance_js_1 = require("@enyo-energy/energy-app-sdk/dist/type
11
11
  const enyo_battery_appliance_js_1 = require("@enyo-energy/energy-app-sdk/dist/types/enyo-battery-appliance.js");
12
12
  // TODO: Remove once added to @enyo-energy/energy-app-sdk EnyoDataBusMessageEnum
13
13
  exports.ENYO_DATA_BUS_SET_INVERTER_FEED_IN_LIMIT_V1 = 'SetInverterFeedInLimitV1';
14
- /**
15
- * Extract battery discharge power from MPPT data.
16
- * Returns the discharge power in Watts (positive value), or 0 if no discharge.
17
- */
18
- function extractBatteryDischargePowerFromMPPT(mpptDataList) {
19
- let dischargePowerW = 0;
20
- for (const mppt of mpptDataList) {
21
- if (mppt.stringId === 'StDisCha 4' && mppt.dcPower !== undefined && mppt.dcPower > 0) {
22
- dischargePowerW += mppt.dcPower;
23
- }
24
- }
25
- return dischargePowerW;
26
- }
27
14
  /**
28
15
  * Base abstract class for all Sunspec devices
29
16
  */
@@ -219,12 +206,9 @@ class SunspecInverter extends BaseSunspecDevice {
219
206
  const mpptDataList = await this.sunspecClient.readAllMPPTData();
220
207
  const inverterSettings = await this.sunspecClient.readInverterSettings();
221
208
  const dcStrings = this.mapMPPTToStrings(mpptDataList);
222
- // Calculate battery discharge power to subtract from AC power
223
- const batteryDischargePowerW = extractBatteryDischargePowerFromMPPT(mpptDataList);
224
209
  if (inverterData) {
225
- const totalAcPowerW = inverterData.acPower || 0;
226
- const purePvPowerW = Math.max(0, totalAcPowerW - batteryDischargePowerW);
227
- console.log(`Got Battery Discharge power ${batteryDischargePowerW} and Inverter Power W ${totalAcPowerW} with pure PV Power ${purePvPowerW}`);
210
+ const pvPowerW = dcStrings.reduce((sum, s) => sum + (s.powerW || 0), 0);
211
+ console.log(`Got PV Power from DC strings: ${pvPowerW}W`);
228
212
  const inverterMessage = {
229
213
  id: (0, node_crypto_1.randomUUID)(),
230
214
  message: enyo_data_bus_value_js_1.EnyoDataBusMessageEnum.InverterValuesUpdateV1,
@@ -235,7 +219,7 @@ class SunspecInverter extends BaseSunspecDevice {
235
219
  timestampIso: timestamp.toISOString(),
236
220
  resolution,
237
221
  data: {
238
- pvPowerW: purePvPowerW,
222
+ pvPowerW,
239
223
  activePowerLimitationW: inverterSettings?.WMax,
240
224
  state: this.mapOperatingState(inverterData.operatingState),
241
225
  voltageL1: inverterData.voltageAN || 0,
@@ -9,7 +9,7 @@ exports.getSdkVersion = getSdkVersion;
9
9
  /**
10
10
  * Current version of the enyo Energy App SDK.
11
11
  */
12
- exports.SDK_VERSION = '0.0.33';
12
+ exports.SDK_VERSION = '0.0.34';
13
13
  /**
14
14
  * Gets the current SDK version.
15
15
  * @returns The semantic version string of the SDK
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Current version of the enyo Energy App SDK.
7
7
  */
8
- export declare const SDK_VERSION = "0.0.33";
8
+ export declare const SDK_VERSION = "0.0.34";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
@@ -8,19 +8,6 @@ import { EnyoMeterApplianceAvailableFeaturesEnum } from "@enyo-energy/energy-app
8
8
  import { EnyoBatteryFeature, EnyoBatteryStorageMode } from "@enyo-energy/energy-app-sdk/dist/types/enyo-battery-appliance.js";
9
9
  // TODO: Remove once added to @enyo-energy/energy-app-sdk EnyoDataBusMessageEnum
10
10
  export const ENYO_DATA_BUS_SET_INVERTER_FEED_IN_LIMIT_V1 = 'SetInverterFeedInLimitV1';
11
- /**
12
- * Extract battery discharge power from MPPT data.
13
- * Returns the discharge power in Watts (positive value), or 0 if no discharge.
14
- */
15
- function extractBatteryDischargePowerFromMPPT(mpptDataList) {
16
- let dischargePowerW = 0;
17
- for (const mppt of mpptDataList) {
18
- if (mppt.stringId === 'StDisCha 4' && mppt.dcPower !== undefined && mppt.dcPower > 0) {
19
- dischargePowerW += mppt.dcPower;
20
- }
21
- }
22
- return dischargePowerW;
23
- }
24
11
  /**
25
12
  * Base abstract class for all Sunspec devices
26
13
  */
@@ -215,12 +202,9 @@ export class SunspecInverter extends BaseSunspecDevice {
215
202
  const mpptDataList = await this.sunspecClient.readAllMPPTData();
216
203
  const inverterSettings = await this.sunspecClient.readInverterSettings();
217
204
  const dcStrings = this.mapMPPTToStrings(mpptDataList);
218
- // Calculate battery discharge power to subtract from AC power
219
- const batteryDischargePowerW = extractBatteryDischargePowerFromMPPT(mpptDataList);
220
205
  if (inverterData) {
221
- const totalAcPowerW = inverterData.acPower || 0;
222
- const purePvPowerW = Math.max(0, totalAcPowerW - batteryDischargePowerW);
223
- console.log(`Got Battery Discharge power ${batteryDischargePowerW} and Inverter Power W ${totalAcPowerW} with pure PV Power ${purePvPowerW}`);
206
+ const pvPowerW = dcStrings.reduce((sum, s) => sum + (s.powerW || 0), 0);
207
+ console.log(`Got PV Power from DC strings: ${pvPowerW}W`);
224
208
  const inverterMessage = {
225
209
  id: randomUUID(),
226
210
  message: EnyoDataBusMessageEnum.InverterValuesUpdateV1,
@@ -231,7 +215,7 @@ export class SunspecInverter extends BaseSunspecDevice {
231
215
  timestampIso: timestamp.toISOString(),
232
216
  resolution,
233
217
  data: {
234
- pvPowerW: purePvPowerW,
218
+ pvPowerW,
235
219
  activePowerLimitationW: inverterSettings?.WMax,
236
220
  state: this.mapOperatingState(inverterData.operatingState),
237
221
  voltageL1: inverterData.voltageAN || 0,
package/dist/version.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Current version of the enyo Energy App SDK.
7
7
  */
8
- export declare const SDK_VERSION = "0.0.33";
8
+ export declare const SDK_VERSION = "0.0.34";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
package/dist/version.js CHANGED
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Current version of the enyo Energy App SDK.
7
7
  */
8
- export const SDK_VERSION = '0.0.33';
8
+ export const SDK_VERSION = '0.0.34';
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enyo-energy/sunspec-sdk",
3
- "version": "0.0.33",
3
+ "version": "0.0.34",
4
4
  "description": "enyo Energy Sunspec SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,7 +37,7 @@
37
37
  "typescript": "^5.8.3"
38
38
  },
39
39
  "dependencies": {
40
- "@enyo-energy/energy-app-sdk": "^0.0.66"
40
+ "@enyo-energy/energy-app-sdk": "^0.0.68"
41
41
  },
42
42
  "volta": {
43
43
  "node": "22.17.0"