# energiebudget.py - rekenhulp voor de klimaatmodule (gegevens uit hoofdstuk 20)

# 1. verbruik per dag in Wh: vermogen (W) maal uren per dag
lampen = 190 * 16                  # twee groeilampen van 95 W, 16 lichturen
pomp = 12 * 4                      # 10 minuten per uur is 4 uur per dag
sensoren = 3.0 * 24                # microcontroller, sensoren en datalogger
ventilatie = 5 * 16 + 2 * 8        # 5 W overdag, 2 W 's nachts
co2_klep = 6 * 0.25
bms = 0.5 * 24                     # laadregelaar en batterijbeheer
basis = pomp + sensoren + ventilatie + co2_klep + bms
verbruik = basis + lampen

# 2. zonnestroom in de gekozen maand
maand = "december"                 # in het echt: maand = input("Maand? ")
wh_per_wp = 1.25                   # PVGIS: Wh per Wp per dag in die maand
piek = 4 * 350                     # vier panelen van 350 Wp
zon = piek * wh_per_wp
saldo = zon - verbruik

print(f"verbruik: {verbruik:.1f} Wh per dag, waarvan {lampen} Wh voor de lampen")
print(f"zonnestroom in {maand}: {zon:.0f} Wh per dag")
if saldo >= 0:
    print(f"overschot: {saldo:.0f} Wh per dag")
else:
    print(f"tekort: {-saldo:.0f} Wh per dag")

# 3. hoeveel lichturen kan de zon alleen betalen?
lichturen = 16
while lichturen > 0 and basis + 190 * lichturen > zon:
    lichturen = lichturen - 1
print("lichturen op zonnestroom:", lichturen, "van de 16")

# 4. hoeveel dagen houdt de batterij de basis draaiende zonder zon?
lading = 2 * 0.80 * 120 * 12.8     # twee LiFePO4-batterijen, 80 % bruikbaar (Wh)
dagen = 0
while lading >= basis:
    lading = lading - basis
    dagen = dagen + 1
print(f"batterij: {dagen} dagen zonder zon (en zonder lampen)")
