This release brings massive upgrades to the thermal modeling engine, advanced hybrid-inverter configurations, and robust fixes for DST transitions and forecasting.
Thanks to @snauwaertc for an incredible overhaul of the thermal engine and heat topology.
On Batteries & Inverters, You can now define optional power-dependent efficiency curves for hybrid-inverters (AC-side, DC→AC, and AC→DC) for much more accurate modeling (@MMicieli). You now have more control over your battery's target state at the end of the optimization run (@lutorm). The web UI now properly displays the battery SOC chart when using more than one battery (@LesIT1).
On Timezones, DST & Forecasting, several fixes were proposed to ensure forecasts, endpoints, and naive-MPC horizons behave perfectly across Daylight Saving Time transitions.
A huge thank you to all our contributors for making this release possible!
Improvement
- feat: one thermal model in heat_topology - building zones, tank-to-tank transfers, window solar (#539) (@snauwaertc)
- feat: edit heat_topology in a text box and validate it on save (#539) (@snauwaertc)
- feat: runtime shared tanks, per-tank start temperatures and extend mode for heat_topology (#539) (@snauwaertc)
- feat: add battery_soc_final_reward_factor. (@lutorm)
- feat: per-source overshoot and combi tanks for heat_topology (#539) (@snauwaertc)
- feat: per-source temperature ceiling and anti-cycling for heat_topology (#539) (@snauwaertc)
- feat: separate tariff schedule timezone from site timezone (@MMicieli)
- feat: optional power-dependent hybrid-inverter efficiency curves (AC-side, DC→AC and AC→DC) (@MMicieli)
Fix
- fix: add the start <= on bound only for loads with a startup penalty (@snauwaertc)
- fix: apply custom_deferrable_state_id passed at runtime (@Blizzeq)
- fix: align the naive load forecast on the time of day for any horizon (@martinarva)
- fix: extend naive-MPC horizon across DST-short calendar days (@MMicieli)
- fix: resolve forecast endpoints inside DST transitions (@MMicieli)
- fix: preserve PV forecast on unexpected model load errors (@MMicieli)
- fix: avoid WebSocket reconnect deadlock (@mikamikasuki)
- fix: extend VictoriaMetrics FILL(previous) through query end (@MMicieli)
- fix: parse --debug and --log2file values as booleans (@Blizzeq)
- fix: show the battery SOC chart in the web UI with more than one battery (@LesIT1)
- fix: check the PV plant lists against pv_module_model before the plant loop (@LesIT1)
- fix: enforce forecast validity at optimizer boundaries (@MMicieli)
- fix: exclude pre-observation history from forecast calibration (@MMicieli)
- fix: shared thermal tanks - stale plans, missing comfort columns, and validation gaps (@snauwaertc)
- fix: last-run/plan status for Optimal_Inaccurate runs, and publish-data robustness (@snauwaertc)
- fix: thermal and heat_topology bugfixes on existing code (@snauwaertc)
- fix: center Plotly graph wrappers (@WartoWiedziec)
What's Changed
- fix: center Plotly graph wrappers by @WartoWiedziec in #1143
- fix: thermal and heat_topology bugfixes on existing code by @snauwaertc in #1146
- fix: last-run/plan status for Optimal_Inaccurate runs, and publish-data robustness by @snauwaertc in #1147
- fix: shared thermal tanks - stale plans, missing comfort columns, and validation gaps by @snauwaertc in #1148
- fix: exclude pre-observation history from forecast calibration by @MMicieli in #1149
- fix: enforce forecast validity at optimizer boundaries by @MMicieli in #1151
- fix: check the PV plant lists against pv_module_model before the plant loop by @LesIT1 in #1152
- fix: show the battery SOC chart in the web UI with more than one battery by @LesIT1 in #1153
- fix: parse --debug and --log2file values as booleans by @Blizzeq in #1155
- fix: extend VictoriaMetrics FILL(previous) through query end by @MMicieli in #1160
- fix: avoid WebSocket reconnect deadlock by @mikamikasuki in #1161
- fix: preserve PV forecast on unexpected model load errors by @MMicieli in #1162
- fix: resolve forecast endpoints inside DST transitions by @MMicieli in #1164
- fix: extend naive-MPC horizon across DST-short calendar days by @MMicieli in #1166
- feat: separate tariff schedule timezone from site timezone by @MMicieli in #1172
- feat: per-source temperature ceiling and anti-cycling for heat_topology (#539) by @snauwaertc in #1175
- feat: optional power-dependent hybrid-inverter efficiency curves (AC-side, DC→AC and AC→DC) by @MMicieli in #1168
- fix: align the naive load forecast on the time of day for any horizon by @martinarva in #1171
- fix: apply custom_deferrable_state_id passed at runtime by @Blizzeq in #1178
- feat: per-source overshoot and combi tanks for heat_topology (#539) by @snauwaertc in #1179
- feat: add battery_soc_final_reward_factor. by @lutorm in #1180
- fix: add the start <= on bound only for loads with a startup penalty by @snauwaertc in #1182
- feat: runtime shared tanks, per-tank start temperatures and extend mode for heat_topology (#539) by @snauwaertc in #1183
- feat: edit heat_topology in a text box and validate it on save (#539) by @snauwaertc in #1184
- feat: one thermal model in heat_topology - building zones, tank-to-tank transfers, window solar (#539) by @snauwaertc in #1186
New Contributors
- @mikamikasuki made their first contribution in #1161
Full Changelog: v0.18.4...v0.18.5