Skip to content

Commit 9c32d1b

Browse files
authored
2025.9.1.rc4 (#379)
- Fixed error calculation/presentation "time needed" charging an ev - Fixed error calculating "savings"-reports
1 parent 535befd commit 9c32d1b

File tree

5 files changed

+18
-16
lines changed

5 files changed

+18
-16
lines changed

dao/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: 刀 Day Ahead Optimizer
3-
version: 2025.9.1
3+
version: 2025.9.0
44
slug: day_ahead_opt
55
description: Home Assistant Community Add-ons for day ahead optimizations
66
url: https://github.com/corneel27/day-ahead

dao/prog/da_report.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2146,6 +2146,7 @@ def calc_report(
21462146
def calc_saving_consumption(
21472147
self,
21482148
active_period: str,
2149+
active_interval: str | None = None,
21492150
active_view: str = "table",
21502151
_tot: datetime.datetime | None = None,
21512152
) -> pd.DataFrame:

dao/prog/day_ahead.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

release-testing/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog 刀 DAO
22
# Day Ahead Optimizer
3+
# 2025.9.1.rc4
4+
- Fixed error calculation/presentation "time needed" charging an ev
5+
- Fixed error calculating "savings"-reports
6+
37
# 2025.9.1.rc3
48
- Fixed error with postgresql da-database
59
- Fixed optimalisation-error on amd64 machines

release-testing/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: 刀 Day Ahead Optimizer (TESTING)
3-
version: 2025.9.1.rc3
3+
version: 2025.9.1.rc4
44
stage: experimental
55
slug: day_ahead_opt-testing
66
description: Beta version of DAO. Use only for testing!

0 commit comments

Comments
 (0)