@@ -30,7 +30,7 @@ def __init__(self, file_name=None):
3030 return
3131 self .interval = self .config .get (["interval" ], None , "1hour" ).lower ()
3232 self .interval_s = 3600 if self .interval == "1hour" else 900
33- self .interval_name = "uur" if self .interval == "1hour" else "15min "
33+ self .interval_name = "uur" if self .interval == "1hour" else "kwartier "
3434 self .steps_day = 24 if self .interval == "1hour" else 96
3535 self .history_options = self .config .get (["history" ])
3636 self .boiler_options = self .config .get (["boiler" ])
@@ -139,6 +139,7 @@ def calc_optimum(
139139 prog_data ["da_prod" ] = price_data ["da_prod" ]
140140
141141 logging .debug ("Prognose data:\n {}" .format (prog_data .to_string ()))
142+ pd .options .display .float_format = "{:.3f}" .format
142143
143144 pl = [] # prijs levering day_ahead
144145 pt = [] # prijs teruglevering day_ahead
@@ -1284,19 +1285,13 @@ def calc_optimum(
12841285 )
12851286 e_needed = max (0 , e_needed ) # nooit minder dan 0
12861287 energy_needed .append (e_needed ) # in kWh
1287- logging .info (f"Benodigde energie: { energy_needed [e ]} kWh" )
1288+ logging .info (f"Benodigde energie: { energy_needed [e ]:.3f } kWh" )
12881289 # uitgedrukt in aantal uren; bijvoorbeeld 1,5
1289- time_needed = (
1290- energy_needed [e ]
1291- / (max_power [e ] * ev_charge_stages [e ][- 1 ]["efficiency" ])
1292- * 3600
1293- / self .interval_s
1294- )
1295-
1296- logging .info (f"Tijd nodig om te laden: { time_needed :.2f} uur" )
1290+ time_needed = energy_needed [e ] / (max_power [e ] * ev_charge_stages [e ][- 1 ]["efficiency" ])
1291+ hrs_needed = math .floor (time_needed )
1292+ min_needed = math .ceil ((time_needed - hrs_needed ) * 60 )
1293+ logging .info (f"Tijd nodig om te laden: { hrs_needed } :{ min_needed } uur" )
12971294 if instant_charge :
1298- hrs_needed = math .floor (time_needed )
1299- min_needed = math .ceil ((time_needed - hrs_needed ) * 60 )
13001295 ready = start_dt + datetime .timedelta (
13011296 hours = hrs_needed , minutes = min_needed
13021297 )
@@ -1305,8 +1300,10 @@ def calc_optimum(
13051300 self .ev_options [e ]["entity set charging ampere" ]
13061301 ).state
13071302 # afgerond naar boven in hele uren
1308- intervals_needed .append (math .ceil (time_needed ))
1309- logging .info (f"Afgerond naar hele uren: { intervals_needed [e ]} " )
1303+ int_needed = math .ceil (time_needed if self .interval == "1hour" else time_needed * 4 )
1304+ intervals_needed .append (int_needed )
1305+ logging .info (f"Afgerond naar hele intervallen: { intervals_needed [e ]} "
1306+ f"{ self .interval_name } " )
13101307 logging .info (f"Stand laden schakelaar: { old_switch_state } " )
13111308 logging .info (f"Stand aantal ampere laden: { old_ampere_state } A" )
13121309 ready_index = U
0 commit comments