EngieApiWrapper/EngieApi/DistributionCosts.py

28 lines
1.0 KiB
Python

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