Files
EngieApiWrapper/EngieApi/DistributionCosts.py
2023-05-19 19:07:26 +02:00

35 lines
1.1 KiB
Python

from typing import Tuple
class Capaciteitstarief:
def __init__(self):
self.gemiddelde_maandpiek = 38.7570 # Eur / KW / jaar
self.kwh_tarief = 36.0218 / 1000 # EUR / kWh
self.databeheer = 13.71 # EUR / jaar
def calculate(self, peak: float, usage: float, days: int):
"""calculate distribution cost
:param peak: gemiddelde peak over alle maanden
:type peak: float
:param usage: totaal aantal kWh verbruikt
:type usage: float
:param days: totaal aantal dagen verbruikt
:type days: int
"""
peak = max(peak, 2.5)
return (
(peak * self.gemiddelde_maandpiek) / 365 * days
+ usage * self.kwh_tarief
+ self.databeheer / 365 * days
) * self.btw
def calculate_per_kwh(self, peak: float) -> Tuple[float, float]:
"""calculate_per_kwh distribution cost
:param peak: gemiddelde peak over alle maanden
:type peak: float
:return: cost per kwh and yearly costs
"""
return self.kwh_tarief, self.databeheer + self.gemiddelde_maandpiek * peak