Adding heating powerto the aggregate data.

This commit is contained in:
atef 2024-01-29 13:23:48 +01:00
parent c8210f601c
commit 445f7b6434
1 changed files with 17 additions and 6 deletions

View File

@ -102,6 +102,7 @@ public static class Aggregator
var csvFiles = Directory.GetFiles(myDirectory, "*.csv"); var csvFiles = Directory.GetFiles(myDirectory, "*.csv");
var batterySoc = new List<Double>(); var batterySoc = new List<Double>();
var pvPowerAverage = new List<Double>(); var pvPowerAverage = new List<Double>();
var heatingPower = new List<Double>();
var gridPowerImport = new List<Double>(); var gridPowerImport = new List<Double>();
var gridPowerExport = new List<Double>(); var gridPowerExport = new List<Double>();
var batteryDischargePower = new List<Double>(); var batteryDischargePower = new List<Double>();
@ -166,6 +167,9 @@ public static class Aggregator
case "/GridMeter/ActivePowerImportT2": case "/GridMeter/ActivePowerImportT2":
gridPowerImport.Add(value); gridPowerImport.Add(value);
break; break;
case "/Battery/HeatingPower":
heatingPower.Add(value);
break;
// Add more cases as needed // Add more cases as needed
default: default:
// Code to execute when variableName doesn't match any condition // Code to execute when variableName doesn't match any condition
@ -197,10 +201,10 @@ public static class Aggregator
// //
// Dividing the Average power readings by 3600 converts the result from watt-seconds to kilowatt-hours. // Dividing the Average power readings by 3600 converts the result from watt-seconds to kilowatt-hours.
var dischargingEnergy = (batteryDischargePower.Any() ? batteryDischargePower.Average() : 0.0) / 3600 ; var dischargingEnergy = (batteryDischargePower.Any() ? batteryDischargePower.Average() : 0.0) / 3600;
var chargingEnergy = (batteryChargePower.Any() ? batteryChargePower.Average() : 0.0) / 3600 ; var chargingEnergy = (batteryChargePower.Any() ? batteryChargePower.Average() : 0.0) / 3600;
var heatingPowerAvg = (heatingPower.Any() ? heatingPower.Average() : 0.0) / 3600;
var dMaxSoc = batterySoc.Any() ? batterySoc.Max() : 0.0; var dMaxSoc = batterySoc.Any() ? batterySoc.Max() : 0.0;
var dMinSoc = batterySoc.Any() ? batterySoc.Min() : 0.0; var dMinSoc = batterySoc.Any() ? batterySoc.Min() : 0.0;
var dSumGridExportPower = gridPowerExport.Any() ? (gridPowerExport.Max() - gridPowerExport.Min()) / 1000 : 0.0; var dSumGridExportPower = gridPowerExport.Any() ? (gridPowerExport.Max() - gridPowerExport.Min()) / 1000 : 0.0;
@ -213,9 +217,10 @@ public static class Aggregator
MinSoc = dMinSoc, MinSoc = dMinSoc,
SumDischargingBatteryPower = dischargingEnergy, SumDischargingBatteryPower = dischargingEnergy,
SumChargingBatteryPower = chargingEnergy, SumChargingBatteryPower = chargingEnergy,
SumGridExportPower = dSumGridExportPower, // divide it SumGridExportPower = dSumGridExportPower,
SumGridImportPower = dSumGridImportPower, // divide it SumGridImportPower = dSumGridImportPower,
SumPvPower = dSumPvPower SumPvPower = dSumPvPower,
HeatingPowerAvg = heatingPowerAvg
}; };
// Print the stored CSV data for verification // Print the stored CSV data for verification
@ -247,6 +252,7 @@ public static class Aggregator
var gridPowerExport = new List<Double>(); var gridPowerExport = new List<Double>();
var batteryDischargePower = new List<Double>(); var batteryDischargePower = new List<Double>();
var batteryChargePower = new List<Double>(); var batteryChargePower = new List<Double>();
var heatingPowerAvg = new List<Double>();
Console.WriteLine("-----------------------------------------------------------------------------------------------------------------"); Console.WriteLine("-----------------------------------------------------------------------------------------------------------------");
@ -301,6 +307,10 @@ public static class Aggregator
case "/SumGridImportPower": case "/SumGridImportPower":
gridPowerImport.Add(value); gridPowerImport.Add(value);
break; break;
case "/HeatingPowerAvg":
heatingPowerAvg.Add(value);
break;
// Add more cases as needed // Add more cases as needed
default: default:
// Code to execute when variableName doesn't match any condition // Code to execute when variableName doesn't match any condition
@ -333,6 +343,7 @@ public static class Aggregator
SumGridExportPower = gridPowerExport.Any() ? gridPowerExport.Average() : 0.0, SumGridExportPower = gridPowerExport.Any() ? gridPowerExport.Average() : 0.0,
SumGridImportPower = gridPowerImport.Any() ? gridPowerImport.Average() : 0.0, SumGridImportPower = gridPowerImport.Any() ? gridPowerImport.Average() : 0.0,
SumPvPower = pvPowerAverage.Any() ? pvPowerAverage.Average() : 0.0, SumPvPower = pvPowerAverage.Any() ? pvPowerAverage.Average() : 0.0,
HeatingPowerAvg = heatingPowerAvg.Any() ? heatingPowerAvg.Average() : 0.0,
}; };
// Print the stored CSV data for verification // Print the stored CSV data for verification