28 lines
1.0 KiB
Python
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
|
|
|