1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Zonneplan, 3x25A, Easee Charge Lite | EV 98kWh
In deze versie nog is een restart van de addon nodig. In de volgende versie werkt dat autodynamischMirabis schreef op dinsdag 6 januari 2026 @ 09:22:
Ik maak inmiddels (i.v.m. testen) ook gebruik van de ml_predictions: true en het draait. Echter heb ik geen idee waarom ik de Solar report "grafieken over de predictions" niet kan zien. Er komt geen additioneel tabblad, of optie naast/onder Reports bij.
Ben ik dan iets vergeten? Heb meermaals de Changelog.md bekeken maar kon het niet pinpointen. De docs/jsons zelf zijn nog niet helemaal up-to-date dus wellicht mis ik iets.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
In de basis klopt het dat een hoger elektrisch vermogen een lagere COP oplevert, echter heeft de buitentemperatuur en de aanvoertemperatuur een behoorlijke impact op de COP. Ik heb een polynoom gemaakt op basis van meetgegevens van Nibe waarmee ik dus een theoretische COP kan berekenen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| {# Polynomial surface fit (Excel). Inputs:
- To: outdoor temp (BT1)
- Ts: supply line temp (BT12)
#}
{% set To = states('sensor.current_outdoor_temperature_bt1_30002') | float(0) %}
{% set Ts = states('sensor.supply_line_eb101_bt12_31479') | float(0) %}
{% set To2 = To * To %}
{% set Ts2 = Ts * Ts %}
{% set a = (-0.00000119 * To2) + (-0.00006452 * To) + (-0.00001429) %}
{% set b = ( 0.00010600 * To2) + ( 0.00401571 * To) + (-0.06374286) %}
{% set c = (-0.00115257 * To2) + ( 0.01403286 * To) + ( 6.26945) %}
{{ (a * Ts2 + b * Ts + c) | round(2) }} |
Ik snap dat dit een stuk ingewikkelder is om te implementeren. Hoe gaan jullie hiermee om? Wat houden jullie aan voor de power stages van de warmtepomp?
EDIT
Ik ben hier nog eens ingedoken, en bij de temperatuurverschillen op de aanvoertemperatuur is het allemaal niet heel spannend en zijn de verschillen niet gigantisch. In mijn actuele COP zitten ook DHW runs en dan zie je de COP wel even flink droppen. Voor de heating is dat minder relevant.
[ Voor 10% gewijzigd door storeman op 06-01-2026 10:17 . Reden: Nuance toegevoegd ]
"Chaos kan niet uit de hand lopen"
nog steeds een beetje aan het stoeien hier. Dao draait nu een week, baseloads is nog wel een dingetje en mijn vriendin klaagt nu over de binnen temperatuur (oei) iets te laag. Ook zit ik ineens met een lege accu terwijl hij wel had moeten laden (maar stiekem in self consumption modus van de Solis omvormer blijft hangen) Daar ga ik nog induiken. Waar ik nu even tegenaan loop is de volgende melding die ik hier in het forum niet tegen kom:
info: Kan starturen wp niet bepalen Mijn warmtepomp pruttelt bijna de hele dag door. Op zich niet zo erg want hij stopt als de prijs hoog is, maar echt overrulen lijkt lastig.
hieronder de rest van de berekening (het lijkt dat een aantal variabelen nog niet door Dao herkent worden?)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| 2026-01-06 12:46:40 info: Gewogen graaddagen vandaag: 20.0 K.day 2026-01-06 12:46:40 info: Gewogen graaddagen totaal: 20.0 K.day 2026-01-06 12:46:40 info: Degree days factor: 3.6 kWh/K.day 2026-01-06 12:46:40 info: Totaal benodigde warmte: 72.1 kWh 2026-01-06 12:46:40 info: Reeds geproduceerde warmte: 0.0 kWh 2026-01-06 12:46:40 info: Nog benodigde warmte: 72.1 kWh 2026-01-06 12:46:40 info: Regeling warmtepomp: heating curve 2026-01-06 12:46:40 info: Actuele warmtevraag: Ja 2026-01-06 12:46:40 info: Minimale runlengte 1 uur 2026-01-06 12:46:40 info: Warmtepomp met power-regeling/stooklijnverschuiving wordt ingepland. 2026-01-06 12:46:40 info: Maximaal warmteproducerend vermogen: 12.0 kW 2026-01-06 12:46:40 info: Minimaal warmteproducerend vermogen: 12.0 kW 2026-01-06 12:46:40 info: Aantal beschikbare uren: 10.00 2026-01-06 12:46:40 info: Maximaal te produceren hoeveelheid warmte: 110.7 kWh 2026-01-06 12:46:40 info: Minimaal te produceren hoeveelheid warmte: 110.7 kWh 2026-01-06 12:46:40 info: Aantal in te plannen uren: 6.0 2026-01-06 12:46:40 info: Kan starturen wp niet bepalen 2026-01-06 12:46:40 info: geen data in geconfigureerde wp-sensor(s)' 2026-01-06 12:46:40 info: Warmtepomp draait al minimaal -2 uur 2026-01-06 12:46:40 info: Eerste blok van 1 uur 2026-01-06 12:46:40 info: Tussenin 1 blokken van 3 uur 2026-01-06 12:46:40 info: Laatste blok van 2.0 uur 2026-01-06 12:46:40 info: Totaal aantal blokken: 3 2026-01-06 12:46:40 info: Strategie: minimale kosten 2026-01-06 12:46:40 info: Maximale fout (maximal gap): 0.005000 euro 2026-01-06 12:46:40 info: Rekentijd: 0.03 sec 2026-01-06 12:46:40 waarschuwing: Geen oplossing voor: minimize cost |
Mijn batterij zit op dit moment rond "optimal lower level" (40%).
Ik merk dat de software steeds pingelt rond dit niveau. Dit komt o.a. doordat het ontlaad momenten inplant die niet kunnen door "minimum power" (1000W). Voorbeeld beneden: De software berekent dat er 0.13kWh ontladen moet worden, maar het minimum is 1kW*1h. Na het laden zit de batterij daardoor onder het gewenste niveau. De DAO corrigeert dit meestal het uur erop. Dit herhaalt zich een paar keer per dag.
Zijn er andere mensen die dit ook zien?
Edit: Ik vermoed dat ik "entity stop inverter" had moeten implementeren
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 1972026-01-06 15:39:43 info: Day Ahead Optimalisering versie: 2025.12.1 2026-01-06 15:39:43 info: Day Ahead Optimalisering gestart op: 06-01-2026 15:39:43 2026-01-06 15:39:43 info: Day Ahead Optimalisatie gestart: 06-01-2026 15:39:43 taak: calc_optimum_met_debug 2026-01-06 15:39:43 info: Debug = True 2026-01-06 15:39:43 info: Baseload uit instellingen 2026-01-06 15:39:43 info: Start waarden: uur tijd spot p_l p_t base pv_ac pv_dc 0 15:00 2026-01-06 15:00:00 0.134 0.297 0.297 0.500 0.446 0 1 16:00 2026-01-06 16:00:00 0.145 0.310 0.310 0.500 0.232 0 2 17:00 2026-01-06 17:00:00 0.153 0.320 0.320 0.600 0.000 0 3 18:00 2026-01-06 18:00:00 0.148 0.314 0.314 0.600 0.000 0 4 19:00 2026-01-06 19:00:00 0.139 0.303 0.303 0.600 0.000 0 5 20:00 2026-01-06 20:00:00 0.122 0.282 0.282 0.500 0.000 0 6 21:00 2026-01-06 21:00:00 0.087 0.240 0.240 0.500 0.000 0 7 22:00 2026-01-06 22:00:00 0.087 0.240 0.240 0.300 0.000 0 8 23:00 2026-01-06 23:00:00 0.077 0.228 0.228 0.300 0.000 0 9 00:00 2026-01-07 00:00:00 0.088 0.241 0.241 0.300 0.000 0 10 01:00 2026-01-07 01:00:00 0.083 0.235 0.235 0.300 0.000 0 11 02:00 2026-01-07 02:00:00 0.080 0.231 0.231 0.300 0.000 0 12 03:00 2026-01-07 03:00:00 0.079 0.230 0.230 0.300 0.000 0 13 04:00 2026-01-07 04:00:00 0.078 0.229 0.229 0.300 0.000 0 14 05:00 2026-01-07 05:00:00 0.079 0.230 0.230 0.300 0.000 0 15 06:00 2026-01-07 06:00:00 0.090 0.243 0.243 0.300 0.000 0 16 07:00 2026-01-07 07:00:00 0.094 0.249 0.249 0.500 0.000 0 17 08:00 2026-01-07 08:00:00 0.105 0.261 0.261 0.500 0.000 0 18 09:00 2026-01-07 09:00:00 0.111 0.269 0.269 0.500 0.066 0 19 10:00 2026-01-07 10:00:00 0.108 0.265 0.265 0.500 0.274 0 20 11:00 2026-01-07 11:00:00 0.099 0.255 0.255 0.500 0.626 0 21 12:00 2026-01-07 12:00:00 0.095 0.250 0.250 0.500 0.253 0 22 13:00 2026-01-07 13:00:00 0.092 0.245 0.245 0.500 0.231 0 23 14:00 2026-01-07 14:00:00 0.094 0.248 0.248 0.500 0.232 0 24 15:00 2026-01-07 15:00:00 0.100 0.256 0.256 0.500 0.233 0 25 16:00 2026-01-07 16:00:00 0.112 0.270 0.270 0.500 0.066 0 26 17:00 2026-01-07 17:00:00 0.124 0.285 0.285 0.600 0.000 0 27 18:00 2026-01-07 18:00:00 0.111 0.270 0.270 0.600 0.000 0 28 19:00 2026-01-07 19:00:00 0.097 0.252 0.252 0.600 0.000 0 29 20:00 2026-01-07 20:00:00 0.091 0.244 0.244 0.500 0.000 0 30 21:00 2026-01-07 21:00:00 0.093 0.247 0.247 0.500 0.000 0 31 22:00 2026-01-07 22:00:00 0.091 0.245 0.245 0.300 0.000 0 32 23:00 2026-01-07 23:00:00 0.087 0.240 0.240 0.300 0.000 0 2026-01-06 15:39:43 info: No reduced hours applied for Batterij 2026-01-06 15:39:43 info: Startwaarde SoC Batterij: 40.3% 2026-01-06 15:39:44 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2026-01-06 15:39:44 info: Instellingen voor laden van EV: Mini 2026-01-06 15:39:44 info: Direct laden is uit 2026-01-06 15:39:44 info: Ampere Effic. Grid kW Accu kW 2026-01-06 15:39:44 info: 0.00 1.00 0.00 0.00 2026-01-06 15:39:44 info: 6.00 0.95 4.14 3.93 2026-01-06 15:39:44 info: 10.00 0.96 6.90 6.62 2026-01-06 15:39:44 info: 13.00 0.97 8.97 8.70 2026-01-06 15:39:44 info: 16.00 0.98 11.04 10.82 2026-01-06 15:39:44 info: Capaciteit accu: 50.0 kWh 2026-01-06 15:39:44 info: Maximaal laadvermogen: 11.04 kW 2026-01-06 15:39:44 info: Klaar met laden op: 07-01-2026 07:00:00 2026-01-06 15:39:44 info: Huidig laadniveau: 26.0 % 2026-01-06 15:39:44 info: Gewenst laadniveau:80.0 % 2026-01-06 15:39:44 info: Marge voor het laden: 1 % 2026-01-06 15:39:44 info: Locatie: home 2026-01-06 15:39:44 info: Ingeplugged:True 2026-01-06 15:39:44 info: Benodigde netto energie: 27.000 kWh 2026-01-06 15:39:44 info: Tijd nodig om te laden: 2:30 uur 2026-01-06 15:39:44 info: Afgerond naar hele intervallen: 3 uur 2026-01-06 15:39:44 info: Stand laden schakelaar: off 2026-01-06 15:39:44 info: Stand aantal ampere laden: 0.0 A 2026-01-06 15:39:44 info: Opladen wordt ingepland. 2026-01-06 15:39:44 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland 2026-01-06 15:39:44 info: Strategie: minimale kosten 2026-01-06 15:39:44 info: Maximale fout (maximal gap): 0.005000 euro 2026-01-06 15:39:44 info: Rekentijd: 0.20 sec 2026-01-06 15:39:44 info: Het programma heeft een optimale oplossing gevonden. 2026-01-06 15:39:44 info: In- en uitgaande energie per uur batterij Batterij uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 15:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.30 16:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.30 17:00 -0.13 92.00 -0.14 0.00 -0.14 100.00 -0.14 92.00 40.00 18:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 19:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 00:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 01:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 02:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 03:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 04:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 05:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 06:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 07:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 08:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 09:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 10:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 11:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 12:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 13:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 14:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 15:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 16:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 17:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 18:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 19:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 40.00 Totaal -0.13 -- -0.14 0.00 -0.14 -- -0.14 -- 2026-01-06 15:39:44 info: Berekende prognoses zijn niet opgeslagen. 2026-01-06 15:39:44 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 15:00 0.00 0.00 0.00 0.28 0.50 0.00 0.00 0.00 0.45 0.00 -0.08 20.00 16:00 0.00 0.00 0.27 0.00 0.50 0.00 0.00 0.00 0.23 0.08 -0.00 20.00 17:00 0.00 0.13 0.47 0.00 0.60 0.00 0.00 0.00 0.00 0.15 -0.00 20.00 18:00 0.00 0.00 0.60 0.00 0.60 0.00 0.00 0.00 0.00 0.19 -0.00 20.00 19:00 0.00 0.00 0.60 0.00 0.60 0.00 0.00 0.00 0.00 0.18 -0.00 20.00 20:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.14 -0.00 20.00 21:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 22:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 23:00 0.00 0.00 11.34 0.00 0.30 0.00 0.00 11.04 0.00 2.59 -0.00 20.00 00:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 01:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 02:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 03:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 04:00 0.00 0.00 11.34 0.00 0.30 0.00 0.00 11.04 0.00 2.59 -0.00 20.00 05:00 0.00 0.00 5.77 0.00 0.30 0.00 0.00 5.47 0.00 1.33 -0.00 20.00 06:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 07:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 08:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.13 -0.00 20.00 09:00 0.00 0.00 0.43 0.00 0.50 0.00 0.00 0.00 0.07 0.12 -0.00 20.00 10:00 0.00 0.00 0.23 0.00 0.50 0.00 0.00 0.00 0.27 0.06 -0.00 20.00 11:00 0.00 0.00 0.00 0.13 0.50 0.00 0.00 0.00 0.63 0.00 -0.03 20.00 12:00 0.00 0.00 0.25 0.00 0.50 0.00 0.00 0.00 0.25 0.06 -0.00 20.00 13:00 0.00 0.00 0.27 0.00 0.50 0.00 0.00 0.00 0.23 0.07 -0.00 20.00 14:00 0.00 0.00 0.27 0.00 0.50 0.00 0.00 0.00 0.23 0.07 -0.00 20.00 15:00 0.00 0.00 0.27 0.00 0.50 0.00 0.00 0.00 0.23 0.07 -0.00 20.00 16:00 0.00 0.00 0.43 0.00 0.50 0.00 0.00 0.00 0.07 0.12 -0.00 20.00 17:00 0.00 0.00 0.60 0.00 0.60 0.00 0.00 0.00 0.00 0.17 -0.00 20.00 18:00 0.00 0.00 0.60 0.00 0.60 0.00 0.00 0.00 0.00 0.16 -0.00 20.00 19:00 0.00 0.00 0.60 0.00 0.60 0.00 0.00 0.00 0.00 0.15 -0.00 20.00 20:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 21:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 22:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 23:00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 Totaal 0.00 0.13 39.73 0.40 14.90 0.00 0.00 27.55 2.66 9.48 -0.11 2026-01-06 15:39:44 info: Consumption 39.73 (kWh) 2026-01-06 15:39:44 info: Cost consumption 9.48 (€) 2026-01-06 15:39:44 info: Tariff consumption 0.239 (€/kWh) 2026-01-06 15:39:44 info: Production 0.40 (kWh) 2026-01-06 15:39:44 info: Profit production -0.11 (€) 2026-01-06 15:39:44 info: Tariff production 0.283 (€/kWh) 2026-01-06 15:39:44 info: Calculation profit after optimize in € Cost before optimize 9.51 Cost consumption 9.48 Cycle cost 0.00 Penalty cost 0.00 Battery storage -1.13 Boiler storage 0.00 Profit production -0.11 Total 8.24 Cost after optimize 8.24 Profit: 1.27 2026-01-06 15:39:44 info: Onderstaande settings worden NIET doorgezet naar HA (debug-run) 2026-01-06 15:39:44 info: Inzet-factor laden Mini per stap uur 0.0A 6.0A 10.0A 13.0A 16.0A cons power 15:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 16:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 17:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 18:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 19:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 20:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 21:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 22:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 23:00 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 1.00(1.0) 11.040 11.040 00:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 01:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 02:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 03:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 04:00 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 1.00(1.0) 11.040 11.040 05:00 0.50(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.50(1.0) 5.471 11.040 06:00 1.00(1.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.00(0.0) 0.000 0.000 2026-01-06 15:39:44 info: Mini wordt geladen tussen 2026-01-06 23:00:00 en 2026-01-07 06:00:00 2026-01-06 15:39:44 info: Berekeningsuitkomst voor opladen van Mini: 2026-01-06 15:39:44 info: - aantal ampere 0A (was 0.0A) 2026-01-06 15:39:44 info: - stand schakelaar 'off' (was 'off') 2026-01-06 15:39:44 info: - positie: home 2026-01-06 15:39:44 info: - ingeplugd: True 2026-01-06 15:39:44 info: Evaluatie status laden Mini op 2026-01-06 15:39 2026-01-06 15:39:44 info: - schakelaar laden: off 2026-01-06 15:39:44 info: - aantal ampere: 0.0 2026-01-06 15:39:44 info: Grid set point: -821.0 W 2026-01-06 15:39:44 info: Cycle cost Batterij: 0.00 euro 2026-01-06 15:39:44 info: Netto vermogen naar(+)/uit(-) batterij Batterij zou zijn: 0 W 2026-01-06 15:39:44 info: Balanceren zou zijn: False
Ik heb zelf een water/water warmtepomp en die werkt minder afhankelijk van de buitentemperatuur. Alleen zakt de cop bij hogere vermogens. Die heb ik zelf empirisch vastgesteld en ingevoerd in een aantal "stages".storeman schreef op dinsdag 6 januari 2026 @ 10:06:
Ik weet niet of er al eens een discussie over geweest is, moeilijk teruglezen, maar de stages van de warmtepomp zijn imho niet geheel dekkend?
In de basis klopt het dat een hoger elektrisch vermogen een lagere COP oplevert, echter heeft de buitentemperatuur en de aanvoertemperatuur een behoorlijke impact op de COP. Ik heb een polynoom gemaakt op basis van meetgegevens van Nibe waarmee ik dus een theoretische COP kan berekenen:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15{# Polynomial surface fit (Excel). Inputs: - To: outdoor temp (BT1) - Ts: supply line temp (BT12) #} {% set To = states('sensor.current_outdoor_temperature_bt1_30002') | float(0) %} {% set Ts = states('sensor.supply_line_eb101_bt12_31479') | float(0) %} {% set To2 = To * To %} {% set Ts2 = Ts * Ts %} {% set a = (-0.00000119 * To2) + (-0.00006452 * To) + (-0.00001429) %} {% set b = ( 0.00010600 * To2) + ( 0.00401571 * To) + (-0.06374286) %} {% set c = (-0.00115257 * To2) + ( 0.01403286 * To) + ( 6.26945) %} {{ (a * Ts2 + b * Ts + c) | round(2) }}
Ik snap dat dit een stuk ingewikkelder is om te implementeren. Hoe gaan jullie hiermee om? Wat houden jullie aan voor de power stages van de warmtepomp?
EDIT
Ik ben hier nog eens ingedoken, en bij de temperatuurverschillen op de aanvoertemperatuur is het allemaal niet heel spannend en zijn de verschillen niet gigantisch. In mijn actuele COP zitten ook DHW runs en dan zie je de COP wel even flink droppen. Voor de heating is dat minder relevant.
Bij een lucht/water warmtepomp zou dat ook moeten werken alleen ligt daar het verband anders.
Voor het maken van DHW heb ik de boiler ingesteld en bij de boiler staat:
1
| "boiler heated by heatpump": "True", |
De uren dat de boiler wordt opgewarmd is deze niet beschikbaar voor de wp-ruimteverwarming.
Kun je hiermee verder?
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Wat als eerste opvalt:Herbertnl schreef op dinsdag 6 januari 2026 @ 12:59:
Goedemiddag allen,
nog steeds een beetje aan het stoeien hier. Dao draait nu een week, baseloads is nog wel een dingetje en mijn vriendin klaagt nu over de binnen temperatuur (oei) iets te laag. Ook zit ik ineens met een lege accu terwijl hij wel had moeten laden (maar stiekem in self consumption modus van de Solis omvormer blijft hangen) Daar ga ik nog induiken. Waar ik nu even tegenaan loop is de volgende melding die ik hier in het forum niet tegen kom:
info: Kan starturen wp niet bepalen Mijn warmtepomp pruttelt bijna de hele dag door. Op zich niet zo erg want hij stopt als de prijs hoog is, maar echt overrulen lijkt lastig.
hieronder de rest van de berekening (het lijkt dat een aantal variabelen nog niet door Dao herkent worden?)
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2026-01-06 12:46:40 info: Gewogen graaddagen vandaag: 20.0 K.day 2026-01-06 12:46:40 info: Gewogen graaddagen totaal: 20.0 K.day 2026-01-06 12:46:40 info: Degree days factor: 3.6 kWh/K.day 2026-01-06 12:46:40 info: Totaal benodigde warmte: 72.1 kWh 2026-01-06 12:46:40 info: Reeds geproduceerde warmte: 0.0 kWh 2026-01-06 12:46:40 info: Nog benodigde warmte: 72.1 kWh 2026-01-06 12:46:40 info: Regeling warmtepomp: heating curve 2026-01-06 12:46:40 info: Actuele warmtevraag: Ja 2026-01-06 12:46:40 info: Minimale runlengte 1 uur 2026-01-06 12:46:40 info: Warmtepomp met power-regeling/stooklijnverschuiving wordt ingepland. 2026-01-06 12:46:40 info: Maximaal warmteproducerend vermogen: 12.0 kW 2026-01-06 12:46:40 info: Minimaal warmteproducerend vermogen: 12.0 kW 2026-01-06 12:46:40 info: Aantal beschikbare uren: 10.00 2026-01-06 12:46:40 info: Maximaal te produceren hoeveelheid warmte: 110.7 kWh 2026-01-06 12:46:40 info: Minimaal te produceren hoeveelheid warmte: 110.7 kWh 2026-01-06 12:46:40 info: Aantal in te plannen uren: 6.0 2026-01-06 12:46:40 info: Kan starturen wp niet bepalen 2026-01-06 12:46:40 info: geen data in geconfigureerde wp-sensor(s)' 2026-01-06 12:46:40 info: Warmtepomp draait al minimaal -2 uur 2026-01-06 12:46:40 info: Eerste blok van 1 uur 2026-01-06 12:46:40 info: Tussenin 1 blokken van 3 uur 2026-01-06 12:46:40 info: Laatste blok van 2.0 uur 2026-01-06 12:46:40 info: Totaal aantal blokken: 3 2026-01-06 12:46:40 info: Strategie: minimale kosten 2026-01-06 12:46:40 info: Maximale fout (maximal gap): 0.005000 euro 2026-01-06 12:46:40 info: Rekentijd: 0.03 sec 2026-01-06 12:46:40 waarschuwing: Geen oplossing voor: minimize cost
1
| 2026-01-06 12:46:40 info: Reeds geproduceerde warmte: 0.0 kWh |
Dus blijkbaar heb je een verkeerde of geen sensor gekoppeld aan:
1
| "entity hp heat produced": "sensor.daily_heat_production_heating", |
De bedoeling is dat je in HA met een helper (type utiliy_meter) een sensor definieert die de dagelijks geproduceerde hoeveelheid warmte bijhoudt (begint iedere keer om 0:00uur op nul).
Als jee die sensor koppelt in je heatpump settings ben je al een stuk verder..
Dan de houdt de warmtepomp, ook bij deze koude dagen genoeg tijd over in de resterende de rest van de benodigde warmte te produceren.
Tweede wat opvalt:
1
2
| 2026-01-06 12:46:40 info: Maximaal warmteproducerend vermogen: 12.0 kW 2026-01-06 12:46:40 info: Minimaal warmteproducerend vermogen: 12.0 kW |
Mijn vraag daarover is:
Heeft jouw wp maar 1 vermogen, kan hij niet moduleren?
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Als je werkt met een minimum vermogen is het dringend gewenst dat:Noshi schreef op dinsdag 6 januari 2026 @ 15:47:
De software heeft eindelijk wat te doen nu de er wat variatie in de prijzen begint te komen :-).
Mijn batterij zit op dit moment rond "optimal lower level" (40%).
Ik merk dat de software steeds pingelt rond dit niveau. Dit komt o.a. doordat het ontlaad momenten inplant die niet kunnen door "minimum power" (1000W). Voorbeeld beneden: De software berekent dat er 0.13kWh ontladen moet worden, maar het minimum is 1kW*1h. Na het laden zit de batterij daardoor onder het gewenste niveau. De DAO corrigeert dit meestal het uur erop. Dit herhaalt zich een paar keer per dag.
Zijn er andere mensen die dit ook zien?
Edit: Ik vermoed dat ik "entity stop inverter" had moeten implementeren.
[...]
je gebruikt maakt van
1
| "entity stop inverter": "input_datetime.stop_victron", |
Hierin komt dan een datum/tijd waarin het berekende verbruik is geladen/ontladen.
Je zult dan zelf in HA een automation moeten maken die getriggerd wordt door deze datum/tijden die de omvormer uitzet.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Even een dubbel check. Het gaat hier om de thermisch geproduceerde warmte of elektrische hoeveelheid die door de WP is verbruikt? Ik heb dit niet meer scherp.KC27 schreef op dinsdag 6 januari 2026 @ 16:26:
[...]
code:
1 "entity hp heat produced": "sensor.daily_heat_production_heating",
De bedoeling is dat je in HA met een helper (type utiliy_meter) een sensor definieert die de dagelijks geproduceerde hoeveelheid warmte bijhoudt (begint iedere keer om 0:00uur op nul).
PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP
"Chaos kan niet uit de hand lopen"
Ik was inderdaad zover gekomen dat er met het optellen van de thermisch vermogen iets niet helemaal goed ging. Daar een nieuwe sensor voor gemaakt en erin gezet en een helper die hem iedere dag weer op 0 zet (0.00 's-nachts) Mijn wp kan moduleren tussen 1.05~3.85 kWh (elektrisch) en het vermogen wordt aangestuurd door de compressor harder te laten werken (frequentie geregeld in hz) Maar frequentie input veranderen kan ik niet. Dus wat DAO doet is de gewenste kamer temperatuur verhogen (en als de prijs te hoog is, dan verlaagt hij zodat de wp stopt)KC27 schreef op dinsdag 6 januari 2026 @ 16:26:
[...]
Wat als eerste opvalt:
code:
1 2026-01-06 12:46:40 info: Reeds geproduceerde warmte: 0.0 kWh
Dus blijkbaar heb je een verkeerde of geen sensor gekoppeld aan:
code:
1 "entity hp heat produced": "sensor.daily_heat_production_heating",
De bedoeling is dat je in HA met een helper (type utiliy_meter) een sensor definieert die de dagelijks geproduceerde hoeveelheid warmte bijhoudt (begint iedere keer om 0:00uur op nul).
Als jee die sensor koppelt in je heatpump settings ben je al een stuk verder..
Dan de houdt de warmtepomp, ook bij deze koude dagen genoeg tijd over in de resterende de rest van de benodigde warmte te produceren.
Tweede wat opvalt:
code:
1 2 2026-01-06 12:46:40 info: Maximaal warmteproducerend vermogen: 12.0 kW 2026-01-06 12:46:40 info: Minimaal warmteproducerend vermogen: 12.0 kW
Mijn vraag daarover is:
Heeft jouw wp maar 1 vermogen, kan hij niet moduleren?
Ergens was er al een periode verzonden waardoor de WP nu in "prijs besparing" staat en niet meer wilde inschakelen, DAO uitgezet (addon gestop) helaas. (óók niet via de thermostaat) wp gereset ook geen resultaat. uiteindelijk de mod-bus uitgeschakeld (utp eruit) wp gereset, alle tijdklokken gereset en zowaar starte de wp weer op.
Dus ik duik er nog eens in wanneer de buitentemperatuur iets vriendelijker is. Wellicht is het een idee (of wellicht heeft iemand dat al gemaakt) om een soort 'over-rule' knop te maken waarmee je altijd (ongeacht het schema) de boel kunt inschakelen.
Eerst nog eens een keer weer de manual doornemen en misschien kan ik een test laten draaien die wel kijkt naar alle sensoren en simuleert maar niet direct aanstuurt (bestaat zoiets en is daar een manual voor?)
En uiteraard alvast bedankt voor het meedenken !
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Traceback (most recent call last):
File "/root/dao/webserver/../prog/day_ahead.py", line 4467, in <module>
main()
~~~~^^
File "/root/dao/webserver/../prog/day_ahead.py", line 4430, in main
da_calc = DaCalc("../data/options.json")
File "/root/dao/webserver/../prog/day_ahead.py", line 29, in __init__
super().__init__(file_name=file_name)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_base.py", line 125, in __init__
self.meteo = Meteo(self.config, self.db_da)
~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_meteo.py", line 21, in __init__
self.meteoserver_key = config.get(["meteoserver-key"])
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_config.py", line 37, in get
result = self.secrets[result[8:]]
~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'meteoserver-key' |
Mijn key staat waar de x-jes staan.
1
| "xxxx": "key meteo server", |
Ik zag een half jaar geleden na een search een soortgelijke fout echter zou dat in de huidige release gefxed zijn. Mijn meteo account is activated, onbetaald en de key in mijn mail was hetzelfde als in het meteo back-end. Als ik day ahead prijzen ophalen draai dan dezelfde error.
[ Voor 6% gewijzigd door The Source op 06-01-2026 21:33 ]
Het kan zijn dat ik je bericht verkeerd lees of je hebt het daadwerkelijk verkeerd om opgegeven. Het zou moeten zijn:The Source schreef op dinsdag 6 januari 2026 @ 21:31:
Ik was met Emhass aan het klooien, maar mij werd dit aangeraden. Echter krijg ik bij de setup al een fout.
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 4467, in <module> main() ~~~~^^ File "/root/dao/webserver/../prog/day_ahead.py", line 4430, in main da_calc = DaCalc("../data/options.json") File "/root/dao/webserver/../prog/day_ahead.py", line 29, in __init__ super().__init__(file_name=file_name) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_base.py", line 125, in __init__ self.meteo = Meteo(self.config, self.db_da) ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_meteo.py", line 21, in __init__ self.meteoserver_key = config.get(["meteoserver-key"]) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_config.py", line 37, in get result = self.secrets[result[8:]] ~~~~~~~~~~~~^^^^^^^^^^^^ KeyError: 'meteoserver-key'
Mijn key staat waar de x-jes staan.
code:
1 "xxxx": "key meteo server",
Ik zag een half jaar geleden na een search een soortgelijke fout echter zou dat in de huidige release gefxed zijn. Mijn meteo account is activated, onbetaald en de key in mijn mail was hetzelfde als in het meteo back-end. Als ik day ahead prijzen ophalen draai dan dezelfde error.
Options:
1
| "meteoserver-key": "!secret meteoserver-key", |
Secrets:
1
2
3
| {
"meteoserver-key": "XXXXX",
} |
Of rechtstreeks in je config zonder !secret maar gewoon hardcoded.
1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Zonneplan, 3x25A, Easee Charge Lite | EV 98kWh
Dat werkt welMirabis schreef op dinsdag 6 januari 2026 @ 21:43:
[...]
Het kan zijn dat ik je bericht verkeerd lees of je hebt het daadwerkelijk verkeerd om opgegeven. Het zou moeten zijn:
Options:
code:
1 "meteoserver-key": "!secret meteoserver-key",
Secrets:
code:
1 2 3{ "meteoserver-key": "XXXXX", }
Of rechtstreeks in je config zonder !secret maar gewoon hardcoded.
1
2
| En je vult bij "meteoserver-key" jouw api key in: "meteoserver-key": "<api key>", |
Dat simuleren kan heel eenvoudig.Herbertnl schreef op dinsdag 6 januari 2026 @ 18:14:
[...]
Ik was inderdaad zover gekomen dat er met het optellen van de thermisch vermogen iets niet helemaal goed ging. Daar een nieuwe sensor voor gemaakt en erin gezet en een helper die hem iedere dag weer op 0 zet (0.00 's-nachts) Mijn wp kan moduleren tussen 1.05~3.85 kWh (elektrisch) en het vermogen wordt aangestuurd door de compressor harder te laten werken (frequentie geregeld in hz) Maar frequentie input veranderen kan ik niet. Dus wat DAO doet is de gewenste kamer temperatuur verhogen (en als de prijs te hoog is, dan verlaagt hij zodat de wp stopt)
Ergens was er al een periode verzonden waardoor de WP nu in "prijs besparing" staat en niet meer wilde inschakelen, DAO uitgezet (addon gestop) helaas. (óók niet via de thermostaat) wp gereset ook geen resultaat. uiteindelijk de mod-bus uitgeschakeld (utp eruit) wp gereset, alle tijdklokken gereset en zowaar starte de wp weer op.
Dus ik duik er nog eens in wanneer de buitentemperatuur iets vriendelijker is. Wellicht is het een idee (of wellicht heeft iemand dat al gemaakt) om een soort 'over-rule' knop te maken waarmee je altijd (ongeacht het schema) de boel kunt inschakelen.
Eerst nog eens een keer weer de manual doornemen en misschien kan ik een test laten draaien die wel kijkt naar alle sensoren en simuleert maar niet direct aanstuurt (bestaat zoiets en is daar een manual voor?)
En uiteraard alvast bedankt voor het meedenken !
Bijna altijd stuur je metDAO niet direct een sensor of switch aan die direct (via een integratie) ingrijpt op een apparaat. Meestal maak je een of meer helpers in HA aan waar DAO zijn berekende resultaten naar toe schrijft. Die wijziging van "state" gebruik je dan om een automation te triggeren die de berekende waarde (soms omgerekend) schrijft naar een sensor/switch die wel direct gekoppeld is aan een integratie en waarmee je het betreffende apparaat bestuurt.
Als je nu die laatste stap achterwege laat heb je voor jezelf een mooie speeltuin gemaakt om van alles te simuleren, zonder dat je apparatuur daarvan op hol slaat.
Als je een utility meter maakt met cycle "daily" heb je sensor die vanzelf iedere dag opnieuw begint te tellen.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Dit staat in de changelog:
- Fixed error on first time running ml_training (reported by @simnet)
- Added "ml_predictions" and "entities sensors" to options_example.json
- Added "train_ml_predictions" to scheduler and options_example.json
- Dynamical change of dashboard menu after changing ml_prediction (no restart needed anymore)
- Fixed error with api_run.html (reported by @DaBit
Op grond van diverse ervaringen is conclusie:
Het gebruik van de ml-voorspeller geeft betere voorspellingen dan de DAO-berekening/voorspelling als je minimaal meer dan een half jaar en liefst een heel jaar of meer aan geregistreerde productie van je zonnepanelen hebt, zodat je je modellen voldoende kunt trainen. Ik kreeg zelf pas veel betere resultaten mer 3 jaar aan productiegegevens.
Kijk goed naar de resultaten van de training. Als je een R² van minder dan 0,9 hebt dan is het gebruik de voorspeller nog niet aan te raden.
Als je "ML modellen trainen" start vanuit het run-menu kan het soms langer dan 2 minuten duren en dan krijg je een time-out-error en wordt de berekening afgebroken. Om deze reden en ook om dagelijks de berekende modellen te updaten verdient het aanbeveling om de training eens per dag via de scheduler te laten lopen met deze extra regel: "2350": "train_ml_predictions", waarbij je natuurlijk zelf het tijdstip mag bepalen.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Bij mij is de training R² structureel hoger dan 0.9, maar de testing R² niet.
'schuurplatnoord' is een extreme: training R² van 0.95, testing R² van amper 0.51. En die voorspelt inderdaad niet geweldig rond deze tijd. Of-ie dat in de zomermaanden wel doet kan ik niet zien; als ik terug probeer te kijken dan krijg ik voor alle datums voor 2025-09-15 een 'Internal Server Error' als ik kijk bij solar -> <kies een array> -> <grafiek of tabel maakt niet uit> -> met pijltje bladeren of datum kiezen voor 2025-09-14
(@KC27: dat probleem is niet nieuw, dus aan de data die ik je stuurde zou je voldoende moeten hebben. Maar als je een verse dataset wil, geef maar een gil)
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 2232026-01-07 08:30:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 08:30:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 08:30:00 2026-01-07 08:30:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 08:30:00 taak: train_ml_predictions 2026-01-07 08:30:02 info: KNMI-weerstation: 375 VOLKEL 2026-01-07 08:30:02 info: Er zijn knmi-data aanwezig vanaf 2023-01-04 01:00:00 tot 2026-01-06 00:00:00 2026-01-07 08:30:02 info: Er zijn data van het KNMI binnengekomen vanaf 2026-01-05 00:00:00+01:00 tot en met 2026-01-05 23:00:00+01:00 2026-01-07 08:30:07 info: Starting solar prediction model for Growatt training... 2026-01-07 08:30:07 info: Loading and processing data... 2026-01-07 08:30:08 info: Merging weather and solar data... 2026-01-07 08:30:08 info: Merged dataset: 26281 records 2026-01-07 08:30:08 info: Date range: 2023-01-06 23:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:08 info: Detecting outliers... 2026-01-07 08:30:09 info: Outliers removed: 1020 (3.9%) 2026-01-07 08:30:09 info: Clean dataset: 25261 records 2026-01-07 08:30:09 info: Training samples: 20208 2026-01-07 08:30:09 info: Testing samples: 5053 2026-01-07 08:30:09 info: Tune hyperparameters: True 2026-01-07 08:30:09 info: Tuning hyperparameters... 2026-01-07 08:30:09 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:24 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 3, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:24 info: Training final model... 2026-01-07 08:30:24 info: Parameters: {'learning_rate': 0.05, 'max_depth': 3, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:24 info: Model training van Growatt complete 2026-01-07 08:30:24 info: Model saved to: ../data/prediction/models/Growatt.pkl 2026-01-07 08:30:24 info: Training MAE: 0.1173 kWh 2026-01-07 08:30:24 info: Testing MAE: 0.1271 kWh 2026-01-07 08:30:24 info: Training R²: 0.9579 2026-01-07 08:30:24 info: Testing R²: 0.9508 2026-01-07 08:30:24 info: Sorted features: 2026-01-07 08:30:24 info: 1. irradiance: 0.951 2026-01-07 08:30:24 info: 2. week_nr: 0.011 2026-01-07 08:30:24 info: 3. season: 0.010 2026-01-07 08:30:24 info: 4. quarter: 0.009 2026-01-07 08:30:24 info: 5. hour: 0.007 2026-01-07 08:30:24 info: 6. temperature: 0.004 2026-01-07 08:30:24 info: 7. month: 0.004 2026-01-07 08:30:24 info: 8. day_of_week: 0.004 2026-01-07 08:30:25 info: Starting solar prediction model for schuurzuid training... 2026-01-07 08:30:25 info: Loading and processing data... 2026-01-07 08:30:26 info: Merging weather and solar data... 2026-01-07 08:30:26 info: Merged dataset: 18520 records 2026-01-07 08:30:26 info: Date range: 2023-11-26 08:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:26 info: Detecting outliers... 2026-01-07 08:30:27 info: Outliers removed: 433 (2.3%) 2026-01-07 08:30:27 info: Clean dataset: 18087 records 2026-01-07 08:30:27 info: Training samples: 14469 2026-01-07 08:30:27 info: Testing samples: 3618 2026-01-07 08:30:27 info: Tune hyperparameters: True 2026-01-07 08:30:27 info: Tuning hyperparameters... 2026-01-07 08:30:27 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:33 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:30:33 info: Training final model... 2026-01-07 08:30:33 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:30:33 info: Model training van schuurzuid complete 2026-01-07 08:30:33 info: Model saved to: ../data/prediction/models/schuurzuid.pkl 2026-01-07 08:30:33 info: Training MAE: 0.0194 kWh 2026-01-07 08:30:33 info: Testing MAE: 0.0212 kWh 2026-01-07 08:30:33 info: Training R²: 0.9359 2026-01-07 08:30:33 info: Testing R²: 0.7806 2026-01-07 08:30:33 info: Sorted features: 2026-01-07 08:30:33 info: 1. irradiance: 0.829 2026-01-07 08:30:33 info: 2. hour: 0.039 2026-01-07 08:30:33 info: 3. quarter: 0.031 2026-01-07 08:30:33 info: 4. week_nr: 0.031 2026-01-07 08:30:33 info: 5. season: 0.029 2026-01-07 08:30:33 info: 6. month: 0.025 2026-01-07 08:30:33 info: 7. temperature: 0.010 2026-01-07 08:30:33 info: 8. day_of_week: 0.007 2026-01-07 08:30:34 info: Starting solar prediction model for schuurmidden training... 2026-01-07 08:30:34 info: Loading and processing data... 2026-01-07 08:30:35 info: Merging weather and solar data... 2026-01-07 08:30:35 info: Merged dataset: 18520 records 2026-01-07 08:30:35 info: Date range: 2023-11-26 08:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:35 info: Detecting outliers... 2026-01-07 08:30:35 info: Outliers removed: 405 (2.2%) 2026-01-07 08:30:35 info: Clean dataset: 18115 records 2026-01-07 08:30:35 info: Training samples: 14492 2026-01-07 08:30:35 info: Testing samples: 3623 2026-01-07 08:30:35 info: Tune hyperparameters: True 2026-01-07 08:30:35 info: Tuning hyperparameters... 2026-01-07 08:30:35 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:42 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 200, 'subsample': 0.8} 2026-01-07 08:30:42 info: Training final model... 2026-01-07 08:30:42 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 200, 'subsample': 0.8} 2026-01-07 08:30:42 info: Model training van schuurmidden complete 2026-01-07 08:30:42 info: Model saved to: ../data/prediction/models/schuurmidden.pkl 2026-01-07 08:30:42 info: Training MAE: 0.0184 kWh 2026-01-07 08:30:42 info: Testing MAE: 0.0223 kWh 2026-01-07 08:30:42 info: Training R²: 0.9433 2026-01-07 08:30:42 info: Testing R²: 0.7307 2026-01-07 08:30:42 info: Sorted features: 2026-01-07 08:30:42 info: 1. irradiance: 0.827 2026-01-07 08:30:42 info: 2. hour: 0.050 2026-01-07 08:30:42 info: 3. quarter: 0.041 2026-01-07 08:30:42 info: 4. week_nr: 0.034 2026-01-07 08:30:42 info: 5. month: 0.026 2026-01-07 08:30:42 info: 6. temperature: 0.009 2026-01-07 08:30:42 info: 7. day_of_week: 0.009 2026-01-07 08:30:42 info: 8. season: 0.005 2026-01-07 08:30:42 info: Starting solar prediction model for schuurnoord training... 2026-01-07 08:30:42 info: Loading and processing data... 2026-01-07 08:30:43 info: Merging weather and solar data... 2026-01-07 08:30:43 info: Merged dataset: 18520 records 2026-01-07 08:30:43 info: Date range: 2023-11-26 08:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:43 info: Detecting outliers... 2026-01-07 08:30:44 info: Outliers removed: 393 (2.1%) 2026-01-07 08:30:44 info: Clean dataset: 18127 records 2026-01-07 08:30:44 info: Training samples: 14501 2026-01-07 08:30:44 info: Testing samples: 3626 2026-01-07 08:30:44 info: Tune hyperparameters: True 2026-01-07 08:30:44 info: Tuning hyperparameters... 2026-01-07 08:30:44 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:51 info: Best parameters: {'learning_rate': 0.1, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:51 info: Training final model... 2026-01-07 08:30:51 info: Parameters: {'learning_rate': 0.1, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:51 info: Model training van schuurnoord complete 2026-01-07 08:30:51 info: Model saved to: ../data/prediction/models/schuurnoord.pkl 2026-01-07 08:30:51 info: Training MAE: 0.0177 kWh 2026-01-07 08:30:51 info: Testing MAE: 0.0216 kWh 2026-01-07 08:30:51 info: Training R²: 0.9479 2026-01-07 08:30:51 info: Testing R²: 0.7620 2026-01-07 08:30:51 info: Sorted features: 2026-01-07 08:30:51 info: 1. irradiance: 0.845 2026-01-07 08:30:51 info: 2. hour: 0.040 2026-01-07 08:30:51 info: 3. week_nr: 0.031 2026-01-07 08:30:51 info: 4. month: 0.030 2026-01-07 08:30:51 info: 5. quarter: 0.022 2026-01-07 08:30:51 info: 6. season: 0.016 2026-01-07 08:30:51 info: 7. day_of_week: 0.009 2026-01-07 08:30:51 info: 8. temperature: 0.007 2026-01-07 08:30:52 info: Starting solar prediction model for schuurplatnoord training... 2026-01-07 08:30:52 info: Loading and processing data... 2026-01-07 08:30:53 info: Merging weather and solar data... 2026-01-07 08:30:53 info: Merged dataset: 14817 records 2026-01-07 08:30:53 info: Date range: 2024-04-28 15:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:53 info: Detecting outliers... 2026-01-07 08:30:53 info: Outliers removed: 344 (2.3%) 2026-01-07 08:30:53 info: Clean dataset: 14473 records 2026-01-07 08:30:53 info: Training samples: 11578 2026-01-07 08:30:53 info: Testing samples: 2895 2026-01-07 08:30:53 info: Tune hyperparameters: True 2026-01-07 08:30:53 info: Tuning hyperparameters... 2026-01-07 08:30:53 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:31:00 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:00 info: Training final model... 2026-01-07 08:31:00 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:00 info: Model training van schuurplatnoord complete 2026-01-07 08:31:00 info: Model saved to: ../data/prediction/models/schuurplatnoord.pkl 2026-01-07 08:31:00 info: Training MAE: 0.0187 kWh 2026-01-07 08:31:00 info: Testing MAE: 0.0137 kWh 2026-01-07 08:31:00 info: Training R²: 0.9491 2026-01-07 08:31:00 info: Testing R²: 0.5098 2026-01-07 08:31:00 info: Sorted features: 2026-01-07 08:31:00 info: 1. irradiance: 0.822 2026-01-07 08:31:00 info: 2. quarter: 0.058 2026-01-07 08:31:00 info: 3. week_nr: 0.047 2026-01-07 08:31:00 info: 4. temperature: 0.024 2026-01-07 08:31:00 info: 5. hour: 0.017 2026-01-07 08:31:00 info: 6. month: 0.016 2026-01-07 08:31:00 info: 7. season: 0.012 2026-01-07 08:31:00 info: 8. day_of_week: 0.005 2026-01-07 08:31:00 info: Starting solar prediction model for erker training... 2026-01-07 08:31:00 info: Loading and processing data... 2026-01-07 08:31:01 info: Merging weather and solar data... 2026-01-07 08:31:01 info: Merged dataset: 14984 records 2026-01-07 08:31:01 info: Date range: 2024-04-21 16:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:31:01 info: Detecting outliers... 2026-01-07 08:31:02 info: Outliers removed: 267 (1.8%) 2026-01-07 08:31:02 info: Clean dataset: 14717 records 2026-01-07 08:31:02 info: Training samples: 11773 2026-01-07 08:31:02 info: Testing samples: 2944 2026-01-07 08:31:02 info: Tune hyperparameters: True 2026-01-07 08:31:02 info: Tuning hyperparameters... 2026-01-07 08:31:02 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:31:08 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:08 info: Training final model... 2026-01-07 08:31:08 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:08 info: Model training van erker complete 2026-01-07 08:31:08 info: Model saved to: ../data/prediction/models/erker.pkl 2026-01-07 08:31:08 info: Training MAE: 0.0096 kWh 2026-01-07 08:31:08 info: Testing MAE: 0.0065 kWh 2026-01-07 08:31:08 info: Training R²: 0.9069 2026-01-07 08:31:08 info: Testing R²: 0.6481 2026-01-07 08:31:08 info: Sorted features: 2026-01-07 08:31:08 info: 1. irradiance: 0.519 2026-01-07 08:31:08 info: 2. hour: 0.387 2026-01-07 08:31:08 info: 3. month: 0.027 2026-01-07 08:31:08 info: 4. day_of_week: 0.019 2026-01-07 08:31:08 info: 5. temperature: 0.018 2026-01-07 08:31:08 info: 6. week_nr: 0.017 2026-01-07 08:31:08 info: 7. season: 0.008 2026-01-07 08:31:08 info: 8. quarter: 0.006 2026-01-07 08:31:08 info: Starting solar prediction model for aanbouw training... 2026-01-07 08:31:08 info: Loading and processing data... 2026-01-07 08:31:09 info: Merging weather and solar data... 2026-01-07 08:31:09 info: Merged dataset: 15139 records 2026-01-07 08:31:09 info: Date range: 2024-04-15 05:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:31:09 info: Detecting outliers... 2026-01-07 08:31:10 info: Outliers removed: 276 (1.8%) 2026-01-07 08:31:10 info: Clean dataset: 14863 records 2026-01-07 08:31:10 info: Training samples: 11890 2026-01-07 08:31:10 info: Testing samples: 2973 2026-01-07 08:31:10 info: Tune hyperparameters: True 2026-01-07 08:31:10 info: Tuning hyperparameters... 2026-01-07 08:31:10 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:31:16 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:31:16 info: Training final model... 2026-01-07 08:31:16 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:31:16 info: Model training van aanbouw complete 2026-01-07 08:31:16 info: Model saved to: ../data/prediction/models/aanbouw.pkl 2026-01-07 08:31:16 info: Training MAE: 0.0191 kWh 2026-01-07 08:31:16 info: Testing MAE: 0.0129 kWh 2026-01-07 08:31:16 info: Training R²: 0.9256 2026-01-07 08:31:16 info: Testing R²: 0.6801 2026-01-07 08:31:16 info: Sorted features: 2026-01-07 08:31:16 info: 1. irradiance: 0.559 2026-01-07 08:31:16 info: 2. hour: 0.382 2026-01-07 08:31:16 info: 3. week_nr: 0.020 2026-01-07 08:31:16 info: 4. temperature: 0.015 2026-01-07 08:31:16 info: 5. month: 0.011 2026-01-07 08:31:16 info: 6. day_of_week: 0.006 2026-01-07 08:31:16 info: 7. quarter: 0.005 2026-01-07 08:31:16 info: 8. season: 0.001
Dat is altijd. Het programma verdeelt alle beschikbare data tussen twee sets; een training set en een testing set.DaBit schreef op woensdag 7 januari 2026 @ 09:08:
Bedoel je dan een training R² of testing R² >0.9?
Bij mij is de training R² structureel hoger dan 0.9, maar de testing R² niet.
Hij traint het model met de training set, dus die fit het beste. Daarna gaat hij kijken hoe de fitting is met de testing-set. Dat is eigenlijk een goede controle. Als die testing-set ook goed scoort heb je een goed model te pakken.
Overigens: ml-modellen zijn niet de heilige graal, maar kunnen beter zijn dan de dao-voorspelling, maar dat hoeft niet altijd. Bij mij werken ze beter omdat mijn panelen 's morgens tot 10 uur last hebben van beschaduwing door de bosrand. Die vist het ml-model er naadloos uit.
Ik kan kijken of ik in de training-routine voor de testing-set ook de DAO-voorspelling kan reproduceren en daar ook een R² voorspelling van kan berekenen en presenteren. Dan kunnen we de methoden nog beter vergelijken.
Tenslotte: de voorspellingen van dao en de ml-voorspeller voor vandaag en morgen worden gedaan met de voorspelling van de globale straling. Ook die kan flink afwijken van de werkelijk gemeten globale stralingen dat levert dan ook extra "ruis" op.
Ik wil die "Internal server error" wel oplossen, maar dan heb ik de logging daarvan nodig in de HA-logging van de addon direct na het optreden van deze fout. Die heb ik nog niet. Wil je me die sturen of het laatste stuk daarvan hier posten?'schuurplatnoord' is een extreme: training R² van 0.95, testing R² van amper 0.51. En die voorspelt inderdaad niet geweldig rond deze tijd. Of-ie dat in de zomermaanden wel doet kan ik niet zien; als ik terug probeer te kijken dan krijg ik voor alle datums voor 2025-09-15 een 'Internal Server Error' als ik kijk bij solar -> <kies een array> -> <grafiek of tabel maakt niet uit> -> met pijltje bladeren of datum kiezen voor 2025-09-14
(@KC27: dat probleem is niet nieuw, dus aan de data die ik je stuurde zou je voldoende moeten hebben. Maar als je een verse dataset wil, geef maar een gil)
[...]
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22[2026-01-07 12:33:15,245] fout in app: Exception on / [POST] Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app response = self.full_dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request rv = self.handle_user_exception(e) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/root/dao/webserver/app/routes.py", line 316, in menu return solar() File "/root/dao/webserver/app/routes.py", line 635, in solar report_df = report.calc_solar_data( solar_items[active_subject], active_date, active_view ) File "/root/dao/prog/da_report.py", line 3014, in calc_solar_data device, row.tijd.timestamp(), row.prognose_straling, 1 ~~~~~~~~~~~~~~~~~~^^ File "pandas/_libs/tslibs/nattype.pyx", line 54, in pandas._libs.tslibs.nattype._make_error_func.f ValueError: NaTType does not support timestamp
Kun je me exact vertellen wat je hebben wil?KC27 schreef op woensdag 7 januari 2026 @ 12:01:
Ik wil die "Internal server error" wel oplossen, maar dan heb ik de logging daarvan nodig in de HA-logging van de addon direct na het optreden van deze fout. Die heb ik nog niet. Wil je me die sturen of het laatste stuk daarvan hier posten?
Als ik bij Settings -> System -> Logs en dan rechts bovenin '刀 Day Ahead Optimizer (TESTING)' kies ipv HomeAssistant Core dan is dit het resultaat:
Daar staat echter niks in gerelateerd aan die internal server errorcode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 6002026-01-07 08:30:02 info: KNMI-weerstation: 375 VOLKEL 2026-01-07 08:30:02 info: Er zijn knmi-data aanwezig vanaf 2023-01-04 01:00:00 tot 2026-01-06 00:00:00 2026-01-07 08:30:02 info: Er zijn data van het KNMI binnengekomen vanaf 2026-01-05 00:00:00+01:00 tot en met 2026-01-05 23:00:00+01:00 2026-01-07 08:30:07 info: Starting solar prediction model for Growatt training... 2026-01-07 08:30:07 info: Loading and processing data... 2026-01-07 08:30:08 info: Merging weather and solar data... 2026-01-07 08:30:08 info: Merged dataset: 26281 records 2026-01-07 08:30:08 info: Date range: 2023-01-06 23:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:08 info: Detecting outliers... 2026-01-07 08:30:09 info: Outliers removed: 1020 (3.9%) 2026-01-07 08:30:09 info: Clean dataset: 25261 records 2026-01-07 08:30:09 info: Training samples: 20208 2026-01-07 08:30:09 info: Testing samples: 5053 2026-01-07 08:30:09 info: Tune hyperparameters: True 2026-01-07 08:30:09 info: Tuning hyperparameters... 2026-01-07 08:30:09 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:24 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 3, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:24 info: Training final model... 2026-01-07 08:30:24 info: Parameters: {'learning_rate': 0.05, 'max_depth': 3, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:24 info: Model training van Growatt complete 2026-01-07 08:30:24 info: Model saved to: ../data/prediction/models/Growatt.pkl 2026-01-07 08:30:24 info: Training MAE: 0.1173 kWh 2026-01-07 08:30:24 info: Testing MAE: 0.1271 kWh 2026-01-07 08:30:24 info: Training R²: 0.9579 2026-01-07 08:30:24 info: Testing R²: 0.9508 2026-01-07 08:30:24 info: Sorted features: 2026-01-07 08:30:24 info: 1. irradiance: 0.951 2026-01-07 08:30:24 info: 2. week_nr: 0.011 2026-01-07 08:30:24 info: 3. season: 0.010 2026-01-07 08:30:24 info: 4. quarter: 0.009 2026-01-07 08:30:24 info: 5. hour: 0.007 2026-01-07 08:30:24 info: 6. temperature: 0.004 2026-01-07 08:30:24 info: 7. month: 0.004 2026-01-07 08:30:24 info: 8. day_of_week: 0.004 2026-01-07 08:30:25 info: Starting solar prediction model for schuurzuid training... 2026-01-07 08:30:25 info: Loading and processing data... 2026-01-07 08:30:26 info: Merging weather and solar data... 2026-01-07 08:30:26 info: Merged dataset: 18520 records 2026-01-07 08:30:26 info: Date range: 2023-11-26 08:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:26 info: Detecting outliers... 2026-01-07 08:30:27 info: Outliers removed: 433 (2.3%) 2026-01-07 08:30:27 info: Clean dataset: 18087 records 2026-01-07 08:30:27 info: Training samples: 14469 2026-01-07 08:30:27 info: Testing samples: 3618 2026-01-07 08:30:27 info: Tune hyperparameters: True 2026-01-07 08:30:27 info: Tuning hyperparameters... 2026-01-07 08:30:27 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:33 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:30:33 info: Training final model... 2026-01-07 08:30:33 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:30:33 info: Model training van schuurzuid complete 2026-01-07 08:30:33 info: Model saved to: ../data/prediction/models/schuurzuid.pkl 2026-01-07 08:30:33 info: Training MAE: 0.0194 kWh 2026-01-07 08:30:33 info: Testing MAE: 0.0212 kWh 2026-01-07 08:30:33 info: Training R²: 0.9359 2026-01-07 08:30:33 info: Testing R²: 0.7806 2026-01-07 08:30:33 info: Sorted features: 2026-01-07 08:30:33 info: 1. irradiance: 0.829 2026-01-07 08:30:33 info: 2. hour: 0.039 2026-01-07 08:30:33 info: 3. quarter: 0.031 2026-01-07 08:30:33 info: 4. week_nr: 0.031 2026-01-07 08:30:33 info: 5. season: 0.029 2026-01-07 08:30:33 info: 6. month: 0.025 2026-01-07 08:30:33 info: 7. temperature: 0.010 2026-01-07 08:30:33 info: 8. day_of_week: 0.007 2026-01-07 08:30:34 info: Starting solar prediction model for schuurmidden training... 2026-01-07 08:30:34 info: Loading and processing data... 2026-01-07 08:30:35 info: Merging weather and solar data... 2026-01-07 08:30:35 info: Merged dataset: 18520 records 2026-01-07 08:30:35 info: Date range: 2023-11-26 08:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:35 info: Detecting outliers... 2026-01-07 08:30:35 info: Outliers removed: 405 (2.2%) 2026-01-07 08:30:35 info: Clean dataset: 18115 records 2026-01-07 08:30:35 info: Training samples: 14492 2026-01-07 08:30:35 info: Testing samples: 3623 2026-01-07 08:30:35 info: Tune hyperparameters: True 2026-01-07 08:30:35 info: Tuning hyperparameters... 2026-01-07 08:30:35 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:42 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 200, 'subsample': 0.8} 2026-01-07 08:30:42 info: Training final model... 2026-01-07 08:30:42 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 200, 'subsample': 0.8} 2026-01-07 08:30:42 info: Model training van schuurmidden complete 2026-01-07 08:30:42 info: Model saved to: ../data/prediction/models/schuurmidden.pkl 2026-01-07 08:30:42 info: Training MAE: 0.0184 kWh 2026-01-07 08:30:42 info: Testing MAE: 0.0223 kWh 2026-01-07 08:30:42 info: Training R²: 0.9433 2026-01-07 08:30:42 info: Testing R²: 0.7307 2026-01-07 08:30:42 info: Sorted features: 2026-01-07 08:30:42 info: 1. irradiance: 0.827 2026-01-07 08:30:42 info: 2. hour: 0.050 2026-01-07 08:30:42 info: 3. quarter: 0.041 2026-01-07 08:30:42 info: 4. week_nr: 0.034 2026-01-07 08:30:42 info: 5. month: 0.026 2026-01-07 08:30:42 info: 6. temperature: 0.009 2026-01-07 08:30:42 info: 7. day_of_week: 0.009 2026-01-07 08:30:42 info: 8. season: 0.005 2026-01-07 08:30:42 info: Starting solar prediction model for schuurnoord training... 2026-01-07 08:30:42 info: Loading and processing data... 2026-01-07 08:30:43 info: Merging weather and solar data... 2026-01-07 08:30:43 info: Merged dataset: 18520 records 2026-01-07 08:30:43 info: Date range: 2023-11-26 08:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:43 info: Detecting outliers... 2026-01-07 08:30:44 info: Outliers removed: 393 (2.1%) 2026-01-07 08:30:44 info: Clean dataset: 18127 records 2026-01-07 08:30:44 info: Training samples: 14501 2026-01-07 08:30:44 info: Testing samples: 3626 2026-01-07 08:30:44 info: Tune hyperparameters: True 2026-01-07 08:30:44 info: Tuning hyperparameters... 2026-01-07 08:30:44 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:30:51 info: Best parameters: {'learning_rate': 0.1, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:51 info: Training final model... 2026-01-07 08:30:51 info: Parameters: {'learning_rate': 0.1, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:30:51 info: Model training van schuurnoord complete 2026-01-07 08:30:51 info: Model saved to: ../data/prediction/models/schuurnoord.pkl 2026-01-07 08:30:51 info: Training MAE: 0.0177 kWh 2026-01-07 08:30:51 info: Testing MAE: 0.0216 kWh 2026-01-07 08:30:51 info: Training R²: 0.9479 2026-01-07 08:30:51 info: Testing R²: 0.7620 2026-01-07 08:30:51 info: Sorted features: 2026-01-07 08:30:51 info: 1. irradiance: 0.845 2026-01-07 08:30:51 info: 2. hour: 0.040 2026-01-07 08:30:51 info: 3. week_nr: 0.031 2026-01-07 08:30:51 info: 4. month: 0.030 2026-01-07 08:30:51 info: 5. quarter: 0.022 2026-01-07 08:30:51 info: 6. season: 0.016 2026-01-07 08:30:51 info: 7. day_of_week: 0.009 2026-01-07 08:30:51 info: 8. temperature: 0.007 2026-01-07 08:30:52 info: Starting solar prediction model for schuurplatnoord training... 2026-01-07 08:30:52 info: Loading and processing data... 2026-01-07 08:30:53 info: Merging weather and solar data... 2026-01-07 08:30:53 info: Merged dataset: 14817 records 2026-01-07 08:30:53 info: Date range: 2024-04-28 15:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:30:53 info: Detecting outliers... 2026-01-07 08:30:53 info: Outliers removed: 344 (2.3%) 2026-01-07 08:30:53 info: Clean dataset: 14473 records 2026-01-07 08:30:53 info: Training samples: 11578 2026-01-07 08:30:53 info: Testing samples: 2895 2026-01-07 08:30:53 info: Tune hyperparameters: True 2026-01-07 08:30:53 info: Tuning hyperparameters... 2026-01-07 08:30:53 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:31:00 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:00 info: Training final model... 2026-01-07 08:31:00 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:00 info: Model training van schuurplatnoord complete 2026-01-07 08:31:00 info: Model saved to: ../data/prediction/models/schuurplatnoord.pkl 2026-01-07 08:31:00 info: Training MAE: 0.0187 kWh 2026-01-07 08:31:00 info: Testing MAE: 0.0137 kWh 2026-01-07 08:31:00 info: Training R²: 0.9491 2026-01-07 08:31:00 info: Testing R²: 0.5098 2026-01-07 08:31:00 info: Sorted features: 2026-01-07 08:31:00 info: 1. irradiance: 0.822 2026-01-07 08:31:00 info: 2. quarter: 0.058 2026-01-07 08:31:00 info: 3. week_nr: 0.047 2026-01-07 08:31:00 info: 4. temperature: 0.024 2026-01-07 08:31:00 info: 5. hour: 0.017 2026-01-07 08:31:00 info: 6. month: 0.016 2026-01-07 08:31:00 info: 7. season: 0.012 2026-01-07 08:31:00 info: 8. day_of_week: 0.005 2026-01-07 08:31:00 info: Starting solar prediction model for erker training... 2026-01-07 08:31:00 info: Loading and processing data... 2026-01-07 08:31:01 info: Merging weather and solar data... 2026-01-07 08:31:01 info: Merged dataset: 14984 records 2026-01-07 08:31:01 info: Date range: 2024-04-21 16:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:31:01 info: Detecting outliers... 2026-01-07 08:31:02 info: Outliers removed: 267 (1.8%) 2026-01-07 08:31:02 info: Clean dataset: 14717 records 2026-01-07 08:31:02 info: Training samples: 11773 2026-01-07 08:31:02 info: Testing samples: 2944 2026-01-07 08:31:02 info: Tune hyperparameters: True 2026-01-07 08:31:02 info: Tuning hyperparameters... 2026-01-07 08:31:02 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:31:08 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:08 info: Training final model... 2026-01-07 08:31:08 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8} 2026-01-07 08:31:08 info: Model training van erker complete 2026-01-07 08:31:08 info: Model saved to: ../data/prediction/models/erker.pkl 2026-01-07 08:31:08 info: Training MAE: 0.0096 kWh 2026-01-07 08:31:08 info: Testing MAE: 0.0065 kWh 2026-01-07 08:31:08 info: Training R²: 0.9069 2026-01-07 08:31:08 info: Testing R²: 0.6481 2026-01-07 08:31:08 info: Sorted features: 2026-01-07 08:31:08 info: 1. irradiance: 0.519 2026-01-07 08:31:08 info: 2. hour: 0.387 2026-01-07 08:31:08 info: 3. month: 0.027 2026-01-07 08:31:08 info: 4. day_of_week: 0.019 2026-01-07 08:31:08 info: 5. temperature: 0.018 2026-01-07 08:31:08 info: 6. week_nr: 0.017 2026-01-07 08:31:08 info: 7. season: 0.008 2026-01-07 08:31:08 info: 8. quarter: 0.006 2026-01-07 08:31:08 info: Starting solar prediction model for aanbouw training... 2026-01-07 08:31:08 info: Loading and processing data... 2026-01-07 08:31:09 info: Merging weather and solar data... 2026-01-07 08:31:09 info: Merged dataset: 15139 records 2026-01-07 08:31:09 info: Date range: 2024-04-15 05:00:00+00:00 to 2026-01-05 23:00:00+00:00 2026-01-07 08:31:09 info: Detecting outliers... 2026-01-07 08:31:10 info: Outliers removed: 276 (1.8%) 2026-01-07 08:31:10 info: Clean dataset: 14863 records 2026-01-07 08:31:10 info: Training samples: 11890 2026-01-07 08:31:10 info: Testing samples: 2973 2026-01-07 08:31:10 info: Tune hyperparameters: True 2026-01-07 08:31:10 info: Tuning hyperparameters... 2026-01-07 08:31:10 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-07 08:31:16 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:31:16 info: Training final model... 2026-01-07 08:31:16 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-07 08:31:16 info: Model training van aanbouw complete 2026-01-07 08:31:16 info: Model saved to: ../data/prediction/models/aanbouw.pkl 2026-01-07 08:31:16 info: Training MAE: 0.0191 kWh 2026-01-07 08:31:16 info: Testing MAE: 0.0129 kWh 2026-01-07 08:31:16 info: Training R²: 0.9256 2026-01-07 08:31:16 info: Testing R²: 0.6801 2026-01-07 08:31:16 info: Sorted features: 2026-01-07 08:31:16 info: 1. irradiance: 0.559 2026-01-07 08:31:16 info: 2. hour: 0.382 2026-01-07 08:31:16 info: 3. week_nr: 0.020 2026-01-07 08:31:16 info: 4. temperature: 0.015 2026-01-07 08:31:16 info: 5. month: 0.011 2026-01-07 08:31:16 info: 6. day_of_week: 0.006 2026-01-07 08:31:16 info: 7. quarter: 0.005 2026-01-07 08:31:16 info: 8. season: 0.001 2026-01-07 08:55:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 08:55:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 08:55:00 2026-01-07 08:55:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 08:55:00 taak: get_day_ahead_prices 2026-01-07 08:55:00 info: Day ahead data already present 2026-01-07 09:30:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 09:30:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 09:30:00 2026-01-07 09:30:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 09:30:00 taak: calc_baseloads 2026-01-07 09:30:16 info: baseload voor weekdag 0 : 2026-01-07 09:30:16 info: 2.236 0.967 0.639 0.843 0.719 0.515 0.425 0.621 0.727 0.792 0.732 0.603 0.702 0.692 0.546 0.539 0.619 0.995 1.143 0.586 0.545 0.586 0.507 0.412 2026-01-07 09:30:30 info: baseload voor weekdag 1 : 2026-01-07 09:30:30 info: 2.32 0.585 0.874 0.775 0.73 0.531 0.541 0.93 1.38 1.238 0.954 1.488 1.42 1.452 1.023 0.992 0.966 0.914 0.776 0.792 0.552 0.6 0.513 0.61 2026-01-07 09:30:44 info: baseload voor weekdag 2 : 2026-01-07 09:30:44 info: 2.088 0.569 0.515 0.736 0.64 0.462 0.446 0.613 0.843 0.771 0.592 0.758 0.91 0.9 0.668 0.59 0.605 0.913 1.089 0.778 0.568 0.683 0.664 0.522 2026-01-07 09:30:58 info: baseload voor weekdag 3 : 2026-01-07 09:30:58 info: 2.14 0.58 0.667 0.76 0.91 0.538 0.61 0.721 0.82 0.563 0.783 0.639 0.591 0.696 0.671 0.548 1.3 0.637 0.595 0.758 0.577 0.536 0.523 0.576 2026-01-07 09:31:12 info: baseload voor weekdag 4 : 2026-01-07 09:31:12 info: 2.284 0.864 0.75 0.933 0.778 0.489 0.502 0.883 1.413 1.3 1.296 1.56 1.647 1.14 0.897 1.013 1.077 1.165 1.413 0.645 0.582 0.533 0.52 0.583 2026-01-07 09:31:26 info: baseload voor weekdag 5 : 2026-01-07 09:31:26 info: 2.236 0.649 0.443 0.54 0.511 0.565 0.68 0.771 0.88 1.275 1.13 1.197 1.158 1.168 1.002 0.952 0.771 1.037 1.454 0.735 0.611 0.706 0.737 0.719 2026-01-07 09:31:41 info: baseload voor weekdag 6 : 2026-01-07 09:31:41 info: 2.336 0.49 0.498 0.567 0.551 0.391 0.531 0.736 1.052 0.92 1.074 0.992 1.293 1.476 1.324 0.976 1.04 1.349 1.267 0.642 0.607 0.654 0.487 0.655 2026-01-07 09:55:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 09:55:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 09:55:00 2026-01-07 09:55:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 09:55:00 taak: get_day_ahead_prices 2026-01-07 09:55:00 info: Day ahead data already present 2026-01-07 10:33:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 10:33:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 10:33:00 2026-01-07 10:33:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 10:33:00 taak: get_meteo_data 2026-01-07 10:33:00 info: Meteodata model harmonie 2026-01-07 10:33:00 info: Aantal uitgevoerde ophaalpogingen: 1 van maximaal: 2 2026-01-07 10:33:00 info: Aantal records: 39 2026-01-07 10:33:00 info: Data harmonie: tijd tijd_nl gr temp winds neersl 0 1767780000 07-01-2026 11:00 7 -1 8 0.5 1 1767783600 07-01-2026 12:00 7 -1 7 0.2 2 1767787200 07-01-2026 13:00 10 -1 7 0.5 3 1767790800 07-01-2026 14:00 11 -1 7 0 4 1767794400 07-01-2026 15:00 6 -1 6 0.3 5 1767798000 07-01-2026 16:00 2 -1 6 0.3 6 1767801600 07-01-2026 17:00 0 -1 6 0.6 7 1767805200 07-01-2026 18:00 0 -1 7 0.3 8 1767808800 07-01-2026 19:00 0 -1 6 0 9 1767812400 07-01-2026 20:00 0 -0 6 0.2 10 1767816000 07-01-2026 21:00 0 0 6 0.1 11 1767819600 07-01-2026 22:00 0 1 5 0.2 12 1767823200 07-01-2026 23:00 0 1 5 0.1 13 1767826800 08-01-2026 00:00 0 1 4 0.1 14 1767830400 08-01-2026 01:00 0 1 4 0.2 15 1767834000 08-01-2026 02:00 0 1 4 0 16 1767837600 08-01-2026 03:00 0 1 4 0.1 17 1767841200 08-01-2026 04:00 0 1 4 0.1 18 1767844800 08-01-2026 05:00 0 1 4 0.2 19 1767848400 08-01-2026 06:00 0 1 5 0 20 1767852000 08-01-2026 07:00 0 1 4 0 21 1767855600 08-01-2026 08:00 0 1 4 0 22 1767859200 08-01-2026 09:00 4 1 5 0.2 23 1767862800 08-01-2026 10:00 23 1 5 0 24 1767866400 08-01-2026 11:00 48 2 5 0 25 1767870000 08-01-2026 12:00 48 2 4 0 26 1767873600 08-01-2026 13:00 55 2 3 0 27 1767877200 08-01-2026 14:00 44 2 3 0 28 1767880800 08-01-2026 15:00 21 2 3 0 29 1767884400 08-01-2026 16:00 2 2 3 0 30 1767888000 08-01-2026 17:00 0 2 3 0 31 1767891600 08-01-2026 18:00 0 2 5 0.2 32 1767895200 08-01-2026 19:00 0 2 5 0.5 33 1767898800 08-01-2026 20:00 0 2 5 0.9 34 1767902400 08-01-2026 21:00 0 2 6 1.4 35 1767906000 08-01-2026 22:00 0 2 6 1.2 36 1767909600 08-01-2026 23:00 0 2 7 1.3 37 1767913200 09-01-2026 00:00 0 2 7 1.7 38 1767916800 09-01-2026 01:00 0 2 7 3.2 2026-01-07 10:55:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 10:55:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 10:55:00 2026-01-07 10:55:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 10:55:00 taak: get_day_ahead_prices 2026-01-07 10:55:00 info: Day ahead data already present 2026-01-07 11:55:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 11:55:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 11:55:00 2026-01-07 11:55:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 11:55:00 taak: get_day_ahead_prices 2026-01-07 11:55:00 info: Day ahead data already present 2026-01-07 12:55:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 12:55:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 12:55:00 2026-01-07 12:55:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 12:55:00 taak: get_day_ahead_prices 2026-01-07 12:55:00 fout: Geen data van Nordpool: tussen 2026-01-07 00:00:00+01:00 en 2026-01-09 00:00:00+01:00 2026-01-07 13:55:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 13:55:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 13:55:00 2026-01-07 13:55:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 13:55:00 taak: get_day_ahead_prices 2026-01-07 13:55:00 info: Day ahead prijzen van Nordpool: [ { 'end': datetime.datetime(2026, 1, 7, 23, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 7, 23, 0, tzinfo=tzutc()), 'value': 86.16}, { 'end': datetime.datetime(2026, 1, 7, 23, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 7, 23, 15, tzinfo=tzutc()), 'value': 85.01}, { 'end': datetime.datetime(2026, 1, 7, 23, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 7, 23, 30, tzinfo=tzutc()), 'value': 82.05}, { 'end': datetime.datetime(2026, 1, 8, 0, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 7, 23, 45, tzinfo=tzutc()), 'value': 80.8}, { 'end': datetime.datetime(2026, 1, 8, 0, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 0, 0, tzinfo=tzutc()), 'value': 83.89}, { 'end': datetime.datetime(2026, 1, 8, 0, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 0, 15, tzinfo=tzutc()), 'value': 81.37}, { 'end': datetime.datetime(2026, 1, 8, 0, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 0, 30, tzinfo=tzutc()), 'value': 82.8}, { 'end': datetime.datetime(2026, 1, 8, 1, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 0, 45, tzinfo=tzutc()), 'value': 81.46}, { 'end': datetime.datetime(2026, 1, 8, 1, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 1, 0, tzinfo=tzutc()), 'value': 84.7}, { 'end': datetime.datetime(2026, 1, 8, 1, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 1, 15, tzinfo=tzutc()), 'value': 84.94}, { 'end': datetime.datetime(2026, 1, 8, 1, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 1, 30, tzinfo=tzutc()), 'value': 83.59}, { 'end': datetime.datetime(2026, 1, 8, 2, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 1, 45, tzinfo=tzutc()), 'value': 84.86}, { 'end': datetime.datetime(2026, 1, 8, 2, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 2, 0, tzinfo=tzutc()), 'value': 82.64}, { 'end': datetime.datetime(2026, 1, 8, 2, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 2, 15, tzinfo=tzutc()), 'value': 83.01}, { 'end': datetime.datetime(2026, 1, 8, 2, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 2, 30, tzinfo=tzutc()), 'value': 81.76}, { 'end': datetime.datetime(2026, 1, 8, 3, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 2, 45, tzinfo=tzutc()), 'value': 82.48}, { 'end': datetime.datetime(2026, 1, 8, 3, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 3, 0, tzinfo=tzutc()), 'value': 81.04}, { 'end': datetime.datetime(2026, 1, 8, 3, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 3, 15, tzinfo=tzutc()), 'value': 85.0}, { 'end': datetime.datetime(2026, 1, 8, 3, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 3, 30, tzinfo=tzutc()), 'value': 87.3}, { 'end': datetime.datetime(2026, 1, 8, 4, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 3, 45, tzinfo=tzutc()), 'value': 86.89}, { 'end': datetime.datetime(2026, 1, 8, 4, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 4, 0, tzinfo=tzutc()), 'value': 85.26}, { 'end': datetime.datetime(2026, 1, 8, 4, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 4, 15, tzinfo=tzutc()), 'value': 86.43}, { 'end': datetime.datetime(2026, 1, 8, 4, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 4, 30, tzinfo=tzutc()), 'value': 87.83}, { 'end': datetime.datetime(2026, 1, 8, 5, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 4, 45, tzinfo=tzutc()), 'value': 89.11}, { 'end': datetime.datetime(2026, 1, 8, 5, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 5, 0, tzinfo=tzutc()), 'value': 85.37}, { 'end': datetime.datetime(2026, 1, 8, 5, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 5, 15, tzinfo=tzutc()), 'value': 87.08}, { 'end': datetime.datetime(2026, 1, 8, 5, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 5, 30, tzinfo=tzutc()), 'value': 102.8}, { 'end': datetime.datetime(2026, 1, 8, 6, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 5, 45, tzinfo=tzutc()), 'value': 111.51}, { 'end': datetime.datetime(2026, 1, 8, 6, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 6, 0, tzinfo=tzutc()), 'value': 102.36}, { 'end': datetime.datetime(2026, 1, 8, 6, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 6, 15, tzinfo=tzutc()), 'value': 107.79}, { 'end': datetime.datetime(2026, 1, 8, 6, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 6, 30, tzinfo=tzutc()), 'value': 129.48}, { 'end': datetime.datetime(2026, 1, 8, 7, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 6, 45, tzinfo=tzutc()), 'value': 159.13}, { 'end': datetime.datetime(2026, 1, 8, 7, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 7, 0, tzinfo=tzutc()), 'value': 167.59}, { 'end': datetime.datetime(2026, 1, 8, 7, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 7, 15, tzinfo=tzutc()), 'value': 165.48}, { 'end': datetime.datetime(2026, 1, 8, 7, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 7, 30, tzinfo=tzutc()), 'value': 167.27}, { 'end': datetime.datetime(2026, 1, 8, 8, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 7, 45, tzinfo=tzutc()), 'value': 170.92}, { 'end': datetime.datetime(2026, 1, 8, 8, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 8, 0, tzinfo=tzutc()), 'value': 180.19}, { 'end': datetime.datetime(2026, 1, 8, 8, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 8, 15, tzinfo=tzutc()), 'value': 192.77}, { 'end': datetime.datetime(2026, 1, 8, 8, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 8, 30, tzinfo=tzutc()), 'value': 211.21}, { 'end': datetime.datetime(2026, 1, 8, 9, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 8, 45, tzinfo=tzutc()), 'value': 183.44}, { 'end': datetime.datetime(2026, 1, 8, 9, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 9, 0, tzinfo=tzutc()), 'value': 204.01}, { 'end': datetime.datetime(2026, 1, 8, 9, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 9, 15, tzinfo=tzutc()), 'value': 219.64}, { 'end': datetime.datetime(2026, 1, 8, 9, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 9, 30, tzinfo=tzutc()), 'value': 200.28}, { 'end': datetime.datetime(2026, 1, 8, 10, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 9, 45, tzinfo=tzutc()), 'value': 198.67}, { 'end': datetime.datetime(2026, 1, 8, 10, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 10, 0, tzinfo=tzutc()), 'value': 218.4}, { 'end': datetime.datetime(2026, 1, 8, 10, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 10, 15, tzinfo=tzutc()), 'value': 200.2}, { 'end': datetime.datetime(2026, 1, 8, 10, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 10, 30, tzinfo=tzutc()), 'value': 207.29}, { 'end': datetime.datetime(2026, 1, 8, 11, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 10, 45, tzinfo=tzutc()), 'value': 205.31}, { 'end': datetime.datetime(2026, 1, 8, 11, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 11, 0, tzinfo=tzutc()), 'value': 210.14}, { 'end': datetime.datetime(2026, 1, 8, 11, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 11, 15, tzinfo=tzutc()), 'value': 210.29}, { 'end': datetime.datetime(2026, 1, 8, 11, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 11, 30, tzinfo=tzutc()), 'value': 211.31}, { 'end': datetime.datetime(2026, 1, 8, 12, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 11, 45, tzinfo=tzutc()), 'value': 226.0}, { 'end': datetime.datetime(2026, 1, 8, 12, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 12, 0, tzinfo=tzutc()), 'value': 208.2}, { 'end': datetime.datetime(2026, 1, 8, 12, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 12, 15, tzinfo=tzutc()), 'value': 226.07}, { 'end': datetime.datetime(2026, 1, 8, 12, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 12, 30, tzinfo=tzutc()), 'value': 231.13}, { 'end': datetime.datetime(2026, 1, 8, 13, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 12, 45, tzinfo=tzutc()), 'value': 234.6}, { 'end': datetime.datetime(2026, 1, 8, 13, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 13, 0, tzinfo=tzutc()), 'value': 217.17}, { 'end': datetime.datetime(2026, 1, 8, 13, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 13, 15, tzinfo=tzutc()), 'value': 248.35}, { 'end': datetime.datetime(2026, 1, 8, 13, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 13, 30, tzinfo=tzutc()), 'value': 273.13}, { 'end': datetime.datetime(2026, 1, 8, 14, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 13, 45, tzinfo=tzutc()), 'value': 257.38}, { 'end': datetime.datetime(2026, 1, 8, 14, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 14, 0, tzinfo=tzutc()), 'value': 237.03}, { 'end': datetime.datetime(2026, 1, 8, 14, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 14, 15, tzinfo=tzutc()), 'value': 252.28}, { 'end': datetime.datetime(2026, 1, 8, 14, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 14, 30, tzinfo=tzutc()), 'value': 247.47}, { 'end': datetime.datetime(2026, 1, 8, 15, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 14, 45, tzinfo=tzutc()), 'value': 252.64}, { 'end': datetime.datetime(2026, 1, 8, 15, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 15, 0, tzinfo=tzutc()), 'value': 215.85}, { 'end': datetime.datetime(2026, 1, 8, 15, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 15, 15, tzinfo=tzutc()), 'value': 231.1}, { 'end': datetime.datetime(2026, 1, 8, 15, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 15, 30, tzinfo=tzutc()), 'value': 260.01}, { 'end': datetime.datetime(2026, 1, 8, 16, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 15, 45, tzinfo=tzutc()), 'value': 286.08}, { 'end': datetime.datetime(2026, 1, 8, 16, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 16, 0, tzinfo=tzutc()), 'value': 243.88}, { 'end': datetime.datetime(2026, 1, 8, 16, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 16, 15, tzinfo=tzutc()), 'value': 250.04}, { 'end': datetime.datetime(2026, 1, 8, 16, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 16, 30, tzinfo=tzutc()), 'value': 216.58}, { 'end': datetime.datetime(2026, 1, 8, 17, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 16, 45, tzinfo=tzutc()), 'value': 189.5}, { 'end': datetime.datetime(2026, 1, 8, 17, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 17, 0, tzinfo=tzutc()), 'value': 262.59}, { 'end': datetime.datetime(2026, 1, 8, 17, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 17, 15, tzinfo=tzutc()), 'value': 195.58}, { 'end': datetime.datetime(2026, 1, 8, 17, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 17, 30, tzinfo=tzutc()), 'value': 176.29}, { 'end': datetime.datetime(2026, 1, 8, 18, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 17, 45, tzinfo=tzutc()), 'value': 142.0}, { 'end': datetime.datetime(2026, 1, 8, 18, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 18, 0, tzinfo=tzutc()), 'value': 171.24}, { 'end': datetime.datetime(2026, 1, 8, 18, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 18, 15, tzinfo=tzutc()), 'value': 163.37}, { 'end': datetime.datetime(2026, 1, 8, 18, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 18, 30, tzinfo=tzutc()), 'value': 114.17}, { 'end': datetime.datetime(2026, 1, 8, 19, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 18, 45, tzinfo=tzutc()), 'value': 94.08}, { 'end': datetime.datetime(2026, 1, 8, 19, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 19, 0, tzinfo=tzutc()), 'value': 127.39}, { 'end': datetime.datetime(2026, 1, 8, 19, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 19, 15, tzinfo=tzutc()), 'value': 100.41}, { 'end': datetime.datetime(2026, 1, 8, 19, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 19, 30, tzinfo=tzutc()), 'value': 86.02}, { 'end': datetime.datetime(2026, 1, 8, 20, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 19, 45, tzinfo=tzutc()), 'value': 82.76}, { 'end': datetime.datetime(2026, 1, 8, 20, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 20, 0, tzinfo=tzutc()), 'value': 100.31}, { 'end': datetime.datetime(2026, 1, 8, 20, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 20, 15, tzinfo=tzutc()), 'value': 94.36}, { 'end': datetime.datetime(2026, 1, 8, 20, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 20, 30, tzinfo=tzutc()), 'value': 88.01}, { 'end': datetime.datetime(2026, 1, 8, 21, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 20, 45, tzinfo=tzutc()), 'value': 82.51}, { 'end': datetime.datetime(2026, 1, 8, 21, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 21, 0, tzinfo=tzutc()), 'value': 99.81}, { 'end': datetime.datetime(2026, 1, 8, 21, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 21, 15, tzinfo=tzutc()), 'value': 87.89}, { 'end': datetime.datetime(2026, 1, 8, 21, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 21, 30, tzinfo=tzutc()), 'value': 86.15}, { 'end': datetime.datetime(2026, 1, 8, 22, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 21, 45, tzinfo=tzutc()), 'value': 79.62}, { 'end': datetime.datetime(2026, 1, 8, 22, 15, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 22, 0, tzinfo=tzutc()), 'value': 91.51}, { 'end': datetime.datetime(2026, 1, 8, 22, 30, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 22, 15, tzinfo=tzutc()), 'value': 82.4}, { 'end': datetime.datetime(2026, 1, 8, 22, 45, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 22, 30, tzinfo=tzutc()), 'value': 70.6}, { 'end': datetime.datetime(2026, 1, 8, 23, 0, tzinfo=tzutc()), 'start': datetime.datetime(2026, 1, 8, 22, 45, tzinfo=tzutc()), 'value': 68.55}] 2026-01-07 14:55:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc3 2026-01-07 14:55:00 info: Day Ahead Optimalisering gestart op: 07-01-2026 14:55:00 2026-01-07 14:55:00 info: Day Ahead Optimalisatie gestart: 07-01-2026 14:55:00 taak: get_day_ahead_prices 2026-01-07 14:55:00 info: Day ahead data already present
(Training om 8.30 klopt; die had ik ingeschaald na de update. Eventuele logging van die internal server error zou na 14:55 nog gekomen moeten zijn want ik had 'm getriggerd door data van 2025-09-01 op te vragen).
Helpt het als ik je toegang geef tot mijn HA instantie? Soms is het wel prettig als je een keer over andermans schutting kunt kijken. Ik zou 'm ook kunnen klonen voor je en toegang geven tot de kloon; dan kun je in die sandbox prutsen en stukmaken wat je wil alleen dan heb je geen sensoren/actuatoren.
Waar het mij om gaat is het volgende;
Jij genereert die Internal Server Error door in het Solar menu een datum voor (uit mijn hoofd) 2025-09-14) te kiezen.
Daarna ga jij in HA naar Instellingen/ Addons en kiest de DAO testing addon.
Daar heb je een tab met logging.
Onderaan die logging heb je dan de tracking van de gegenereerde fout.
Die wil ik graag zien.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Dank voor het melden; ik ga ernaar kijken.balk schreef op woensdag 7 januari 2026 @ 12:35:
Ik krijg deze foutmelding wanneer ik naar de Solar tab ga (rc3)
[...]
Had je al wel de/het "model(len) getraind?
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Zo te zien is dat dezelfde log. Daar verschijnt eigenlijk helemaal niets...KC27 schreef op woensdag 7 januari 2026 @ 17:16:
Onderaan die logging heb je dan de tracking van de gegenereerde fout.
Die wil ik graag zien.
Ik heb er nog een keer deze bij gekregen tijdens het proberen, maar ik ben er niet helemaal zeker van of dat het directe gevolg is van een internal server error triggeren:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36debug:root:Connection status Pool size: 5 Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 215 in /root/dao/prog/da_base.py [2026-01-07 18:17:30,226] fout in app: Exception on / [POST] Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app response = self.full_dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request rv = self.handle_user_exception(e) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/root/dao/webserver/app/routes.py", line 301, in menu return solar() File "/root/dao/webserver/app/routes.py", line 635, in solar report_df = report.calc_solar_data( solar_items[active_subject], active_date, active_view ) File "/root/dao/prog/da_report.py", line 3014, in calc_solar_data device, row.tijd.timestamp(), row.prognose_straling, 1 ~~~~~~~~~~~~~~~~~~^^ File "pandas/_libs/tslibs/nattype.pyx", line 54, in pandas._libs.tslibs.nattype._make_error_func.f ValueError: NaTType does not support timestamp <html> <head><title>504 Gateway Time-out</title></head> <body> <center><h1>504 Gateway Time-out</h1></center> <hr><center>openresty</center> </body> </html> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page -->
[ Voor 12% gewijzigd door DaBit op 07-01-2026 18:21 ]
Dat is de goede logging, dank.DaBit schreef op woensdag 7 januari 2026 @ 18:20:
[...]
Zo te zien is dat dezelfde log. Daar verschijnt eigenlijk helemaal niets...
Ik heb er nog een keer deze bij gekregen tijdens het proberen, maar ik ben er niet helemaal zeker van of dat het directe gevolg is van een internal server error triggeren:
[...]
Ik denk dat die komt door het triggeren.
Exact dezelfde fout en op dezelfde plaats als bij @balk.
ik ga ermee aan de slag.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Het lijkt ±1382W uit te willen smeren over 1 uur i.p.v. de efficientere 2x00 te doen met een stop timer na x minuten (of automatisch leeg).
1
2
3
4
5
6
7
8
| 2026-01-08 16:00:00 info: Maximale fout (maximal gap): 0.005000 euro
2026-01-08 16:00:00 info: Rekentijd: 0.03 sec
2026-01-08 16:00:00 info: Het programma heeft een optimale oplossing gevonden.
2026-01-08 16:00:00 info: In- en uitgaande energie per uur batterij Marstek
uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC
kWh % kWh kWh kWh % kWh % %
16:00 -1.18 85.56 -1.38 0.00 -1.38 100.00 -1.38 85.56 11.00
.... |
Wat overeen komt met de max stage en efficiency opgegeven.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| "charge stages": [
{
"power": 0,
"efficiency": 1
},
{
"power": 2500,
"efficiency": 0.9482
}
],
"discharge stages": [
{
"power": 0,
"efficiency": 1
},
{
"power": 2500,
"efficiency": 0.8556
}
], |
Maar is niet wat het doorzet naar de batterij. Dus i.p.v. de max waar we efficienctie van weten berekent het nu zelf iets en levert het minder. Ik had juist het aantal charge stages verminderd (op aanraden van iemand anders hier) maar zo werkt het ook niet.
Volledige config. Ik heb zowel met veel als weinig stages geprobeerd.code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2026-01-08 16:00:00 info: Calculation profit after optimize in € Cost before optimize 1.58 Cost consumption 2.42 Cycle cost 0.07 Penalty cost 0.00 Battery storage -0.68 Boiler storage 0.00 Profit production -0.45 Total 1.37 Cost after optimize 1.37 Profit: 0.21 2026-01-08 16:00:00 info: Doorzetten van alle settings naar HA 2026-01-08 16:00:00 info: Grid set point: -1039.0 W 2026-01-08 16:00:00 info: Cycle cost Marstek: 0.07 euro 2026-01-08 16:00:00 info: Netto vermogen naar(+)/uit(-) omvormer Marstek: -1182 W 2026-01-08 16:00:00 info: Balanceren: False 2026-01-08 16:00:00 info: Vermogen uit batterij: 1382W 2026-01-08 16:00:00 info: Vermogen dat binnenkomt van pv: 0W 2026-01-08 16:00:00 info: Vermogen dat binnenkomt van ac: -1382W 2026-01-08 16:00:00 info: Waarde SoC na eerste uur: 11.0%
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394{ "baseload": [], "baseload calc periode": 14, "battery": [ { "entity actual level": "sensor.lilygo_rs485_marstek_battery_state_of_charge", "entity balance switch": "input_boolean.dao_balance_grid", "entity calculated soc": "input_number.dao_marstek_calculated_soc", "entity from ac": "input_number.dao_marstek_from_ac", "entity from battery": "input_number.dao_from_battery", "entity from pv": "input_number.dao_marstek_from_pv", "entity max soc end opt": "input_number.dao_max_soc_einde_opt", "entity min soc end opt": "input_number.dao_min_soc_einde_opt", "entity set operating mode": "input_select.dao_set_operating_mode", "entity set power feedin": "input_number.dao_set_power_feedin", "entity stop inverter": "input_datetime.dao_stop_marstek", "lower limit": 11, "optimal lower level": 11, "minimum power": 500, "name": "Marstek", "description": "Marstek Venus-E 5.12kWh", "reduced hours": {}, "solar": [], "upper limit": 100, "bat_to_dc efficiency": 1, "capacity": 5.12, "cycle cost": 0.0123, "cycle cost calculated": 0.02561, "dc_to_bat efficiency": 1, "charge stages": [ { "power": 0, "efficiency": 1 }, { "power": 2500, "efficiency": 0.9482 } ], "discharge stages": [ { "power": 0, "efficiency": 1 }, { "power": 2500, "efficiency": 0.8556 } ], "#charge stages": [ { "efficiency": 1, "power": 0 }, { "efficiency": 0.7095, "power": 300 }, { "efficiency": 0.7789, "power": 400 }, { "efficiency": 0.8273, "power": 500 }, { "efficiency": 0.8576, "power": 600 }, { "efficiency": 0.9041, "power": 900 }, { "efficiency": 0.9197, "power": 1100 }, { "efficiency": 0.9298, "power": 1300 }, { "efficiency": 0.9365, "power": 1500 }, { "efficiency": 0.9416, "power": 1700 }, { "efficiency": 0.944, "power": 1900 }, { "efficiency": 0.946, "power": 2100 }, { "efficiency": 0.9471, "power": 2200 }, { "efficiency": 0.9485, "power": 2300 }, { "efficiency": 0.949, "power": 2400 }, { "efficiency": 0.9482, "power": 2500 } ], "#discharge stages": [ { "efficiency": 1, "power": 0 }, { "efficiency": 0.7146, "power": 300 }, { "efficiency": 0.7581, "power": 400 }, { "efficiency": 0.7855, "power": 500 }, { "efficiency": 0.8048, "power": 600 }, { "efficiency": 0.8276, "power": 800 }, { "efficiency": 0.8414, "power": 1000 }, { "efficiency": 0.8482, "power": 1200 }, { "efficiency": 0.8522, "power": 1400 }, { "efficiency": 0.8552, "power": 1600 }, { "efficiency": 0.8556, "power": 1800 }, { "efficiency": 0.8547, "power": 2000 }, { "efficiency": 0.8543, "power": 2200 }, { "efficiency": 0.8531, "power": 2300 }, { "efficiency": 0.8522, "power": 2400 }, { "efficiency": 0.8514, "power": 2500 } ] } ], "boiler": { "boiler present": "False" }, "dashboard": { "port": 5000 }, "database da": { "db_path": "../data", "engine": "sqlite" }, "database ha": { "database": "home-assistant_v2.db", "db_path": "/homeassistant", "engine": "sqlite" }, "electric vehicle": [], "electric vehicle skip": [ { "capacity": 103, "charge scheduler": { "entity ready datetime": "input_datetime.dao_datum_klaar_met_laden", "entity set level same": "sensor.enode_battery_percentage_normalized", "entity set level": "input_number.dao_ev_entity_set_level", "level margin": 2 }, "charge stages": [ { "ampere": 0, "efficiency": 1 }, { "ampere": 16, "efficiency": 0.95 } ], "charge switch": "input_boolean.dao_ev_charge_switch", "charge switch REAL": "switch.voordeur_charger_enabled", "charge three phase": "True", "entity actual level": "sensor.enode_battery_percentage_normalized", "entity max amperage": "input_number.dao_ev_set_max_charge_amps", "entity max amperage REAL": "sensor.voordeur_dynamic_charger_limit", "entity plugged in": "input_boolean.dao_spoof_plugged_in", "entity plugged in REAL": "binary_sensor.xpeng_g9_plugged_in", "entity position": "input_text.dao_spoof_car_location", "entity position REAL": "device_tracker.xpeng_g9_location_tracker", "entity set charging ampere": "sensor.xpeng_g9_max_current", "name": "XPENG G9" } ], "graphical backend": "", "graphics": { "average consumption": "True", "battery balance": "True", "prices consumption": "True", "prices production": "True", "prices spot": "True", "show": "true", "style": "Solarize_Light2" }, "grid": { "max_power": 17 }, "heating": { "heater present": "False" }, "history": { "save days": 90 }, "homeassistant": { "host": "172.31.20.108", "ip port": 8123, "protocol api": "http", "token": "!secret homeassistant-token" }, "interval": "1hour", "logging level": "info", "machines": [], "max gap": 0.005, "meteoserver-attempts": "2", "meteoserver-key": "!secret meteoserver-key", "meteoserver-model": "harmonie", "notifications": { "berekening": "True", "last activity entity": "input_datetime.dao_laatste_activiteit", "notification entity": "input_text.notification_dao", "opstarten": "False" }, "prices": { "cost supplier consumption": { "2024-08-01": 0.020496, "2026-01-01": 0.01652893 }, "cost supplier production": { "2024-08-01": 0.020496, "2026-01-01": 0.01818182 }, "energy taxes consumption": { "2024-01-01": 0.1088, "2025-01-01": 0.10154, "2026-01-01": 0.09161 }, "energy taxes production": { "2024-01-01": 0.1088, "2025-01-01": 0.10154, "2026-01-01": 0.09161, "2027-01-01": 0 }, "vat production": { "2023-01-01": 21, "2027-01-01": 0 }, "entsoe-api-key": "!secret entsoe-api-key", "last invoice": "2026-01-01", "source day ahead": "nordpool", "tax refund": "True", "vat consumption": { "2023-01-01": 21 } }, "report": { "entities battery consumption": [ "sensor.energy_socket_marstek_energy_import" ], "entities battery production": [ "sensor.energy_socket_marstek_energy_export" ], "entities boiler consumption": [], "entities ev consumption": [ "sensor.voordeur_lifetime_energy" ], "entities grid consumption": [ "sensor.p1_meter_energy_import" ], "entities grid production": [ "sensor.p1_meter_energy_export" ], "entities machine consumption": [ "sensor.bosch_dryer_energy_2", "sensor.wasmachine_energy_socket_energy_import", "sensor.bosch_dishwasher_energy" ], "entities solar production ac": [ "sensor.kwh_meter_3_phase_energy_export_2" ], "entities solar production dc": [ "sensor.growatt_total_pv1_solar_energy", "sensor.growatt_total_pv2_solar_energy" ], "entities solar production dc heb pas historie sinds 21 nov": [ "sensor.growatt_total_solar_energy" ], "entities wp consumption": [], "entity co2-intensity": [ "sensor.co2_signal_co2_intensity" ] }, "scheduler": { "1150": "get_meteo_data", "1258": "get_day_ahead_prices", "1313": "get_day_ahead_prices", "1328": "get_day_ahead_prices", "1343": "get_day_ahead_prices", "1358": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1535": "get_day_ahead_prices", "1750": "get_meteo_data", "2340": "get_meteo_data", "2347": "calc_baseloads", "2350": "train_ml_predictions", "2357": "clean_data", "0550": "get_meteo_data", "active": "True", "xx00": "calc_optimum" }, "solar": [ { "entity pv switch": "input_boolean.dao_panelen_aan_uit", "max power": 7, "ml_prediction": "true", "entities sensors": [ "sensor.growatt_total_pv1_solar_energy", "sensor.growatt_total_pv2_solar_energy" ], "name": "Growatt", "description": "9240Wp PhonoSolar Growatt MOD7000-TL XH(BP)", "strings": [ { "capacity": 4.2, "name": "North-West", "orientation": 135, "tilt": 40, "yield": 0.00971, "yield-dao": 0.008925 }, { "capacity": 5.04, "name": "South-East", "orientation": -45, "tilt": 40, "yield": 0.011886, "yield-dao": 0.01071 } ] } ], "strategy": "minimize cost", "tibber": { "api_token": "!secret tibber-api-token" }, "use_calc_baseload": "True" }
1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Zonneplan, 3x25A, Easee Charge Lite | EV 98kWh
Ik vind het verschil tussen twee en veertien stages wel heel groot.Mirabis schreef op donderdag 8 januari 2026 @ 16:08:
@KC27 (of iemand anders) een idee waarom DAO af en toe zelf een waarde kiest en afwijkt van de stages die opgegeven zijn? Het kiest nu weer voor op laag/lager vermogen terugleveren terwijl de efficientie op de hogere opties beter is. Logs: https://pastebin.com/rQWZHvEJ
code:
1 2 3 4 5 6 7 82026-01-08 16:00:00 info: Maximale fout (maximal gap): 0.005000 euro 2026-01-08 16:00:00 info: Rekentijd: 0.03 sec 2026-01-08 16:00:00 info: Het programma heeft een optimale oplossing gevonden. 2026-01-08 16:00:00 info: In- en uitgaande energie per uur batterij Marstek uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 16:00 -1.18 85.56 -1.38 0.00 -1.38 100.00 -1.38 85.56 11.00 ....
Wat overeen komt met de max stage en efficiency opgegeven.
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20"charge stages": [ { "power": 0, "efficiency": 1 }, { "power": 2500, "efficiency": 0.9482 } ], "discharge stages": [ { "power": 0, "efficiency": 1 }, { "power": 2500, "efficiency": 0.8556 } ],
Maar is niet wat het doorzet naar de batterij. Dus i.p.v. de max waar we efficienctie van weten berekent het nu zelf iets en levert het minder. Ik had juist het aantal charge stages verminderd (op aanraden van iemand anders hier) maar zo werkt het ook niet.
[...]
Volledige config. Ik heb zowel met veel als weinig stages geprobeerd.
[...]
IK zou er ca 8 kiezen waarbij je selecteert op het efficiency verschil: steeds ongeveer 0,01 verschil met de voorgaande.
Ik kan het nu net niet goed beoordelen. Heb je voor mij de volledige logging van 16:00uur?
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Logs: https://pastebin.com/rQWZHvEJKC27 schreef op donderdag 8 januari 2026 @ 16:26:
[...]
Ik vind het verschil tussen twee en veertien stages wel heel groot.
IK zou er ca 8 kiezen waarbij je selecteert op het efficiency verschil: steeds ongeveer 0,01 verschil met de voorgaande.
Ik kan het nu net niet goed beoordelen. Heb je voor mij de volledige logging van 16:00uur?
Het lijkt ±1382W uit te willen smeren over 1 uur i.p.v. de efficientere 2x00 te doen met een stop timer na x minuten (of automatisch leeg). Buiten NOM is er geen enkel scenario dat ik van de meest efficiente charge/discharge stage wil afwijken. Dus die schaalbaarheid is in m.i. ongewenst. Kan 8 stages wel proberen de komende dagen.
De logs bij 14 stages (in mijn ogen geen verschil): https://pastebin.com/v3cGqr2e
[ Voor 19% gewijzigd door Mirabis op 08-01-2026 16:39 ]
1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Zonneplan, 3x25A, Easee Charge Lite | EV 98kWh
Dit is wel een heel interessante casus, waar nog niet in is voorzien. We hebben het hier natuurlijk over peanuts maar het gaat om het principe.Mirabis schreef op donderdag 8 januari 2026 @ 16:37:
[...]
Logs: https://pastebin.com/rQWZHvEJ
Het lijkt ±1382W uit te willen smeren over 1 uur i.p.v. de efficientere 2x00 te doen met een stop timer na x minuten (of automatisch leeg). Buiten NOM is er geen enkel scenario dat ik van de meest efficiente charge/discharge stage wil afwijken. Dus die schaalbaarheid is in m.i. ongewenst. Kan 8 stages wel proberen de komende dagen.
De logs bij 14 stages (in mijn ogen geen verschil): https://pastebin.com/v3cGqr2e
Het ontlaad optimum (qua efficiëntie) ligt bij 1800W (volgens het uitgecommentarieerde deel van jouw settings).
Er zit nog bruto 1,38 kWh in de batterij en hoe haal je die op de meest efficiënte manier uit de batterij?
Tot nu toe gaat DAO interpoleren tussen de twee vermogens zodat na het uur de batterij leeg is.
Maar eigenlijk wil je dat hij het efficiëntste vermogen kiest en eerder stopt.
Ik ga het onderzoeken en kom er op terug.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Want ik heb liever een lagere efficiëntie, door het laden in de tijd uit te smeren, waarbij de PV opwek optimaal wordt benut; tov in een korte tijd de accu volblazen met het risico dat ik van het net moet importeren. Hetzelfde geldt voor ontladen tegen een ongunstig tarief.
[ Voor 11% gewijzigd door simnet op 08-01-2026 23:41 ]
Het ging hier om ontladen van kWhs die al in de accu zatensimnet schreef op donderdag 8 januari 2026 @ 23:37:
Komt die 1300 watt niet ongeveer overeen met je geschatte zonnepanelen opbrengst (1.3kWh)?
Want ik heb liever een lagere efficiëntie, door het laden in de tijd uit te smeren, waarbij de PV opwek optimaal wordt benut; tov in een korte tijd de accu volblazen met het risico dat ik van het net moet importeren. Hetzelfde geldt voor ontladen tegen een ongunstig tarief.
1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Zonneplan, 3x25A, Easee Charge Lite | EV 98kWh
Hierin zijn de fouten die @DaBit en @balk vonden geadresseerd en hopelijk ook gerepareerd.
Dit staat in de changelog:
Fixed solar report errors with missing radiation or measured solar data (reported by @Dabit and @balk)
De fout gemeld door @Mirabis is nog in onderzoek.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Dankjewel! Helaas gaat het met deze ook fout. Ik train het model. Als ik daarna op Solar klik, krijg ik nu (wel) een grafiek. Maar 1 dag terug geeft deze error. Kan het komen door gebrek aan zonnestroom de afgelopen dagen?KC27 schreef op vrijdag 9 januari 2026 @ 13:38:
Er is een nieuwe testversie gepubliceerd: 2026.01.0.rc4
Hierin zijn de fouten die @DaBit en @balk vonden geadresseerd en hopelijk ook gerepareerd.
Dit staat in de changelog:
Fixed solar report errors with missing radiation or measured solar data (reported by @Dabit and @balk)
De fout gemeld door @Mirabis is nog in onderzoek.
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54[2026-01-09 13:47:54,207] fout in app: Exception on / [POST] Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 407, in pandas_feature_info new_feature_types.append(_pandas_dtype_mapper[dtype.name]) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ KeyError: 'object' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app response = self.full_dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request rv = self.handle_user_exception(e) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/root/dao/webserver/app/routes.py", line 301, in menu return solar() File "/root/dao/webserver/app/routes.py", line 635, in solar report_df = report.calc_solar_data( solar_items[active_subject], active_date, active_view ) File "/root/dao/prog/da_report.py", line 3033, in calc_solar_data solar_prog = solar_predictor.predict_solar_device(device, start, end) File "/root/dao/prog/solar_predictor.py", line 1037, in predict_solar_device prediction = self.predict(weather_data) File "/root/dao/prog/solar_predictor.py", line 700, in predict prediction = self.model.predict(featured_df) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 774, in inner_f return func(**kwargs) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/sklearn.py", line 1446, in predict predts = self.get_booster().inplace_predict( data=X, ...<4 lines>... validate_features=validate_features, ) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 774, in inner_f return func(**kwargs) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2852, in inplace_predict data, fns, _ = _transform_pandas_df(data, enable_categorical) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 662, in _transform_pandas_df feature_names, feature_types = pandas_feature_info( ~~~~~~~~~~~~~~~~~~~^ data, meta, feature_names, feature_types, enable_categorical ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 409, in pandas_feature_info _invalid_dataframe_dtype(data) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 372, in _invalid_dataframe_dtype raise ValueError(msg) ValueError: DataFrame.dtypes for data must be int, float, bool or category. When categorical type is supplied, the experimental DMatrix parameter`enable_categorical` must be set to `True`. Invalid columns:temperature: object, irradiance: object
Ik zie dat hij meteogegevens mist.balk schreef op vrijdag 9 januari 2026 @ 13:49:
[...]
Dankjewel! Helaas gaat het met deze ook fout. Ik train het model. Als ik daarna op Solar klik, krijg ik nu (wel) een grafiek. Maar 1 dag terug geeft deze error. Kan het komen door gebrek aan zonnestroom de afgelopen dagen?
[...]
En omdat jij het over "1 dag terug" hebt denk ik aan gisteren.
Blijkbaar ontbreken er prognose-gegevens van Meteoserver van gisteren.
Ben je met een blanco database begonnen?
Het werkt het beste als je start (met een kopie) van je originele database en dan de add-on herstart.
Dan worden de prognose data verplaatst van de "values-tabel"naar de "prognose-tabel, waar ze horen (ontwerpfout).
Misschien gaat dat bij jou (met postgresql toch?) fout.
Dat kun je terugvinden in de logging bij het de eerste keer opstarten van de rc met een database van voor 2025.12.2.
Die prognoses van gisteren kunnen niet meer worden opgehaald. De voorspelling van DAO en van de ML-voorspeller moeten die prognoses hebben om hun berekening te kunnen reproduceren.
Ik kan proberen deze fout te corrigeren met gemeten waarden, maar die komen van het knmi met een vertraging van minstens 48 uur.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Wellicht ligt daar het probleem inderdaad. Ik heb wel de meteo gegevens opgehaald, of in ieder geval op de knop gedrukt. Maar ik gebruik de database die ik bij rc1 heb gekopieerd maar die is niet helemaal bij intussen. Ik zal morgen eens opnieuw beginnen, met een versie kopie van de productie versie.KC27 schreef op vrijdag 9 januari 2026 @ 16:18:
[...]
Ik zie dat hij meteogegevens mist.
En omdat jij het over "1 dag terug" hebt denk ik aan gisteren.
Blijkbaar ontbreken er prognose-gegevens van Meteoserver van gisteren.
Ben je met een blanco database begonnen?
Het werkt het beste als je start (met een kopie) van je originele database en dan de add-on herstart.
Dan worden de prognose data verplaatst van de "values-tabel"naar de "prognose-tabel, waar ze horen (ontwerpfout).
Misschien gaat dat bij jou (met postgresql toch?) fout.
Dat kun je terugvinden in de logging bij het de eerste keer opstarten van de rc met een database van voor 2025.12.2.
Die prognoses van gisteren kunnen niet meer worden opgehaald. De voorspelling van DAO en van de ML-voorspeller moeten die prognoses hebben om hun berekening te kunnen reproduceren.
Ik kan proberen deze fout te corrigeren met gemeten waarden, maar die komen van het knmi met een vertraging van minstens 48 uur.
In de log bij Settings->Addons->刀 Day Ahead Optimizer (TESTING)->Log verschijnt niets. Ik bekeek solar->Growatt->2025-09-01 om 9u26 en dit is het relevante deel van de log:
De ML training die ik om 9.00 gescheduled had en de baseloadberekening spugen naar log, opvragen solar niet.code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50.. .. 2026-01-10 09:01:14 info: Starting solar prediction model for aanbouw training... 2026-01-10 09:01:14 info: Loading and processing data... 2026-01-10 09:01:15 info: Merging weather and solar data... 2026-01-10 09:01:15 info: Merged dataset: 15152 records 2026-01-10 09:01:15 info: Date range: 2024-04-15 05:00:00+00:00 to 2026-01-06 12:00:00+00:00 2026-01-10 09:01:15 info: Detecting outliers... 2026-01-10 09:01:15 info: Outliers removed: 276 (1.8%) 2026-01-10 09:01:15 info: Clean dataset: 14876 records 2026-01-10 09:01:15 info: Training samples: 11900 2026-01-10 09:01:15 info: Testing samples: 2976 2026-01-10 09:01:15 info: Tune hyperparameters: True 2026-01-10 09:01:15 info: Tuning hyperparameters... 2026-01-10 09:01:15 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]} 2026-01-10 09:01:22 info: Best parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-10 09:01:22 info: Training final model... 2026-01-10 09:01:22 info: Parameters: {'learning_rate': 0.05, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.9} 2026-01-10 09:01:23 info: Model training van aanbouw complete 2026-01-10 09:01:23 info: Model saved to: ../data/prediction/models/aanbouw.pkl 2026-01-10 09:01:23 info: Training MAE: 0.0191 kWh 2026-01-10 09:01:23 info: Testing MAE: 0.0130 kWh 2026-01-10 09:01:23 info: Training R²: 0.9254 2026-01-10 09:01:23 info: Testing R²: 0.6759 2026-01-10 09:01:23 info: Sorted features: 2026-01-10 09:01:23 info: 1. irradiance: 0.553 2026-01-10 09:01:23 info: 2. hour: 0.388 2026-01-10 09:01:23 info: 3. week_nr: 0.020 2026-01-10 09:01:23 info: 4. temperature: 0.015 2026-01-10 09:01:23 info: 5. month: 0.008 2026-01-10 09:01:23 info: 6. day_of_week: 0.008 2026-01-10 09:01:23 info: 7. quarter: 0.007 2026-01-10 09:01:23 info: 8. season: 0.002 2026-01-10 09:30:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc4 2026-01-10 09:30:00 info: Day Ahead Optimalisering gestart op: 10-01-2026 09:30:00 2026-01-10 09:30:00 info: Day Ahead Optimalisatie gestart: 10-01-2026 09:30:00 taak: calc_baseloads 2026-01-10 09:30:18 info: baseload voor weekdag 0 : 2026-01-10 09:30:18 info: 2.236 0.967 0.639 0.843 0.719 0.515 0.425 0.621 0.727 0.792 0.732 0.603 0.702 0.692 0.546 0.539 0.619 0.995 1.143 0.586 0.545 0.586 0.507 0.412 2026-01-10 09:30:33 info: baseload voor weekdag 1 : 2026-01-10 09:30:33 info: 2.32 0.585 0.874 0.775 0.73 0.531 0.541 0.93 1.38 1.238 0.954 1.488 1.42 1.452 1.023 0.992 0.966 0.914 0.776 0.792 0.552 0.6 0.513 0.61 2026-01-10 09:30:47 info: baseload voor weekdag 2 : 2026-01-10 09:30:47 info: 2.082 0.515 0.536 0.726 0.632 0.494 0.459 0.605 0.818 0.825 0.637 0.737 0.919 0.944 0.71 0.597 0.597 0.872 1.098 0.878 0.585 0.685 0.672 0.533 2026-01-10 09:31:01 info: baseload voor weekdag 3 : 2026-01-10 09:31:01 info: 2.167 0.745 0.546 0.698 0.773 0.495 0.599 0.753 0.844 0.585 0.791 0.635 0.558 0.646 0.66 0.608 1.18 0.654 0.72 0.738 0.562 0.543 0.527 0.616 2026-01-10 09:31:16 info: baseload voor weekdag 4 : 2026-01-10 09:31:16 info: 2.294 0.868 0.823 0.972 0.848 0.501 0.449 0.909 1.536 1.33 1.302 1.452 1.569 1.174 0.949 1.036 1.018 1.098 1.336 0.54 0.552 0.469 0.495 0.492 2026-01-10 09:31:30 info: baseload voor weekdag 5 : 2026-01-10 09:31:30 info: 2.236 0.649 0.443 0.54 0.511 0.565 0.68 0.771 0.88 1.275 1.13 1.197 1.158 1.168 1.002 0.952 0.771 1.037 1.454 0.735 0.611 0.706 0.737 0.719 2026-01-10 09:31:45 info: baseload voor weekdag 6 : 2026-01-10 09:31:45 info: 2.336 0.49 0.498 0.567 0.551 0.391 0.531 0.736 1.052 0.92 1.074 0.992 1.293 1.476 1.324 0.976 1.04 1.349 1.267 0.642 0.607 0.654 0.487 0.655
Pas na een forse tijd (10 minuten?) verschijnt er dit nog
1
2
3
4
5
6
7
8
9
10
11
12
13
| <html> <head><title>504 Gateway Time-out</title></head> <body> <center><h1>504 Gateway Time-out</h1></center> <hr><center>openresty</center> </body> </html> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> |
Nu tast ik in het duister....DaBit schreef op zaterdag 10 januari 2026 @ 09:38:
Helaas, het 'Internal server error' probleem is met rc4 niet opgelost. Ik heb 'm geinstalleerd, de ML-modellen overnieuw laten trainen via de scheduler, de addon herstart, maar zo gauw ik probeer van 2025-09-01 solar op te vragen is het 'internal server error'.
In de log bij Settings->Addons->刀 Day Ahead Optimizer (TESTING)->Log verschijnt niets. Ik bekeek solar->Growatt->2025-09-01 om 9u26 en dit is het relevante deel van de log:
[...]
De ML training die ik om 9.00 gescheduled had en de baseloadberekening spugen naar log, opvragen solar niet.
Pas na een forse tijd (10 minuten?) verschijnt er dit nog
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 <html> <head><title>504 Gateway Time-out</title></head> <body> <center><h1>504 Gateway Time-out</h1></center> <hr><center>openresty</center> </body> </html> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page -->
Misschien is het toch goed dat je mij toegang heeft naar een kloon van je setup.
Stuur maar een dm.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Wil je ook mijn database en config?code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55[2026-01-10 10:51:15,574] fout in app: Exception on / [POST] Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 407, in pandas_feature_info new_feature_types.append(_pandas_dtype_mapper[dtype.name]) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ KeyError: 'object' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app response = self.full_dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request rv = self.handle_user_exception(e) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/root/dao/webserver/app/routes.py", line 301, in menu return solar() File "/root/dao/webserver/app/routes.py", line 635, in solar report_df = report.calc_solar_data( solar_items[active_subject], active_date, active_view ) File "/root/dao/prog/da_report.py", line 3033, in calc_solar_data solar_prog = solar_predictor.predict_solar_device(device, start, end) File "/root/dao/prog/solar_predictor.py", line 1037, in predict_solar_device prediction = self.predict(weather_data) File "/root/dao/prog/solar_predictor.py", line 700, in predict prediction = self.model.predict(featured_df) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 774, in inner_f return func(**kwargs) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/sklearn.py", line 1446, in predict predts = self.get_booster().inplace_predict( data=X, ...<4 lines>... validate_features=validate_features, ) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 774, in inner_f return func(**kwargs) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2852, in inplace_predict data, fns, _ = _transform_pandas_df(data, enable_categorical) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 662, in _transform_pandas_df feature_names, feature_types = pandas_feature_info( ~~~~~~~~~~~~~~~~~~~^ data, meta, feature_names, feature_types, enable_categorical ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 409, in pandas_feature_info _invalid_dataframe_dtype(data) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/data.py", line 372, in _invalid_dataframe_dtype raise ValueError(msg) ValueError: DataFrame.dtypes for data must be int, float, bool or category. When categorical type is supplied, the experimental DMatrix parameter`enable_categorical` must be set to `True`. Invalid columns:temperature: object, irradiance: object
Wat ik geprobeerd heb is om de start en eind window op 0:00 te zetten, maar dat heeft niet het gewenste effect.
Er staat wel in de logging
1
2
3
| 2026-01-10 19:53:49 info: Apparaat: Vaatwasser 2026-01-10 19:53:49 info: Programma: Auto2 2026-01-10 19:53:49 info: Niet ingepland |
Maar vervolgens zie ik hem wel gewoon in de grafiek staan. Ik gebruik 'time' voor de window overigens, dateTIme gaf dacht ik een error.
Oh wacht, als ik de entity calculated start en end entity op een eerdere dag zet wordt hij niet meer in de grafiek getoond. Dus misschien moet ik beide doen.
[ Voor 11% gewijzigd door rescla op 10-01-2026 19:58 ]
Zodra er een datum is, staat er bij de button de tijd hoe laat de vaatwasser wordt gestart.
Verder, zodra de vaatwasser gaat starten, zet ik het program-select weer op 'Uit'. Dubbele check dus.
[ Voor 13% gewijzigd door storeman op 10-01-2026 20:16 ]
"Chaos kan niet uit de hand lopen"
Dit staat in de changelog:
- Fixed errors in solar-reports (reported by @balk and @DaBit)
- Fixed problem with managing battery with short periods (reported by @Mirabis)
Korte toelichting:
In de solar-reports wordt in het vervolg de dao-voorspelling en de ml-voorspelling berekend met gemeten straling (knmi-data). Bij ontbreken daarvan (knmi meetdata zijn maar tot uiterlijk eergisteren beschikbaar) worden de prognose-data (van Meteoserver) gebruikt.
Het probleem van @Mirabis is getackled door de berekening van de inzet van de batterij(en) met sos (special order sets) verder door te voeren en (wanneer van toepassing) de resultaten daarvan te gebruiken om de batterij met een hoger optimaal vermogen (meest efficiënt) te laden of te ontladen gedurende een korte periode. De entity "stop omvormer" wordt voorzien van een datum/tijd waarop de omvormer moet worden gestopt om toch het goede volume te bereiken.
Graag opnieuw testen en ik ben benieuwd naar jullie bevindingen.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
1
2
3
4
5
6
7
8
9
10
11
| debug:root:hass/api/config: {"allowlist_external_dirs":["/media","/config/www"],"allowlist_external_urls":[],"components":["backup.event","hassio","tod","energy_meter.sensor","switch_as_x.light","spook.number","tuya.climate","smartthings.update","homekit_controller.sensor","tuya.cover","samsungtv_smart","plant","zwave_js.switch","input_number","tado.water_heater","smartthings.switch","buienalarm.sensor","lock","utility_meter.sensor","ping.device_tracker","nodered.number","mqtt.fan","nodered.sensor","adguard.switch","wake_on_lan","scene","mqtt.number","spook.select","search","spook.binary_sensor","spook.event","buienalarm","unifi.image","sessy.update","schedule","github.sensor","input_text","sessy.select","labs","device_tracker","application_credentials","sun.sensor","binary_sensor","tuya.button","homekit_controller.select","spook","esphome.select","spotifyplus.media_player","sun.binary_sensor","command_line","http","homeassistant.scene","esphome.cover","counter","shell_command","ical.calendar","unifi.switch","co2signal","mqtt.event","solaredge_modbus.sensor","ping","sensor","mobile_app.sensor","nodered.binary_sensor","smartthings","conversation","local_calendar.calendar","buienradar","sessy.number","proxmoxve.binary_sensor","samsungtv","proxmoxve.button","smart_thermostat.climate","google_generative_ai_conversation.ai_task","sessy.switch","template.switch","command_line.sensor","sessy","cover","auth","api","homeassistant","smartthings.cover","tado.switch","auto_backup.sensor","tod.binary_sensor","analytics","esphome.switch","proxmoxve.sensor","pvoutput","tuya.select","smartthings.climate","tuya","adguard.sensor","event","threshold.binary_sensor","calendar","smartthings.button","siren","integration.sensor","local_todo.todo","nederlandse_spoorwegen.binary_sensor","tado.sensor","update","tts","sun","mqtt.sensor","esphome.event","smartthings.sensor","smartthings.fan","zwave_js.update","trace","cast.media_player","tuya.event","co2signal.sensor","cloud.stt","solaredgeoptimizers","humidifier","template.binary_sensor","person","system_log","hacs","solaredge_modbus","my","statistics.sensor","hardware","spook.sensor","adguard","generic_thermostat.climate","spotify","device_automation","zwave_js.cover","network","cloud","openweathermap","persistent_notification","image_upload","mpd.media_player","template.select","adaptive_lighting","localtuya.switch","zwave_js.event","watchman.sensor","unifi.update","todo","dsmr_reader.sensor","tuya.siren","hassio.update","assist_pipeline","tag","adaptive_lighting.switch","toyota","local_calendar","min_max.sensor","number","tibber.notify","tuya.switch","water_heater","smartthings.binary_sensor","tuya.light","local_todo","homekit_controller.climate","cloud.tts","mqtt.switch","auto_backup","zwave_js","tuya.camera","sessy.binary_sensor","file_upload","tibber.sensor","zwave_js.button","repairs","smartthings.vacuum","version.sensor","nodered.text","tuya.number","smartthings.event","zwave_js.fan","switch_as_x","afvalwijzer","system_health","sessy.time","adguard.update","webhook","config","mobile_app.device_tracker","zwave_js.light","tuya.humidifier","mobile_app.binary_sensor","statistics","spotify.media_player","esphome.sensor","ping.binary_sensor","group.notify","notify","nodered","input_button","zwave_js.select","localtuya.number","rest.sensor","group","tado","tuya.sensor","scheduler.switch","climate","watchman","intent","wake_word","derivative.sensor","samsungtv.media_player","input_datetime","min_max","zeroconf","nederlandse_spoorwegen.sensor","stt","mqtt.light","spook.button","solaredge_modbus.number","smartthings.lock","entsoe.sensor","ffmpeg","smartthings.water_heater","media_source","samsungtv.remote","esphome","localtuya","tuya.fan","sessy.button","github","tuya.alarm_control_panel","pvoutput.sensor","automation","diagnostics","scheduler","script","zwave_js.siren","nodered.time","openweathermap.sensor","zwave_js.number","sessy.sensor","nodered.select","systemmonitor","tado.climate","google_generative_ai_conversation.stt","history","select","version","auto_backup.button","hacs.update","light","smartthings.number","usb","time","mqtt.select","buienradar.weather","tuya.scene","forecast_solar","filter.sensor","hassio.sensor","utility_meter","integration","afvalwijzer.sensor","spook.time","logbook","ssdp","image","spotifyplus","logger","hacs.switch","derivative","solaredge_modbus.select","hassio.switch","backup.sensor","google_generative_ai_conversation.conversation","timer","twinkly","entsoe","nodered.button","smartthings.select","frontend","sql","tado.device_tracker","unifi.button","buienradar.sensor","esphome.button","tado.binary_sensor","zone","tuya.valve","energy.sensor","history_stats.sensor","input_select","universal.media_player","wake_on_lan.switch","unifi","mqtt.binary_sensor","threshold","bluetooth_adapters","blueprint","ai_task","zwave_js.binary_sensor","esphome.camera","workday","button","smartthings.valve","ping.sensor","dsmr_reader","template.sensor","google_generative_ai_conversation.tts","homekit_controller","nodered.switch","template","smartthings.media_player","recorder","smartthings.scene","rest_command","group.light","samsungtv_smart.media_player","bluetooth","switch","systemmonitor.sensor","esphome.light","version.binary_sensor","text","mpd","mqtt.text","alarm_control_panel","fan","wled","valve","mqtt.climate","energy_meter","esphome.number","spook.switch","mobile_app","rest","input_boolean","google_generative_ai_conversation","esphome.binary_sensor","zwave_js.humidifier","samsungtv_smart.remote","unifi.device_tracker","homekit_controller.button","zwave_js.lock","workday.binary_sensor","weather","proxmoxve","mqtt","smartthings.light","remote","tuya.vacuum","workday.calendar","localtuya.sensor","mobile_app.notify","tibber","auto_backup.binary_sensor","camera","cast","unifi.sensor","kleenex_pollenradar.sensor","buienradar.camera","zwave_js.climate","openweathermap.weather","sql.sensor","ical.sensor","systemmonitor.binary_sensor","backup","cloud.binary_sensor","media_player","unifi.light","nederlandse_spoorwegen","ical","vacuum","websocket_api","onboarding","hassio.binary_sensor","utility_meter.select","tuya.binary_sensor","time_date.sensor","forecast_solar.sensor","kleenex_pollenradar","esphome.update","lovelace","zwave_js.sensor","energy","esphome.media_player"],"config_dir":"/config","config_source":"storage","country":"NL","currency":"EUR","debug":false,"elevation":0,"external_url":null,"internal_url":null,"language":"en","latitude":52.01789586139738,"location_name":"Home","longitude":4.3583106994628915,"radius":100,"recovery_mode":false,"safe_mode":false,"state":"RUNNING","time_zone":"Europe/Amsterdam","unit_system":{"length":"km","accumulated_precipitation":"mm","area":"m²","mass":"g","pressure":"Pa","temperature":"°C","volume":"L","wind_speed":"m/s"},"version":"2025.12.5","whitelist_external_dirs":["/media","/config/www"]}
debug:root:Dialect: sqlite, database: day_ahead.db, db_path: ../data
debug:root:db_url: sqlite://///root/dao/data/day_ahead.db
debug:root:Dialect: postgresql, database: homeassistant3, server: 192.168.1.111
debug:root:db_url: postgresql+psycopg2://postgres:RMzK5tzHN2zebj@192.168.1.111:5432/homeassistant3
debug:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.7:8123
debug:urllib3.connectionpool:http://192.168.1.7:8123 "GET /api/states/input_select.dao_strategy HTTP/1.1" 200 429
debug:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.7:8123
debug:urllib3.connectionpool:http://192.168.1.7:8123 "POST /api/services/input_datetime/set_datetime HTTP/1.1" 200 324
debug:root:Connection status Pool size: 5 Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 215 in /root/dao/prog/da_base.py
debug:root:Connection status Pool size: 5 Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 4698 in /root/dao/webserver/../prog/day_ahead.py |
Meer niet, lijkt dus niet te draaien. Ook geen andere meldingen in de HA log.
Ik zal het vanavond repareren en een nieuwe rc publiceren.
Gelukkig draait het nog wel als je het via de scheduler opstart, bijvoorbeeld:
1
| "1938": "train_ml_predictions" |
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
koel! Hij gaat inderdaad verder dan voorheenKC27 schreef op maandag 12 januari 2026 @ 19:35:
Nee draait inderdaad niet.
Ik zal het vanavond repareren en een nieuwe rc publiceren.
Gelukkig draait het nog wel als je het via de scheduler opstart, bijvoorbeeld:
code:
1 "1938": "train_ml_predictions"
Is ergens terug te zien welke model een betere voorspelling geeft? Het Prognose_dao of Prognose_ml? Of is het ene model misschien beter in de zomer en de ander in de winter?
Per dag kun je het vergelijken met de dao-voorspelling.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Changelog:
Fixed not starting ml-training from run-menu (reported by @balk)
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Dank! Dat werkt. Ik zie nog wel wat geks. Voorheen liep de interface vast op 27 juni. Nu niet meer. Maar de prognose data ontbreekt tussen 13 mei en 27 juni. Heb jij een idee wat dat zou kunnen betekenen?KC27 schreef op maandag 12 januari 2026 @ 23:08:
Ik heb de fout gerepareerd in de laatste testversie: 2026.01.0.rc6
Changelog:
Fixed not starting ml-training from run-menu (reported by @balk)
![]() | ![]() |
Verder vroeg ik mij af wat Testing R²? Ik neem aan dat Training R² tussen de gemeten data en de ml-voorspelde data is? Is Testing tussen de gemeten data en de oude methode?
[ Voor 7% gewijzigd door balk op 13-01-2026 19:19 ]
- Ik heb bij machine consumption het energie verbruik in kWh van mijn airco ingevuld, is dat ok? Of is machine ergens anders voor?
- De waterpomp daar heb ik zowel de 3 fase (verwarmen) als de 1 fase (legionelle) in kWh ingevuld, is dat ook ok? Deze heb ik nog niet bij heating ingevuld kan dat? Het geeft geen fout.
- Solar wordt weer in Watt ingevuld, beetje verwarrend omdat bovenstaande in kWh staat en deze in watt, klopt dit? Want de solar AC heb ik enkel in kWh en niet in Watt.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| "report": {
"entities grid consumption": [
"sensor.p1_meter_3c39e7276316_total_power_import_t1",
"sensor.p1_meter_3c39e7276316_total_power_import_t2"
],
"entities grid production": [
"sensor.p1_meter_3c39e7276316_total_power_export_t1",
"sensor.p1_meter_3c39e7276316_total_power_export_t2"
],
"entities solar production ac": [],
"entities solar production dc": [
"sensor.solaredge_i1_ac_energy",
"sensor.deye_pv1_power",
"sensor.deye_pv2_power"
],
"entities ev consumption" : [],
"entities wp consumption" : [
"sensor.power_ecodan_3p_energy",
"sensor.power_ecodan_1p_energy"
],
"entities boiler consumption": [],
"entities machine consumption": [
"sensor.power_airco_kantoor_energy",
"sensor.power_airco_ramie_energy"
],
"entities battery consumption": [],
"entities battery production": [] |
[ Voor 44% gewijzigd door The Source op 13-01-2026 21:26 ]
Dat zit ergens in jouw database. Mis je die gegevens ook in de database van je productie versie, dan moet je kijken in de "values" tabel. Bij het installeren van de versie 2026.01.0.rcx op de originele database worden de meteogevens van straling en temperatuur (wat prognose gegevens zijn van Meteoserver) verhuisd naar de prognose-tabel (waar ze thuis horen, ontwerpfoutjebalk schreef op dinsdag 13 januari 2026 @ 19:16:
[...]
Dank! Dat werkt. Ik zie nog wel wat geks. Voorheen liep de interface vast op 27 juni. Nu niet meer. Maar de prognose data ontbreekt tussen 13 mei en 27 juni. Heb jij een idee wat dat zou kunnen betekenen?--edit--
[Afbeelding] [Afbeelding]
Verder vroeg ik mij af wat Testing R²? Ik neem aan dat Training R² tussen de gemeten data en de ml-voorspelde data is? Is Testing tussen de gemeten data en de oude methode?
Maar behalve voor deze rapportages worden ze niet meer gebruikt, dus je hebt ze ook niet echt nodig.
[ Voor 3% gewijzigd door KC27 op 13-01-2026 22:51 ]
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Hmm het gaat nog niet helemaal goed. Het maakte zojuist de keuze voor 1382W terwijl eerdere logging 94.90 efficientie aangaf wat duidt op power=2400W.KC27 schreef op maandag 12 januari 2026 @ 13:06:
Vandaag is een nieuwe test-versie gepubliceerd: 2026.01.0.rc5
Dit staat in de changelog:Dank aan eenieder voor het testen, meewerken en meedenken.
- Fixed errors in solar-reports (reported by @balk and @DaBit)
- Fixed problem with managing battery with short periods (reported by @Mirabis)
Korte toelichting:
In de solar-reports wordt in het vervolg de dao-voorspelling en de ml-voorspelling berekend met gemeten straling (knmi-data). Bij ontbreken daarvan (knmi meetdata zijn maar tot uiterlijk eergisteren beschikbaar) worden de prognose-data (van Meteoserver) gebruikt.
Het probleem van @Mirabis is getackled door de berekening van de inzet van de batterij(en) met sos (special order sets) verder door te voeren en (wanneer van toepassing) de resultaten daarvan te gebruiken om de batterij met een hoger optimaal vermogen (meest efficiënt) te laden of te ontladen gedurende een korte periode. De entity "stop omvormer" wordt voorzien van een datum/tijd waarop de omvormer moet worden gestopt om toch het goede volume te bereiken.
Graag opnieuw testen en ik ben benieuwd naar jullie bevindingen.
charge stages (min:500 elders geconfigureerd):code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 1632026-01-13 23:00:00 info: Day Ahead Optimalisering versie: 2026.01.0.rc6 2026-01-13 23:00:00 info: Day Ahead Optimalisering gestart op: 13-01-2026 23:00:00 2026-01-13 23:00:00 info: Day Ahead Optimalisatie gestart: 13-01-2026 23:00:00 taak: calc_optimum 2026-01-13 23:00:00 info: Debug = False 2026-01-13 23:00:00 info: Zelf berekende baseload 2026-01-13 23:00:00 info: ML prediction Growatt date_time prediction 0 2026-01-13 23:00:00+01:00 0.007 1 2026-01-14 00:00:00+01:00 0.007 2 2026-01-14 01:00:00+01:00 0.000 3 2026-01-14 02:00:00+01:00 0.000 4 2026-01-14 03:00:00+01:00 0.000 5 2026-01-14 04:00:00+01:00 0.000 6 2026-01-14 05:00:00+01:00 0.000 7 2026-01-14 06:00:00+01:00 0.000 8 2026-01-14 07:00:00+01:00 0.000 9 2026-01-14 08:00:00+01:00 0.000 10 2026-01-14 09:00:00+01:00 0.216 11 2026-01-14 10:00:00+01:00 1.111 12 2026-01-14 11:00:00+01:00 2.130 13 2026-01-14 12:00:00+01:00 2.074 14 2026-01-14 13:00:00+01:00 1.826 15 2026-01-14 14:00:00+01:00 1.506 16 2026-01-14 15:00:00+01:00 0.763 17 2026-01-14 16:00:00+01:00 0.063 18 2026-01-14 17:00:00+01:00 0.000 19 2026-01-14 18:00:00+01:00 0.000 20 2026-01-14 19:00:00+01:00 0.000 21 2026-01-14 20:00:00+01:00 0.000 22 2026-01-14 21:00:00+01:00 0.000 23 2026-01-14 22:00:00+01:00 0.000 2026-01-13 23:00:00 info: Start waarden: uur tijd spot p_l p_t base pv_ac pv_dc 0 23:00 2026-01-13 23:00:00 0.082 0.231 0.233 4.028 0.007 0 1 00:00 2026-01-14 00:00:00 0.086 0.234 0.236 -2.446 0.007 0 2 01:00 2026-01-14 01:00:00 0.084 0.233 0.235 -0.260 0.000 0 3 02:00 2026-01-14 02:00:00 0.086 0.235 0.237 0.808 0.000 0 4 03:00 2026-01-14 03:00:00 0.086 0.235 0.237 2.765 0.000 0 5 04:00 2026-01-14 04:00:00 0.088 0.237 0.239 0.908 0.000 0 6 05:00 2026-01-14 05:00:00 0.090 0.239 0.241 -0.615 0.000 0 7 06:00 2026-01-14 06:00:00 0.093 0.244 0.246 0.002 0.000 0 8 07:00 2026-01-14 07:00:00 0.105 0.257 0.259 -1.204 0.000 0 9 08:00 2026-01-14 08:00:00 0.128 0.286 0.288 -0.421 0.000 0 10 09:00 2026-01-14 09:00:00 0.130 0.288 0.290 0.342 0.216 0 11 10:00 2026-01-14 10:00:00 0.115 0.270 0.272 0.373 1.111 0 12 11:00 2026-01-14 11:00:00 0.103 0.256 0.258 0.383 2.130 0 13 12:00 2026-01-14 12:00:00 0.098 0.249 0.251 0.890 2.074 0 14 13:00 2026-01-14 13:00:00 0.100 0.252 0.254 0.753 1.826 0 15 14:00 2026-01-14 14:00:00 0.114 0.269 0.271 0.477 1.506 0 16 15:00 2026-01-14 15:00:00 0.138 0.298 0.300 0.560 0.763 0 17 16:00 2026-01-14 16:00:00 0.148 0.310 0.312 0.576 0.063 0 18 17:00 2026-01-14 17:00:00 0.193 0.365 0.367 0.522 0.000 0 19 18:00 2026-01-14 18:00:00 0.181 0.350 0.352 0.458 0.000 0 20 19:00 2026-01-14 19:00:00 0.158 0.322 0.324 0.377 0.000 0 21 20:00 2026-01-14 20:00:00 0.130 0.288 0.290 0.384 0.000 0 22 21:00 2026-01-14 21:00:00 0.100 0.252 0.254 0.356 0.000 0 23 22:00 2026-01-14 22:00:00 0.092 0.243 0.245 0.622 0.000 0 24 23:00 2026-01-14 23:00:00 0.092 0.242 0.244 0.511 0.000 0 2026-01-13 23:00:00 info: No reduced hours applied for Marstek 2026-01-13 23:00:00 info: Startwaarde SoC Marstek: 11.0% 2026-01-13 23:00:00 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2026-01-13 23:00:00 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland 2026-01-13 23:00:00 info: Strategie: minimale kosten 2026-01-13 23:00:00 info: Maximale fout (maximal gap): 0.005000 euro 2026-01-13 23:00:00 info: Rekentijd: 0.07 sec 2026-01-13 23:00:00 info: Het programma heeft een optimale oplossing gevonden. 2026-01-13 23:00:00 info: Laad volume in uur 0 23:00 0.0 kWh 2026-01-13 23:00:00 info: 14 0.9827771797633137 2.4 2026-01-13 23:00:00 info: 15 0.017222820236686243 2.5 2026-01-13 23:00:00 info: Laad volume in uur 3 02:00 0.0 kWh 2026-01-13 23:00:00 info: 14 1.0 2.4 2026-01-13 23:00:00 info: Ontlaad volume in uur 18 17:00 2.13604928962385 kWh 2026-01-13 23:00:00 info: 11 0.3197535518807504 2.0 2026-01-13 23:00:00 info: 12 0.6802464481192496 2.2 2026-01-13 23:00:00 info: Ontlaad volume in uur 19 18:00 1.75979808 kWh 2026-01-13 23:00:00 info: 10 0.9776655999999999 1.8 2026-01-13 23:00:00 info: In- en uitgaande energie per uur batterij Marstek uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 23:00 2.40 94.90 2.28 0.00 2.28 100.00 2.28 94.90 55.52 00:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 55.52 01:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 55.52 02:00 2.40 94.90 2.28 0.00 2.28 100.00 2.28 94.90 100.00 03:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 04:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 05:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 06:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 07:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 08:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 09:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 10:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 11:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 12:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 13:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 14:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 15:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 16:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 17:00 -2.14 85.44 -2.50 0.00 -2.50 100.00 -2.50 85.44 51.17 18:00 -1.76 85.56 -2.06 0.00 -2.06 100.00 -2.06 85.56 11.00 19:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 Totaal 0.91 -- -0.00 0.00 -0.00 -- -0.00 -- 2026-01-13 23:00:00 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 23:00 2.40 0.00 6.42 0.00 4.03 0.00 0.00 0.00 0.01 1.48 -0.00 20.00 00:00 0.00 0.00 0.00 2.45 -2.45 0.00 0.00 0.00 0.01 0.00 -0.58 20.00 01:00 0.00 0.00 0.00 0.26 -0.26 0.00 0.00 0.00 0.00 0.00 -0.06 20.00 02:00 2.40 0.00 3.21 0.00 0.81 0.00 0.00 0.00 0.00 0.75 -0.00 20.00 03:00 0.00 0.00 2.76 0.00 2.77 0.00 0.00 0.00 0.00 0.65 -0.00 20.00 04:00 0.00 0.00 0.91 0.00 0.91 0.00 0.00 0.00 0.00 0.22 -0.00 20.00 05:00 0.00 0.00 0.00 0.62 -0.61 0.00 0.00 0.00 0.00 0.00 -0.15 20.00 06:00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 07:00 0.00 0.00 0.00 1.20 -1.20 0.00 0.00 0.00 0.00 0.00 -0.31 20.00 08:00 0.00 0.00 0.00 0.42 -0.42 0.00 0.00 0.00 0.00 0.00 -0.12 20.00 09:00 0.00 0.00 0.13 0.00 0.34 0.00 0.00 0.00 0.22 0.04 -0.00 20.00 10:00 0.00 0.00 0.00 0.74 0.37 0.00 0.00 0.00 1.11 0.00 -0.20 20.00 11:00 0.00 0.00 0.00 1.75 0.38 0.00 0.00 0.00 2.13 0.00 -0.45 20.00 12:00 0.00 0.00 0.00 1.18 0.89 0.00 0.00 0.00 2.07 0.00 -0.30 20.00 13:00 0.00 0.00 0.00 1.07 0.75 0.00 0.00 0.00 1.83 0.00 -0.27 20.00 14:00 0.00 0.00 0.00 1.03 0.48 0.00 0.00 0.00 1.51 0.00 -0.28 20.00 15:00 0.00 0.00 0.00 0.20 0.56 0.00 0.00 0.00 0.76 0.00 -0.06 20.00 16:00 0.00 0.00 0.51 0.00 0.58 0.00 0.00 0.00 0.06 0.16 -0.00 20.00 17:00 0.00 2.14 0.00 1.61 0.52 0.00 0.00 0.00 0.00 0.00 -0.59 20.00 18:00 0.00 1.76 0.00 1.30 0.46 0.00 0.00 0.00 0.00 0.00 -0.46 20.00 19:00 0.00 0.00 0.38 0.00 0.38 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 20:00 0.00 0.00 0.38 0.00 0.38 0.00 0.00 0.00 0.00 0.11 -0.00 20.00 21:00 0.00 0.00 0.36 0.00 0.36 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 22:00 0.00 0.00 0.62 0.00 0.62 0.00 0.00 0.00 0.00 0.15 -0.00 20.00 23:00 0.00 0.00 0.51 0.00 0.51 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 Totaal 4.80 3.90 16.20 13.84 11.15 0.00 0.00 0.00 9.70 3.89 -3.83 2026-01-13 23:00:00 info: Consumption 16.20 (kWh) 2026-01-13 23:00:00 info: Cost consumption 3.89 (€) 2026-01-13 23:00:00 info: Tariff consumption 0.240 (€/kWh) 2026-01-13 23:00:00 info: Production 13.84 (kWh) 2026-01-13 23:00:00 info: Profit production -3.83 (€) 2026-01-13 23:00:00 info: Tariff production 0.277 (€/kWh) 2026-01-13 23:00:00 info: Calculation profit after optimize in € Cost before optimize 0.34 Cost consumption 3.89 Cycle cost 0.11 Penalty cost 0.00 Battery storage 0.00 Boiler storage 0.00 Profit production -3.83 Total 0.17 Cost after optimize 0.17 Profit: 0.17 2026-01-13 23:00:00 info: Doorzetten van alle settings naar HA 2026-01-13 23:00:00 info: Grid set point: 6423.0 W 2026-01-13 23:00:00 info: Cycle cost Marstek: 0.11 euro 2026-01-13 23:00:00 info: Netto vermogen naar(+)/uit(-) omvormer Marstek: 1356 W tot: 2026-01-13 23:16 2026-01-13 23:00:00 info: Balanceren: False tot: 2026-01-13 23:16 2026-01-13 23:00:00 info: Vermogen uit batterij: -2279W 2026-01-13 23:00:00 info: Vermogen dat binnenkomt van pv: 0W 2026-01-13 23:00:00 info: Vermogen dat binnenkomt van ac: 2279W 2026-01-13 23:00:00 info: Waarde SoC na eerste uur: 55.5%
Als ik een paar minuten later handmatig een berekening start pakt hij wel de hogere waarde:code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66"charge stages": [ { "efficiency": 1, "power": 0 }, { "efficiency": 0.7095, "power": 300 }, { "efficiency": 0.7789, "power": 400 }, { "efficiency": 0.8273, "power": 500 }, { "efficiency": 0.8576, "power": 600 }, { "efficiency": 0.9041, "power": 900 }, { "efficiency": 0.9197, "power": 1100 }, { "efficiency": 0.9298, "power": 1300 }, { "efficiency": 0.9365, "power": 1500 }, { "efficiency": 0.9416, "power": 1700 }, { "efficiency": 0.944, "power": 1900 }, { "efficiency": 0.946, "power": 2100 }, { "efficiency": 0.9471, "power": 2200 }, { "efficiency": 0.9485, "power": 2300 }, { "efficiency": 0.949, "power": 2400 }, { "efficiency": 0.9482, "power": 2500 } ],
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178Home Run Reports Savings Solar Config Voer een bewerking, berekening of actie uit door een van onderstaande onderdelen aan te klikken Optimaliseringsberekening met debug Optimaliseringsberekening zonder debug Verbruiksgegevens bij Tibber ophalen Meteoprognoses ophalen Day ahead prijzen ophalen prijzen_start jjjj-mm-dd prijzen_tot jjjj-mm-dd Bereken de baseloads ML modellen trainen Logging van bewerking "Optimaliseringsberekening zonder debug": 2026-01-13 23:03:45 info: Day Ahead Optimalisering versie: 2026.01.0.rc6 2026-01-13 23:03:45 info: Day Ahead Optimalisering gestart op: 13-01-2026 23:03:45 2026-01-13 23:03:45 info: Day Ahead Optimalisatie gestart: 13-01-2026 23:03:45 taak: calc_optimum 2026-01-13 23:03:45 info: Debug = False 2026-01-13 23:03:46 info: Zelf berekende baseload 2026-01-13 23:03:46 info: ML prediction Growatt date_time prediction 0 2026-01-13 23:00:00+01:00 0.007 1 2026-01-14 00:00:00+01:00 0.007 2 2026-01-14 01:00:00+01:00 0.000 3 2026-01-14 02:00:00+01:00 0.000 4 2026-01-14 03:00:00+01:00 0.000 5 2026-01-14 04:00:00+01:00 0.000 6 2026-01-14 05:00:00+01:00 0.000 7 2026-01-14 06:00:00+01:00 0.000 8 2026-01-14 07:00:00+01:00 0.000 9 2026-01-14 08:00:00+01:00 0.000 10 2026-01-14 09:00:00+01:00 0.216 11 2026-01-14 10:00:00+01:00 1.111 12 2026-01-14 11:00:00+01:00 2.130 13 2026-01-14 12:00:00+01:00 2.074 14 2026-01-14 13:00:00+01:00 1.826 15 2026-01-14 14:00:00+01:00 1.506 16 2026-01-14 15:00:00+01:00 0.763 17 2026-01-14 16:00:00+01:00 0.063 18 2026-01-14 17:00:00+01:00 0.000 19 2026-01-14 18:00:00+01:00 0.000 20 2026-01-14 19:00:00+01:00 0.000 21 2026-01-14 20:00:00+01:00 0.000 22 2026-01-14 21:00:00+01:00 0.000 23 2026-01-14 22:00:00+01:00 0.000 2026-01-13 23:03:46 info: Start waarden: uur tijd spot p_l p_t base pv_ac pv_dc 0 23:00 2026-01-13 23:00:00 0.082 0.231 0.233 4.028 0.007 0 1 00:00 2026-01-14 00:00:00 0.086 0.234 0.236 -2.446 0.007 0 2 01:00 2026-01-14 01:00:00 0.084 0.233 0.235 -0.260 0.000 0 3 02:00 2026-01-14 02:00:00 0.086 0.235 0.237 0.808 0.000 0 4 03:00 2026-01-14 03:00:00 0.086 0.235 0.237 2.765 0.000 0 5 04:00 2026-01-14 04:00:00 0.088 0.237 0.239 0.908 0.000 0 6 05:00 2026-01-14 05:00:00 0.090 0.239 0.241 -0.615 0.000 0 7 06:00 2026-01-14 06:00:00 0.093 0.244 0.246 0.002 0.000 0 8 07:00 2026-01-14 07:00:00 0.105 0.257 0.259 -1.204 0.000 0 9 08:00 2026-01-14 08:00:00 0.128 0.286 0.288 -0.421 0.000 0 10 09:00 2026-01-14 09:00:00 0.130 0.288 0.290 0.342 0.216 0 11 10:00 2026-01-14 10:00:00 0.115 0.270 0.272 0.373 1.111 0 12 11:00 2026-01-14 11:00:00 0.103 0.256 0.258 0.383 2.130 0 13 12:00 2026-01-14 12:00:00 0.098 0.249 0.251 0.890 2.074 0 14 13:00 2026-01-14 13:00:00 0.100 0.252 0.254 0.753 1.826 0 15 14:00 2026-01-14 14:00:00 0.114 0.269 0.271 0.477 1.506 0 16 15:00 2026-01-14 15:00:00 0.138 0.298 0.300 0.560 0.763 0 17 16:00 2026-01-14 16:00:00 0.148 0.310 0.312 0.576 0.063 0 18 17:00 2026-01-14 17:00:00 0.193 0.365 0.367 0.522 0.000 0 19 18:00 2026-01-14 18:00:00 0.181 0.350 0.352 0.458 0.000 0 20 19:00 2026-01-14 19:00:00 0.158 0.322 0.324 0.377 0.000 0 21 20:00 2026-01-14 20:00:00 0.130 0.288 0.290 0.384 0.000 0 22 21:00 2026-01-14 21:00:00 0.100 0.252 0.254 0.356 0.000 0 23 22:00 2026-01-14 22:00:00 0.092 0.243 0.245 0.622 0.000 0 24 23:00 2026-01-14 23:00:00 0.092 0.242 0.244 0.511 0.000 0 2026-01-13 23:03:47 info: No reduced hours applied for Marstek 2026-01-13 23:03:47 info: Startwaarde SoC Marstek: 13.0% 2026-01-13 23:03:47 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2026-01-13 23:03:47 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland 2026-01-13 23:03:47 info: Strategie: minimale kosten 2026-01-13 23:03:47 info: Maximale fout (maximal gap): 0.005000 euro 2026-01-13 23:03:47 info: Rekentijd: 0.10 sec 2026-01-13 23:03:47 info: Het programma heeft een optimale oplossing gevonden. 2026-01-13 23:03:47 info: Laad volume in uur 0 23:00 0.0 kWh 2026-01-13 23:03:47 info: 14 0.5229278794402717 2.4 2026-01-13 23:03:47 info: 15 0.4770721205597282 2.5 2026-01-13 23:03:47 info: Laad volume in uur 2 01:00 0.0 kWh 2026-01-13 23:03:47 info: 14 1.0 2.4 2026-01-13 23:03:47 info: Ontlaad volume in uur 18 17:00 2.13604928962385 kWh 2026-01-13 23:03:47 info: 11 0.3197535518807504 2.0 2026-01-13 23:03:47 info: 12 0.6802464481192496 2.2 2026-01-13 23:03:47 info: Ontlaad volume in uur 19 18:00 1.7597980799999995 kWh 2026-01-13 23:03:47 info: 10 0.9776655999999997 1.8 2026-01-13 23:03:47 info: In- en uitgaande energie per uur batterij Marstek uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 23:00 2.29 94.86 2.18 0.00 2.18 100.00 2.18 94.86 55.52 00:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 55.52 01:00 2.40 94.90 2.28 0.00 2.28 100.00 2.28 94.90 100.00 02:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 03:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 04:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 05:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 06:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 07:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 08:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 09:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 10:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 11:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 12:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 13:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 14:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 15:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 16:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 17:00 -2.14 85.44 -2.50 0.00 -2.50 100.00 -2.50 85.44 51.17 18:00 -1.76 85.56 -2.06 0.00 -2.06 100.00 -2.06 85.56 11.00 19:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.00 Totaal 0.80 -- -0.10 0.00 -0.10 -- -0.10 -- 2026-01-13 23:03:47 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 23:00 2.29 0.00 6.06 0.00 4.03 0.00 0.00 0.00 0.01 1.40 -0.00 20.00 00:00 0.00 0.00 0.00 2.45 -2.45 0.00 0.00 0.00 0.01 0.00 -0.58 20.00 01:00 2.40 0.00 2.14 0.00 -0.26 0.00 0.00 0.00 0.00 0.50 -0.00 20.00 02:00 0.00 0.00 0.81 0.00 0.81 0.00 0.00 0.00 0.00 0.19 -0.00 20.00 03:00 0.00 0.00 2.76 0.00 2.77 0.00 0.00 0.00 0.00 0.65 -0.00 20.00 04:00 0.00 0.00 0.91 0.00 0.91 0.00 0.00 0.00 0.00 0.22 -0.00 20.00 05:00 0.00 0.00 0.00 0.62 -0.61 0.00 0.00 0.00 0.00 0.00 -0.15 20.00 06:00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 07:00 0.00 0.00 0.00 1.20 -1.20 0.00 0.00 0.00 0.00 0.00 -0.31 20.00 08:00 0.00 0.00 0.00 0.42 -0.42 0.00 0.00 0.00 0.00 0.00 -0.12 20.00 09:00 0.00 0.00 0.13 0.00 0.34 0.00 0.00 0.00 0.22 0.04 -0.00 20.00 10:00 0.00 0.00 0.00 0.74 0.37 0.00 0.00 0.00 1.11 0.00 -0.20 20.00 11:00 0.00 0.00 0.00 1.75 0.38 0.00 0.00 0.00 2.13 0.00 -0.45 20.00 12:00 0.00 0.00 0.00 1.18 0.89 0.00 0.00 0.00 2.07 0.00 -0.30 20.00 13:00 0.00 0.00 0.00 1.07 0.75 0.00 0.00 0.00 1.83 0.00 -0.27 20.00 14:00 0.00 0.00 0.00 1.03 0.48 0.00 0.00 0.00 1.51 0.00 -0.28 20.00 15:00 0.00 0.00 0.00 0.20 0.56 0.00 0.00 0.00 0.76 0.00 -0.06 20.00 16:00 0.00 0.00 0.51 0.00 0.58 0.00 0.00 0.00 0.06 0.16 -0.00 20.00 17:00 0.00 2.14 0.00 1.61 0.52 0.00 0.00 0.00 0.00 0.00 -0.59 20.00 18:00 0.00 1.76 0.00 1.30 0.46 0.00 0.00 0.00 0.00 0.00 -0.46 20.00 19:00 0.00 0.00 0.38 0.00 0.38 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 20:00 0.00 0.00 0.38 0.00 0.38 0.00 0.00 0.00 0.00 0.11 -0.00 20.00 21:00 0.00 0.00 0.36 0.00 0.36 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 22:00 0.00 0.00 0.62 0.00 0.62 0.00 0.00 0.00 0.00 0.15 -0.00 20.00 23:00 0.00 0.00 0.51 0.00 0.51 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 Totaal 4.69 3.90 15.58 13.58 11.15 0.00 0.00 0.00 9.70 3.74 -3.77 2026-01-13 23:03:47 info: Consumption 15.58 (kWh) 2026-01-13 23:03:47 info: Cost consumption 3.74 (€) 2026-01-13 23:03:47 info: Tariff consumption 0.240 (€/kWh) 2026-01-13 23:03:47 info: Production 13.58 (kWh) 2026-01-13 23:03:47 info: Profit production -3.77 (€) 2026-01-13 23:03:47 info: Tariff production 0.278 (€/kWh) 2026-01-13 23:03:47 info: Calculation profit after optimize in € Cost before optimize 0.34 Cost consumption 3.74 Cycle cost 0.11 Penalty cost 0.00 Battery storage 0.02 Boiler storage 0.00 Profit production -3.77 Total 0.10 Cost after optimize 0.10 Profit: 0.24 2026-01-13 23:03:47 info: Doorzetten van alle settings naar HA 2026-01-13 23:03:47 info: Grid set point: 6469.0 W 2026-01-13 23:03:47 info: Cycle cost Marstek: 0.11 euro 2026-01-13 23:03:47 info: Netto vermogen naar(+)/uit(-) omvormer Marstek: 2447 W 2026-01-13 23:03:47 info: Balanceren: False 2026-01-13 23:03:47 info: Vermogen uit batterij: -2321W 2026-01-13 23:03:47 info: Vermogen dat binnenkomt van pv: 0W 2026-01-13 23:03:47 info: Vermogen dat binnenkomt van ac: 2321W 2026-01-13 23:03:47 info: Waarde SoC na eerste uur: 55.5% © 2026: Apache 2.0 Day Ahead Optimizer version: 2026.01.0.rc6
[ Voor 46% gewijzigd door Mirabis op 13-01-2026 23:05 ]
1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Zonneplan, 3x25A, Easee Charge Lite | EV 98kWh
Alle sensoren die je invult moeten in kWh rapporteren.The Source schreef op dinsdag 13 januari 2026 @ 21:24:
Ik ben het 'report' deel aan het invullen zodat mijn base load opgehaald kan worden. Mijn beginners vragen:
- Ik heb bij machine consumption het energie verbruik in kWh van mijn airco ingevuld, is dat ok? Of is machine ergens anders voor?
- De waterpomp daar heb ik zowel de 3 fase (verwarmen) als de 1 fase (legionelle) in kWh ingevuld, is dat ook ok? Deze heb ik nog niet bij heating ingevuld kan dat? Het geeft geen fout.
- Solar wordt weer in Watt ingevuld, beetje verwarrend omdat bovenstaande in kWh staat en deze in watt, klopt dit? Want de solar AC heb ik enkel in kWh en niet in Watt.
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28"report": { "entities grid consumption": [ "sensor.p1_meter_3c39e7276316_total_power_import_t1", "sensor.p1_meter_3c39e7276316_total_power_import_t2" ], "entities grid production": [ "sensor.p1_meter_3c39e7276316_total_power_export_t1", "sensor.p1_meter_3c39e7276316_total_power_export_t2" ], "entities solar production ac": [], "entities solar production dc": [ "sensor.solaredge_i1_ac_energy", "sensor.deye_pv1_power", "sensor.deye_pv2_power" ], "entities ev consumption" : [], "entities wp consumption" : [ "sensor.power_ecodan_3p_energy", "sensor.power_ecodan_1p_energy" ], "entities boiler consumption": [], "entities machine consumption": [ "sensor.power_airco_kantoor_energy", "sensor.power_airco_ramie_energy" ], "entities battery consumption": [], "entities battery production": []
Ik weet dat HA dat netjes voor je oplost in het energy-dashboard, maar DAO is nog niet zo slim
Desnoods maak je in HA een template sensor aan die Wh omzet naar kWh. Als je vermogens sensoren hebt (in Watt) dan moet je deze in HA omzetten naar volume (in kWh) met de Riemann-integratie van HA.
Verder moeten het sensoren zijn met oplopende energiestanden (dezelfde soort sensoren die je ook gebruikt in het energy-dashboard van HA).
Bij machines vul je de sensoren in die het verbruik van je DAO-machines opvolgen, dus meestal zijn dat een vaatwasser, wasmachine, wasdroger dat soort dingen.
De solaredge omvormer is een ac-gebonden omvormer en die vul je in bij "entities solar production ac"
Warmtepomp lijkt me prima.
Die airco's zijn eigenlijk warmtepompen en horen daar dus thuis.
Als je ze aanstuurt als "machine" staan ze nu goed.
Als je ze aanstuurt als warmtepomp dan verhuizen naar de wp.
Als je ze niet aanstuurt met DAO: dan niet opnemen in dit overzicht en dan verhuizen ze automatisch naar de baseload.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Goed dat je het hebt getest.Mirabis schreef op dinsdag 13 januari 2026 @ 23:03:
[...]
Hmm het gaat nog niet helemaal goed. Het maakte zojuist de keuze voor 1382W terwijl eerdere logging 94.90 efficientie aangaf wat duidt op power=2400W.
[...]
charge stages (min:500 elders geconfigureerd):
[...]
Als ik een paar minuten later handmatig een berekening start pakt hij wel de hogere waarde:
[...]
Ik kon de geconstateerde fout hier nadoen en oplossen (ik had gelukkig jouw setup hier nog ergens geparkeerd).
Er komt binnenkort (toch nog) een nieuwe rc.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Changelog:
- Updated several python packages
- Update README.md, link to wiki: https://github.com/corneel27/day-ahead/wiki
- Implemented check op AWS (only AWS stations have irradiance data, reported by @steynovich)
- Fix error calculating charge-power "new style" (reported by @Mirabis )
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
/f/image/yAeng7U724G6EbZkheb53P0N.png?f=fotoalbum_large)
/f/image/zF12Do1krG8tuVpbl1p6mVHg.png?f=fotoalbum_large)