# beoordeel.py - hoe goed regelde de verwarming vannacht? (testmeting: elke 10 s een regel)
import csv

MIDDEN = 16.5            # midden van de band 16,0 tot 17,0 °C
STAP = 10                # s tussen twee regels

temps, aan = [], []
with open("nacht.csv", newline="") as f:
    for rij in csv.DictReader(f):
        temps.append(float(rij["temperatuur_C"]))
        aan.append(rij["verwarming"] == "1")

uren = len(temps) * STAP / 3600
keer_aan = sum(1 for vorige, nu in zip(aan, aan[1:]) if nu and not vorige)
gem = sum(temps) / len(temps)
afwijking = sum(abs(t - MIDDEN) for t in temps) / len(temps)
inschakelduur = sum(aan) / len(aan)

print(f"meetduur {uren:.1f} h, {len(temps)} metingen")
print(f"temperatuur gemiddeld {gem:.2f} °C, van {min(temps):.2f} tot {max(temps):.2f} °C")
print(f"gemiddelde afwijking van {MIDDEN} °C: {afwijking:.2f} °C")
print(f"verwarming {keer_aan} keer aan: {keer_aan / uren:.1f} keer per uur, {100 * inschakelduur:.0f} % van de tijd")
print(f"warmte van het station: {0.8 * inschakelduur * uren:.2f} kWh")
