Added cost calculation. It works pretty good but not 100% accurate and specific to my setup.
This commit is contained in:
@@ -103,16 +103,16 @@
|
||||
@if (SimulationDataDaily.Length != 0)
|
||||
{
|
||||
<RadzenChart>
|
||||
<RadzenAreaSeries Smooth=true Data="@SimulationDataDaily" CategoryProperty="Time" Title="Consumption" ValueProperty="Consumption">
|
||||
<RadzenAreaSeries Smooth=true Data="@FluviusDataDaily" CategoryProperty="Time" Title="Consumption" ValueProperty="Consumption">
|
||||
<RadzenChartTooltipOptions Visible="true"/>
|
||||
</RadzenAreaSeries>
|
||||
<RadzenAreaSeries Smooth=true Data="@SimulationDataDaily" CategoryProperty="Time" Title="Production" ValueProperty="Production">
|
||||
<RadzenAreaSeries Smooth=true Data="@FluviusDataDaily" CategoryProperty="Time" Title="Production" ValueProperty="Production">
|
||||
<RadzenChartTooltipOptions Visible="true"/>
|
||||
</RadzenAreaSeries>
|
||||
<RadzenAreaSeries Smooth=true Data="@SimulationDataDaily" CategoryProperty="Time" Title="SimulatedConsumption" ValueProperty="SimulatedConsumption">
|
||||
<RadzenAreaSeries Smooth=true Data="@SimulationDataDaily" CategoryProperty="Time" Title="SimulatedConsumption" ValueProperty="Consumption">
|
||||
<RadzenChartTooltipOptions Visible="true"/>
|
||||
</RadzenAreaSeries>
|
||||
<RadzenAreaSeries Smooth=true Data="@SimulationDataDaily" CategoryProperty="Time" Title="SimulatedProduction" ValueProperty="SimulatedProduction">
|
||||
<RadzenAreaSeries Smooth=true Data="@SimulationDataDaily" CategoryProperty="Time" Title="SimulatedProduction" ValueProperty="Production">
|
||||
<RadzenChartTooltipOptions Visible="true"/>
|
||||
</RadzenAreaSeries>
|
||||
<RadzenAreaSeries Smooth=true Data="@SimulationDataDaily" CategoryProperty="Time" Title="BatteryCharge" ValueProperty="BatteryCharge">
|
||||
@@ -149,4 +149,88 @@
|
||||
}
|
||||
}
|
||||
|
||||
<h2>Calculate Cost</h2>
|
||||
<h2>Bereken kosten</h2>
|
||||
<div>
|
||||
<p>
|
||||
Uitleg
|
||||
</p>
|
||||
<p>Vaste Vergoeding</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Vaste vergoeding: <InputNumber @bind-value="calculator.BasePayment" /> €/jaar</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>Energiekosten</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Energiekost: <InputNumber @bind-value="calculator.EnergyCost" /> c€/kWh</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Terugleveringsvergoeding: <InputNumber @bind-value="calculator.ReturnCost" /> c€/kWh</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>Heffingen Groene Stroom</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Groene stroomcertificaten: <InputNumber @bind-value="calculator.GreenCertificateCost" /> c€/kWh</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Warmtekracht certificaten: <InputNumber @bind-value="calculator.HeatingCertificateCost" /> c€/kWh</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>Net- en distributiekosten</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Tarief databeheer: <InputNumber @bind-value="calculator.DataManagementCost" /> €/jaar</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Capaciteitstarief: <InputNumber @bind-value="calculator.CapacityCost" /> €/kWh/jaar</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Afnametarief: <InputNumber @bind-value="calculator.UsageTariff" /> c€/kWh</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>Heffingen en Toeslagen</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Energiebijdrage: <InputNumber @bind-value="calculator.EnergyContribution" /> c€/kWh</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Bijzondere accijns elektriciteit: <InputNumber @bind-value="calculator.SpecialTariffs" /> c€/kWh</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Vlaamse energieheffing elektriciteit: <InputNumber @bind-value="calculator.FlemishEnergyTariff" /> €/jaar</p>
|
||||
</li>
|
||||
</ul>
|
||||
<Button @onclick="Calculate">Calculate</Button>
|
||||
@if (_isCalculating) { <p>Calculating...</p> }
|
||||
else
|
||||
{
|
||||
<p>The original price is: €@normalCost</p>
|
||||
<p>The simulated price is: €@simulatedCost</p>
|
||||
<p>The costsaving is: €@(normalCost - simulatedCost)</p>
|
||||
}
|
||||
</div>
|
||||
|
||||
@code {
|
||||
EnergyCostCalculator calculator = new();
|
||||
double normalCost = 0.0;
|
||||
double simulatedCost = 0.0;
|
||||
bool _isCalculating = false;
|
||||
|
||||
private void Calculate()
|
||||
{
|
||||
Console.WriteLine("Calculating...");
|
||||
_isCalculating = true;
|
||||
normalCost = calculator.CalculateCostOfEnergyUsage(FluviusDataRaw);
|
||||
simulatedCost = calculator.CalculateCostOfEnergyUsage(SimulationData);
|
||||
_isCalculating = false;
|
||||
Console.WriteLine("Done Calculating!");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user