@enyo-energy/sunspec-sdk 0.0.33 → 0.0.35
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/dist/cjs/sunspec-devices.cjs +6 -19
- package/dist/cjs/version.cjs +1 -1
- package/dist/cjs/version.d.cts +1 -1
- package/dist/sunspec-devices.js +6 -19
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -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
|
*/
|
|
@@ -177,6 +164,7 @@ class SunspecInverter extends BaseSunspecDevice {
|
|
|
177
164
|
serialNumber: commonData?.serialNumber,
|
|
178
165
|
modelName: commonData?.model,
|
|
179
166
|
vendorName: commonData?.manufacturer,
|
|
167
|
+
modbus: { unitId: this.unitId },
|
|
180
168
|
},
|
|
181
169
|
inverter: {
|
|
182
170
|
dcStrings: this.mapDcStringToApplianceMetadata(this.mapMPPTToStrings(mpptDataList)),
|
|
@@ -219,12 +207,9 @@ class SunspecInverter extends BaseSunspecDevice {
|
|
|
219
207
|
const mpptDataList = await this.sunspecClient.readAllMPPTData();
|
|
220
208
|
const inverterSettings = await this.sunspecClient.readInverterSettings();
|
|
221
209
|
const dcStrings = this.mapMPPTToStrings(mpptDataList);
|
|
222
|
-
// Calculate battery discharge power to subtract from AC power
|
|
223
|
-
const batteryDischargePowerW = extractBatteryDischargePowerFromMPPT(mpptDataList);
|
|
224
210
|
if (inverterData) {
|
|
225
|
-
const
|
|
226
|
-
|
|
227
|
-
console.log(`Got Battery Discharge power ${batteryDischargePowerW} and Inverter Power W ${totalAcPowerW} with pure PV Power ${purePvPowerW}`);
|
|
211
|
+
const pvPowerW = dcStrings.reduce((sum, s) => sum + (s.powerW || 0), 0);
|
|
212
|
+
console.log(`Got PV Power from DC strings: ${pvPowerW}W`);
|
|
228
213
|
const inverterMessage = {
|
|
229
214
|
id: (0, node_crypto_1.randomUUID)(),
|
|
230
215
|
message: enyo_data_bus_value_js_1.EnyoDataBusMessageEnum.InverterValuesUpdateV1,
|
|
@@ -235,7 +220,7 @@ class SunspecInverter extends BaseSunspecDevice {
|
|
|
235
220
|
timestampIso: timestamp.toISOString(),
|
|
236
221
|
resolution,
|
|
237
222
|
data: {
|
|
238
|
-
pvPowerW
|
|
223
|
+
pvPowerW,
|
|
239
224
|
activePowerLimitationW: inverterSettings?.WMax,
|
|
240
225
|
state: this.mapOperatingState(inverterData.operatingState),
|
|
241
226
|
voltageL1: inverterData.voltageAN || 0,
|
|
@@ -429,6 +414,7 @@ class SunspecBattery extends BaseSunspecDevice {
|
|
|
429
414
|
serialNumber: commonData?.serialNumber,
|
|
430
415
|
modelName: commonData?.model,
|
|
431
416
|
vendorName: commonData?.manufacturer,
|
|
417
|
+
modbus: { unitId: this.unitId },
|
|
432
418
|
},
|
|
433
419
|
battery: {
|
|
434
420
|
connectedToApplianceId: inverterApplianceId,
|
|
@@ -917,6 +903,7 @@ class SunspecMeter extends BaseSunspecDevice {
|
|
|
917
903
|
serialNumber: commonData?.serialNumber,
|
|
918
904
|
modelName: commonData?.model,
|
|
919
905
|
vendorName: commonData?.manufacturer,
|
|
906
|
+
modbus: { unitId: this.unitId },
|
|
920
907
|
},
|
|
921
908
|
topology: {
|
|
922
909
|
features: [enyo_appliance_js_1.EnyoApplianceTopologyFeatureEnum.IntermediateOfPrimaryMeter]
|
package/dist/cjs/version.cjs
CHANGED
|
@@ -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.
|
|
12
|
+
exports.SDK_VERSION = '0.0.35';
|
|
13
13
|
/**
|
|
14
14
|
* Gets the current SDK version.
|
|
15
15
|
* @returns The semantic version string of the SDK
|
package/dist/cjs/version.d.cts
CHANGED
package/dist/sunspec-devices.js
CHANGED
|
@@ -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
|
*/
|
|
@@ -173,6 +160,7 @@ export class SunspecInverter extends BaseSunspecDevice {
|
|
|
173
160
|
serialNumber: commonData?.serialNumber,
|
|
174
161
|
modelName: commonData?.model,
|
|
175
162
|
vendorName: commonData?.manufacturer,
|
|
163
|
+
modbus: { unitId: this.unitId },
|
|
176
164
|
},
|
|
177
165
|
inverter: {
|
|
178
166
|
dcStrings: this.mapDcStringToApplianceMetadata(this.mapMPPTToStrings(mpptDataList)),
|
|
@@ -215,12 +203,9 @@ export class SunspecInverter extends BaseSunspecDevice {
|
|
|
215
203
|
const mpptDataList = await this.sunspecClient.readAllMPPTData();
|
|
216
204
|
const inverterSettings = await this.sunspecClient.readInverterSettings();
|
|
217
205
|
const dcStrings = this.mapMPPTToStrings(mpptDataList);
|
|
218
|
-
// Calculate battery discharge power to subtract from AC power
|
|
219
|
-
const batteryDischargePowerW = extractBatteryDischargePowerFromMPPT(mpptDataList);
|
|
220
206
|
if (inverterData) {
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
console.log(`Got Battery Discharge power ${batteryDischargePowerW} and Inverter Power W ${totalAcPowerW} with pure PV Power ${purePvPowerW}`);
|
|
207
|
+
const pvPowerW = dcStrings.reduce((sum, s) => sum + (s.powerW || 0), 0);
|
|
208
|
+
console.log(`Got PV Power from DC strings: ${pvPowerW}W`);
|
|
224
209
|
const inverterMessage = {
|
|
225
210
|
id: randomUUID(),
|
|
226
211
|
message: EnyoDataBusMessageEnum.InverterValuesUpdateV1,
|
|
@@ -231,7 +216,7 @@ export class SunspecInverter extends BaseSunspecDevice {
|
|
|
231
216
|
timestampIso: timestamp.toISOString(),
|
|
232
217
|
resolution,
|
|
233
218
|
data: {
|
|
234
|
-
pvPowerW
|
|
219
|
+
pvPowerW,
|
|
235
220
|
activePowerLimitationW: inverterSettings?.WMax,
|
|
236
221
|
state: this.mapOperatingState(inverterData.operatingState),
|
|
237
222
|
voltageL1: inverterData.voltageAN || 0,
|
|
@@ -424,6 +409,7 @@ export class SunspecBattery extends BaseSunspecDevice {
|
|
|
424
409
|
serialNumber: commonData?.serialNumber,
|
|
425
410
|
modelName: commonData?.model,
|
|
426
411
|
vendorName: commonData?.manufacturer,
|
|
412
|
+
modbus: { unitId: this.unitId },
|
|
427
413
|
},
|
|
428
414
|
battery: {
|
|
429
415
|
connectedToApplianceId: inverterApplianceId,
|
|
@@ -911,6 +897,7 @@ export class SunspecMeter extends BaseSunspecDevice {
|
|
|
911
897
|
serialNumber: commonData?.serialNumber,
|
|
912
898
|
modelName: commonData?.model,
|
|
913
899
|
vendorName: commonData?.manufacturer,
|
|
900
|
+
modbus: { unitId: this.unitId },
|
|
914
901
|
},
|
|
915
902
|
topology: {
|
|
916
903
|
features: [EnyoApplianceTopologyFeatureEnum.IntermediateOfPrimaryMeter]
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enyo-energy/sunspec-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.35",
|
|
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.
|
|
40
|
+
"@enyo-energy/energy-app-sdk": "^0.0.71"
|
|
41
41
|
},
|
|
42
42
|
"volta": {
|
|
43
43
|
"node": "22.17.0"
|