35 lines
1.1 KiB
Python
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
|