Bij mij doet hij het er op een Rpi 4 direct in homeassistant 1 seconde over. Wellicht kun je de max gap wat hoger zetten -> "max_gap": 0.005, zo staat hij bij mij.mgroen81 schreef op maandag 13 april 2026 @ 19:30:
Na de update van 3.2 naar 4.0 en hogen is de rekentijd toegenomen van ongeveer 20-30 seconde naar 300 seconde. Zijn er meer die dit ervaren?
Verder is er in mijn config niets veranderd. Wat zou ik hier aan kunnen doen?
ja mijn idee ook, waarom zou je de warmteverliezen van de woning (=opwek warmtepomp) samen met de buitentemperaturen niet meenemen in de ML en berekeningen?Lasoul schreef op maandag 13 april 2026 @ 12:49:
[...]
Dat snap ik maar het zou ook goed ingezet kunnen worden voor bijvoorbeeld een warmtepomp. Het verbruik van de warmtepomp is afhankelijk van de buitentemperatuur en het warmteverlies van de woning. Daar zou je prima een ml model op kunnen trainen en is niet anders dan PV opwek of windenergie.
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Bedankt voor de tip. Ik zie deze setting nu voor het eerst.pimNH schreef op maandag 13 april 2026 @ 20:43:
[...]
Bij mij doet hij het er op een Rpi 4 direct in homeassistant 1 seconde over. Wellicht kun je de max gap wat hoger zetten -> "max_gap": 0.005, zo staat hij bij mij.
Ik gebruik een odroid N2+ dus vergelijkbaar met rpi4. Iet krachtiger misschien zelfds.
edit: is niet de oplossing.
[ Voor 3% gewijzigd door mgroen81 op 13-04-2026 22:06 ]
Mitsubishi PUHZ-W50VHA + EHPT20X-VM2C / 30x JASolar 265Wp oost/west + SolarEdge 7K
Ik vrees dat voor jou de self-complied mip-binaries ook niet gaan werken.balk schreef op maandag 13 april 2026 @ 15:42:
Ik krijg use_self_compiled_miplib niet werkend.
Compileren gaat goed:
[...]
Model trainen lijkt ook goed te gaan:
[...]
maar wanneer ik daarna een run doe krijg ik fouten:
[...]
weet iemand wat hier mis gaat?
edit:
"logging_level": "debug" geeft geen duidelijkere info. Ik gebruik een VM op Proxmox.
Er heeft laatst iemand een issue op github aangemaakt met een VM op Proxmox.
Misschien zelf even opzoeken in de "closed" issues.
Hij heeft uiteindelijk zelf een oplossing gevonden door in de VM de processor op "host" te zetten.
Als de de zelf compiled binaries niet meer wilt gebruiken moet je "de knop omzetten en de map "miplib" uit je config-map verwijderen.
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
Drie wintermaanden zijn wel erg weinig voor het trainen van je ml-model(len).konehead schreef op maandag 13 april 2026 @ 09:06:
Voordat ik allerlei logging ga posten: Ik heb vanaf 1 nov zondata in mijn database. Ik zie 'zo zo' resultaten met het ML model voor voorspellingen. Ik dacht gelezen te hebben dat je minimaal 3 maanden aan zondata moet hebben (en liever 12). Voor vandaag is de DAO prognose 6 KWh en ML 10 KWh. Wat zijn jullie ervaringen qua lengte historische data? Moet ik nog even wachten met ML totdat ik meer historie heb?
Het gaat beter als er data van meer seizoenen (liefst zomer en winter) bij betrokken zijn en nog beter als je minimaal een jaar aan data hebt.
Als je drie jaar aan data hebt werkt het (bij mij) perfect.
Maar ..
je blijft afhankelijk van de stralingsvoorspelling. Vandaag was bij mij (net als bij jou) de voorspelling 6 kWh en de productie 10 kWh. Een paar wolkjes minder (of later) kan veel verschil maken.
[ Voor 11% gewijzigd door KC27 op 13-04-2026 22:45 ]
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
Er is een testversie gepubliceerd: 2026.4.3.rc1
Dit staat er in de changelog:
Je kunt dan met de editor in het dashboard alsnog je wijzigingen aanbrengen.
@Dogooder heeft een fraaie date/time picker toegevoegd aan het Home-menu:
/f/image/ZEbiEunWnFeNnqFlG6elhCYx.png?f=fotoalbum_large)
Veel dank daarvoor!
Graag testen, als het goed bevalt kunnen we deze versie snel doorzetten naar "productie".
Dit staat er in de changelog:
Changes
- Added flatpickr datetime picker in Home-menu (PR from @Dogooder )Fixes
- changed ev-ampere from integer to float
- Skip NaN values when persisting DB records
- Fix startup issue (PR from @simnet)
Je kunt dan met de editor in het dashboard alsnog je wijzigingen aanbrengen.
@Dogooder heeft een fraaie date/time picker toegevoegd aan het Home-menu:
/f/image/ZEbiEunWnFeNnqFlG6elhCYx.png?f=fotoalbum_large)
Veel dank daarvoor!
Graag testen, als het goed bevalt kunnen we deze versie snel doorzetten naar "productie".
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
Ik zag het zelf ook gistermiddag vanaf 13:00 uur.mgroen81 schreef op maandag 13 april 2026 @ 19:30:
Na de update van 3.2 naar 4.0 en hogen is de rekentijd toegenomen van ongeveer 20-30 seconde naar 300 seconde. Zijn er meer die dit ervaren?
Verder is er in mijn config niets veranderd. Wat zou ik hier aan kunnen doen?
Ik denk dat het een combinatie is van "weinig spreiding in de prijzen", laag verbruik van de wp.
Als ik de wp even "uit" zet dan gaat de berekening een factor 10 sneller.
Mijn ervaring is wel dat de binaries die met de laatste versie van mip zijn meegekomen sneller zijn dan de oude binaries.
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
Ik ben ook met DAO aan de slag gegaan. Heb voorlopig EVCC de deur uit gedaan en heb Tibber maar gewoon losgelaten op de Laadpalen voor wat Grid Rewards. De batterij ben ik nu aan het proberen aan te sturen met DAO. Maar heb de EV's voorlopig nog wel uit de DAO berekeningen gelaten, aangezien voor de Grid Rewards ik Tibber de controle moet geven. Ik hoop dat het niet al te veel problemen gaat geven maar ik zal jullie op de hoogte houden. EVCC is mooie software maar speelde een te complexe rol in dit hele verhaal + is zo erg gefocust op zon terwijl wij overdag werken dus de zon helaas niet echt kunnen gebruiken om mee te laden behalve voor de accu's.
Onlangs heb ik bij mijn zwager een 20kWh accu systeem geinstalleerd en uiteraard aan laten sturen met DAO op een HA Green. De rekentijd was voor de update met een max_gap van default 0,005 circa 2 minuten. Door de max_gap via een HA entiteit instelbaar te maken en deze te brengen naar 0,1 is de tijd aanzienlijk korter geworden: 3 seconden. Geen verschil in de winst.mgroen81 schreef op maandag 13 april 2026 @ 19:30:
Na de update van 3.2 naar 4.0 en hogen is de rekentijd toegenomen van ongeveer 20-30 seconde naar 300 seconde. Zijn er meer die dit ervaren?
Verder is er in mijn config niets veranderd. Wat zou ik hier aan kunnen doen?
Update 13:30u: na het ophalen van de prijzen helaas weer 300s rekentijd nodig
[ Voor 5% gewijzigd door tonvanboven op 14-04-2026 13:31 ]
Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001
Hoe wil DAO de waardes hebben? Ik heb namelijk een aantal waardes die per week of per dag resetten. Ik doel hier voornamelijk mee op de waardes van bijvoorbeeld PV:
/f/image/f1L8LKtcCcyPGAmPyOXafpQf.png?f=fotoalbum_large)
Ik zit al te kijken of ik op de een of andere manier deze waarde kan laten doorlopen door een Home Assistant helper. Want ik weet anders geen raad hiermee.
/f/image/f1L8LKtcCcyPGAmPyOXafpQf.png?f=fotoalbum_large)
Ik zit al te kijken of ik op de een of andere manier deze waarde kan laten doorlopen door een Home Assistant helper. Want ik weet anders geen raad hiermee.
Thx, helaas in Nov een DB crash gehad met HA.. all mijn zon data weg, Ik ga het proberen met ML. vandaag: Productie: 17 KWh, DAO: 14.2 KWh, ML 21.. best wel wat overfitting, maar is einde dag. Tot 15h volgt ML de productie prima.. (dan is mijn accu toch al vol).KC27 schreef op maandag 13 april 2026 @ 22:42:
[...]
Drie wintermaanden zijn wel erg weinig voor het trainen van je ml-model(len).
Het gaat beter als er data van meer seizoenen (liefst zomer en winter) bij betrokken zijn en nog beter als je minimaal een jaar aan data hebt.
Als je drie jaar aan data hebt werkt het (bij mij) perfect.
Maar ..
je blijft afhankelijk van de stralingsvoorspelling. Vandaag was bij mij (net als bij jou) de voorspelling 6 kWh en de productie 10 kWh. Een paar wolkjes minder (of later) kan veel verschil maken.
Ik denk dat het me gelukt is om het werkend te krijgen. Gemini adviseerde me om het volgende te doenKC27 schreef op maandag 13 april 2026 @ 22:39:
[...]
Ik vrees dat voor jou de self-complied mip-binaries ook niet gaan werken.
Er heeft laatst iemand een issue op github aangemaakt met een VM op Proxmox.
Misschien zelf even opzoeken in de "closed" issues.
Hij heeft uiteindelijk zelf een oplossing gevonden door in de VM de processor op "host" te zetten.
Als de de zelf compiled binaries niet meer wilt gebruiken moet je "de knop omzetten en de map "miplib" uit je config-map verwijderen.
* CPU type "host" (had ik al)
* architecture q35 (hielp niet)
* compileer met CXXFLAGS="-O2 -march=x86-64-v2 -pipe" ipv -march=native -O3
Ik denk dat dat laatste ook gelukt is door in de docker te bashen, build_miplib.sh aan te passen en dan opnieuw te draaien. Hierna geen foutmeldingen maar ik weet niet zeker of de custom miplib wordt gebruikt. Is er een manier om te zien welke lib gebruikt wordt?
Dit was wel een behoorlijke omweg, en niet persistent. Is het misschien mogelijk om CXXFLAGS aan te gaan passen via een config?
====
hmm, nu toch weer een foutmelding.
Ik simuleer een hybride batterij en zie dat DAO af en toe rendement berekent als dat niet relevant is (en dan ook niet klopt), bijvoorbeeld deze ochtend. Om 8.30 uur wordt er een beetje energie opgewekt en teruggeleverd aan het net. Er wordt geen rendement van de batterij getoond en dat lijkt me correct.
Om 9.00 is er nog dezelfde situatie en wordt een batterijrendement van 105,26% getoond. Dat lijkt me niet correct. Om 9.45 wordt energie naar de batterij gestuurd en wijzigt het rendement naar 95% (correct).
De rest van de berekeningen lijken te kloppen. Het is alleen deze kolom. Ik heb er verder geen last van.
:strip_exif()/f/image/7sD2pMcFj4OFkBK4AK4Ui1U4.jpg?f=fotoalbum_large)
Om 9.00 is er nog dezelfde situatie en wordt een batterijrendement van 105,26% getoond. Dat lijkt me niet correct. Om 9.45 wordt energie naar de batterij gestuurd en wijzigt het rendement naar 95% (correct).
De rest van de berekeningen lijken te kloppen. Het is alleen deze kolom. Ik heb er verder geen last van.
:strip_exif()/f/image/7sD2pMcFj4OFkBK4AK4Ui1U4.jpg?f=fotoalbum_large)
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 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 4472026-04-15 08:30:00 info: Day Ahead Optimalisering versie: 2026.04.0.rc3 2026-04-15 08:30:00 info: Day Ahead Optimalisering gestart op: 15-04-2026 08:30:00 2026-04-15 08:30:00 info: Day Ahead Optimalisatie gestart: 15-04-2026 08:30:00 taak: calc_optimum 2026-04-15 08:30:00 info: Debug = False 2026-04-15 08:30:00 info: Baseload uit instellingen 2026-04-15 08:30:00 info: ML prediction string4enNoord date_time prediction 0 2026-04-15 08:00:00+02:00 0.186 1 2026-04-15 09:00:00+02:00 0.562 2 2026-04-15 10:00:00+02:00 1.237 3 2026-04-15 11:00:00+02:00 1.788 4 2026-04-15 12:00:00+02:00 2.084 5 2026-04-15 13:00:00+02:00 1.685 6 2026-04-15 14:00:00+02:00 1.865 7 2026-04-15 15:00:00+02:00 1.996 8 2026-04-15 16:00:00+02:00 1.818 9 2026-04-15 17:00:00+02:00 1.557 10 2026-04-15 18:00:00+02:00 0.944 11 2026-04-15 19:00:00+02:00 0.245 12 2026-04-15 20:00:00+02:00 0.004 13 2026-04-15 21:00:00+02:00 0.004 14 2026-04-15 22:00:00+02:00 0.002 15 2026-04-15 23:00:00+02:00 0.002 2026-04-15 08:30:00 info: ML prediction Envoy date_time prediction 0 2026-04-15 08:00:00+02:00 0.160 1 2026-04-15 09:00:00+02:00 0.347 2 2026-04-15 10:00:00+02:00 0.427 3 2026-04-15 11:00:00+02:00 0.420 4 2026-04-15 12:00:00+02:00 0.411 5 2026-04-15 13:00:00+02:00 0.450 6 2026-04-15 14:00:00+02:00 0.446 7 2026-04-15 15:00:00+02:00 0.434 8 2026-04-15 16:00:00+02:00 0.410 9 2026-04-15 17:00:00+02:00 0.460 10 2026-04-15 18:00:00+02:00 0.457 11 2026-04-15 19:00:00+02:00 0.120 12 2026-04-15 20:00:00+02:00 0.008 13 2026-04-15 21:00:00+02:00 0.008 14 2026-04-15 22:00:00+02:00 0.008 15 2026-04-15 23:00:00+02:00 0.009 2026-04-15 08:30:01 info: ML prediction string1 date_time prediction 0 2026-04-15 08:00:00+02:00 0.425 1 2026-04-15 09:00:00+02:00 0.411 2 2026-04-15 10:00:00+02:00 1.844 3 2026-04-15 11:00:00+02:00 2.268 4 2026-04-15 12:00:00+02:00 2.525 5 2026-04-15 13:00:00+02:00 1.837 6 2026-04-15 14:00:00+02:00 1.810 7 2026-04-15 15:00:00+02:00 1.563 8 2026-04-15 16:00:00+02:00 1.756 9 2026-04-15 17:00:00+02:00 1.421 10 2026-04-15 18:00:00+02:00 0.704 11 2026-04-15 19:00:00+02:00 0.087 12 2026-04-15 20:00:00+02:00 0.001 13 2026-04-15 21:00:00+02:00 0.001 14 2026-04-15 22:00:00+02:00 0.001 15 2026-04-15 23:00:00+02:00 0.001 2026-04-15 08:30:01 info: ML prediction string2en3 date_time prediction 0 2026-04-15 08:00:00+02:00 0.267 1 2026-04-15 09:00:00+02:00 0.411 2 2026-04-15 10:00:00+02:00 1.024 3 2026-04-15 11:00:00+02:00 1.928 4 2026-04-15 12:00:00+02:00 2.088 5 2026-04-15 13:00:00+02:00 1.485 6 2026-04-15 14:00:00+02:00 1.556 7 2026-04-15 15:00:00+02:00 1.556 8 2026-04-15 16:00:00+02:00 1.537 9 2026-04-15 17:00:00+02:00 1.144 10 2026-04-15 18:00:00+02:00 0.560 11 2026-04-15 19:00:00+02:00 0.109 12 2026-04-15 20:00:00+02:00 0.000 13 2026-04-15 21:00:00+02:00 0.001 14 2026-04-15 22:00:00+02:00 0.001 15 2026-04-15 23:00:00+02:00 0.001 2026-04-15 08:30:01 info: Start waarden: uur tijd spot p_l p_t base pv_ac pv_dc 0 08:30 2026-04-15 08:30:00 0.136 0.312 0.164 0.050 0.104 0.177 1 08:45 2026-04-15 08:45:00 0.114 0.286 0.138 0.050 0.139 0.185 2 09:00 2026-04-15 09:00:00 0.130 0.305 0.157 0.052 0.172 0.163 3 09:15 2026-04-15 09:15:00 0.122 0.295 0.148 0.052 0.207 0.171 4 09:30 2026-04-15 09:30:00 0.109 0.279 0.132 0.052 0.242 0.180 5 09:45 2026-04-15 09:45:00 0.103 0.272 0.125 0.045 0.289 0.307 6 10:00 2026-04-15 10:00:00 0.126 0.300 0.152 0.033 0.349 0.536 7 10:15 2026-04-15 10:15:00 0.095 0.263 0.115 0.027 0.396 0.664 8 10:30 2026-04-15 10:30:00 0.084 0.250 0.102 0.020 0.443 0.792 9 10:45 2026-04-15 10:45:00 0.074 0.237 0.089 0.020 0.477 0.875 10 11:00 2026-04-15 11:00:00 0.088 0.254 0.107 0.023 0.505 0.939 11 11:15 2026-04-15 11:15:00 0.075 0.239 0.091 0.023 0.539 1.022 12 11:30 2026-04-15 11:30:00 0.064 0.225 0.077 0.023 0.573 1.105 13 11:45 2026-04-15 11:45:00 0.049 0.207 0.059 0.030 0.591 1.131 14 12:00 2026-04-15 12:00:00 0.060 0.221 0.073 0.044 0.607 1.141 15 12:15 2026-04-15 12:15:00 0.050 0.208 0.061 0.050 0.625 1.167 16 12:30 2026-04-15 12:30:00 0.048 0.205 0.057 0.056 0.643 1.193 17 12:45 2026-04-15 12:45:00 0.042 0.199 0.051 0.050 0.620 1.112 18 13:00 2026-04-15 13:00:00 0.041 0.197 0.050 0.031 0.559 0.931 19 13:15 2026-04-15 13:15:00 0.041 0.197 0.049 0.025 0.537 0.850 20 13:30 2026-04-15 13:30:00 0.042 0.198 0.051 0.019 0.514 0.769 21 13:45 2026-04-15 13:45:00 0.046 0.203 0.056 0.025 0.525 0.772 22 14:00 2026-04-15 14:00:00 0.035 0.190 0.042 0.044 0.562 0.842 23 14:15 2026-04-15 14:15:00 0.053 0.212 0.065 0.050 0.573 0.845 24 14:30 2026-04-15 14:30:00 0.064 0.225 0.077 0.056 0.584 0.847 25 14:45 2026-04-15 14:45:00 0.075 0.239 0.091 0.050 0.591 0.832 26 15:00 2026-04-15 15:00:00 0.057 0.216 0.069 0.033 0.601 0.796 27 15:15 2026-04-15 15:15:00 0.066 0.228 0.080 0.027 0.609 0.781 28 15:30 2026-04-15 15:30:00 0.075 0.238 0.091 0.020 0.616 0.765 29 15:45 2026-04-15 15:45:00 0.084 0.250 0.102 0.020 0.604 0.776 30 16:00 2026-04-15 16:00:00 0.075 0.238 0.090 0.019 0.576 0.821 31 16:15 2026-04-15 16:15:00 0.085 0.251 0.103 0.019 0.564 0.832 32 16:30 2026-04-15 16:30:00 0.092 0.260 0.112 0.019 0.551 0.843 33 16:45 2026-04-15 16:45:00 0.098 0.267 0.119 0.044 0.538 0.797 34 17:00 2026-04-15 17:00:00 0.096 0.264 0.117 0.094 0.530 0.718 35 17:15 2026-04-15 17:15:00 0.105 0.274 0.127 0.119 0.517 0.673 36 17:30 2026-04-15 17:30:00 0.117 0.289 0.141 0.144 0.504 0.627 37 17:45 2026-04-15 17:45:00 0.127 0.301 0.153 0.144 0.465 0.546 38 18:00 2026-04-15 18:00:00 0.115 0.286 0.139 0.130 0.415 0.434 39 18:15 2026-04-15 18:15:00 0.122 0.295 0.147 0.130 0.376 0.353 40 18:30 2026-04-15 18:30:00 0.134 0.309 0.162 0.130 0.338 0.272 41 18:45 2026-04-15 18:45:00 0.149 0.328 0.180 0.111 0.273 0.205 42 19:00 2026-04-15 19:00:00 0.146 0.325 0.177 0.073 0.178 0.136 43 19:15 2026-04-15 19:15:00 0.161 0.343 0.195 0.055 0.113 0.069 44 19:30 2026-04-15 19:30:00 0.165 0.348 0.200 0.036 0.048 0.008 45 19:45 2026-04-15 19:45:00 0.190 0.378 0.230 0.036 0.026 0.001 46 20:00 2026-04-15 20:00:00 0.189 0.376 0.228 0.052 0.031 0.015 47 20:15 2026-04-15 20:15:00 0.178 0.362 0.215 0.052 0.009 0.003 48 20:30 2026-04-15 20:30:00 0.172 0.356 0.209 0.052 0.000 0.000 49 20:45 2026-04-15 20:45:00 0.152 0.332 0.184 0.045 0.000 0.000 50 21:00 2026-04-15 21:00:00 0.166 0.349 0.201 0.033 0.003 0.000 51 21:15 2026-04-15 21:15:00 0.147 0.325 0.178 0.027 0.003 0.000 52 21:30 2026-04-15 21:30:00 0.140 0.317 0.169 0.020 0.003 0.000 53 21:45 2026-04-15 21:45:00 0.126 0.300 0.152 0.020 0.003 0.000 54 22:00 2026-04-15 22:00:00 0.140 0.318 0.170 0.025 0.003 0.000 55 22:15 2026-04-15 22:15:00 0.133 0.308 0.160 0.025 0.003 0.000 56 22:30 2026-04-15 22:30:00 0.127 0.301 0.153 0.025 0.003 0.000 57 22:45 2026-04-15 22:45:00 0.123 0.297 0.149 0.025 0.003 0.000 58 23:00 2026-04-15 23:00:00 0.130 0.305 0.157 0.025 0.003 0.000 59 23:15 2026-04-15 23:15:00 0.121 0.294 0.146 0.025 0.003 0.000 60 23:30 2026-04-15 23:30:00 0.112 0.284 0.136 0.025 0.003 0.000 61 23:45 2026-04-15 23:45:00 0.103 0.273 0.125 0.025 0.003 0.000 2026-04-15 08:30:01 info: No reduced hours applied for QCells1 2026-04-15 08:30:01 info: No reduced power applied during discharging at low soc 2026-04-15 08:30:01 info: No reduced power applied during charging at high soc 2026-04-15 08:30:01 info: Startwaarde SoC QCells1: 10.0% 2026-04-15 08:30:01 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2026-04-15 08:30:01 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland 2026-04-15 08:30:01 info: Strategie: minimale kosten 2026-04-15 08:30:01 info: Maximale fout (maximal gap): 0.001000 euro 2026-04-15 08:30:02 info: Rekentijd: 0.48 sec 2026-04-15 08:30:02 info: Het programma heeft een optimale oplossing gevonden. 2026-04-15 08:30:02 info: Ontlaad volume in uur 0 08:30 0.16372964347247038 kWh 2026-04-15 08:30:02 info: 1 0.21830619129662718 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 1 08:45 0.1712590173119679 kWh 2026-04-15 08:30:02 info: 1 0.2283453564159572 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 2 09:00 0.1511065558525727 kWh 2026-04-15 08:30:02 info: 1 0.2014754078034303 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 3 09:15 0.1586359296925366 kWh 2026-04-15 08:30:02 info: 1 0.2115145729233821 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 4 09:30 0.1661653035325508 kWh 2026-04-15 08:30:02 info: 1 0.2215537380434011 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 5 09:45 0.0030785069924745504 kWh 2026-04-15 08:30:02 info: 1 0.004104675989966068 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 6 10:00 0.75 kWh 2026-04-15 08:30:02 info: 1 1.0 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 7 10:15 0.6143441941589116 kWh 2026-04-15 08:30:02 info: 1 0.8191255922118822 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 8 10:30 0.7326008919626473 kWh 2026-04-15 08:30:02 info: 1 0.9768011892835298 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 9 10:45 0.8068764743573489 kWh 2026-04-15 08:30:02 info: 1 0.9544988205141209 3.0 2026-04-15 08:30:02 info: 2 0.04550117948587905 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 10 11:00 0.8632631265221441 kWh 2026-04-15 08:30:02 info: 1 0.9093894987822848 3.0 2026-04-15 08:30:02 info: 2 0.09061050121771529 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 11 11:15 0.9367982949467099 kWh 2026-04-15 08:30:02 info: 1 0.8505613640426323 3.0 2026-04-15 08:30:02 info: 2 0.14943863595736767 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 12 11:30 1.0103334897653538 kWh 2026-04-15 08:30:02 info: 1 0.791733208187717 3.0 2026-04-15 08:30:02 info: 2 0.208266791812283 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 13 11:45 0.623111484560527 kWh 2026-04-15 08:30:02 info: 1 0.8308153127473692 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 14 12:00 1.0422189217655264 kWh 2026-04-15 08:30:02 info: 1 0.7662248625875787 3.0 2026-04-15 08:30:02 info: 2 0.23377513741242123 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 15 12:15 0.7500000000000001 kWh 2026-04-15 08:30:02 info: 1 1.0 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 16 12:30 0.40962869767099613 kWh 2026-04-15 08:30:02 info: 1 0.5461715968946614 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 17 12:45 0.335042222030461 kWh 2026-04-15 08:30:02 info: 1 0.4467229627072813 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 18 13:00 0.1671812804415825 kWh 2026-04-15 08:30:02 info: 1 0.22290837392211 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 19 13:15 0.09259483236819518 kWh 2026-04-15 08:30:02 info: 1 0.12345977649092689 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 20 13:30 0.01800832916051172 kWh 2026-04-15 08:30:02 info: 1 0.024011105547348952 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 21 13:45 0.02050180528312937 kWh 2026-04-15 08:30:02 info: 1 0.027335740377505826 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 22 14:00 0.08499193694442489 kWh 2026-04-15 08:30:02 info: 1 0.1133225825925665 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 23 14:15 0.7799062465535517 kWh 2026-04-15 08:30:02 info: 1 0.9760750027571587 3.0 2026-04-15 08:30:02 info: 2 0.023924997242841226 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 24 14:30 0.7822936173092495 kWh 2026-04-15 08:30:02 info: 1 0.9741651061526004 3.0 2026-04-15 08:30:02 info: 2 0.025834893847399485 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 25 14:45 0.7686467703947044 kWh 2026-04-15 08:30:02 info: 1 0.9850825836842366 3.0 2026-04-15 08:30:02 info: 2 0.014917416315763423 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 26 15:00 0.7365848273038863 kWh 2026-04-15 08:30:02 info: 1 0.9821131030718485 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 27 15:15 0.7223314262926581 kWh 2026-04-15 08:30:02 info: 1 0.9631085683902106 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 28 15:30 0.7080780528485775 kWh 2026-04-15 08:30:02 info: 1 0.94410407046477 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 29 15:45 0.7181334733963012 kWh 2026-04-15 08:30:02 info: 1 0.957511297861735 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 30 16:00 0.7590606193989514 kWh 2026-04-15 08:30:02 info: 1 0.9927515044808388 3.0 2026-04-15 08:30:02 info: 2 0.007248495519161079 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 31 16:15 0.7686882024987581 kWh 2026-04-15 08:30:02 info: 1 0.9850494380009936 3.0 2026-04-15 08:30:02 info: 2 0.014950561999006374 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 32 16:30 0.7783157328104087 kWh 2026-04-15 08:30:02 info: 1 0.9773474137516733 3.0 2026-04-15 08:30:02 info: 2 0.02265258624832677 8.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 33 16:45 0.7374585267156362 kWh 2026-04-15 08:30:02 info: 1 0.9832780356208483 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 34 17:00 0.6644736300222575 kWh 2026-04-15 08:30:02 info: 1 0.8859648400296766 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 35 17:15 0.6223579193465413 kWh 2026-04-15 08:30:02 info: 1 0.8298105591287217 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 36 17:30 0.580242236237973 kWh 2026-04-15 08:30:02 info: 1 0.7736563149839639 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 37 17:45 0.5050897932611407 kWh 2026-04-15 08:30:02 info: 1 0.6734530576815211 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 38 18:00 0.40181325264275086 kWh 2026-04-15 08:30:02 info: 1 0.5357510035236678 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 39 18:15 0.3266607958823443 kWh 2026-04-15 08:30:02 info: 1 0.4355477278431257 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 40 18:30 0.2515083529055119 kWh 2026-04-15 08:30:02 info: 1 0.33534447054068256 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 41 18:45 0.1897420346736908 kWh 2026-04-15 08:30:02 info: 1 0.2529893795649211 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 42 19:00 0.12539886950980875 kWh 2026-04-15 08:30:02 info: 1 0.16719849267974496 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 43 19:15 0.6849126309537054 kWh 2026-04-15 08:30:02 info: 1 0.9132168412716073 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 44 19:30 0.7010467187385074 kWh 2026-04-15 08:30:02 info: 1 0.93472895831801 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 45 19:45 0.6947275203070602 kWh 2026-04-15 08:30:02 info: 1 0.9263033604094136 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 46 20:00 0.7080270365009257 kWh 2026-04-15 08:30:02 info: 1 0.9440360486679008 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 47 20:15 0.6967264216521927 kWh 2026-04-15 08:30:02 info: 1 0.9289685622029233 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 48 20:30 0.6937499999999999 kWh 2026-04-15 08:30:02 info: 1 0.9249999999999997 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 49 20:45 0.04531249999999999 kWh 2026-04-15 08:30:02 info: 1 0.06041666666666665 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 50 21:00 0.6940475771265029 kWh 2026-04-15 08:30:02 info: 1 0.9253967695020038 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 51 21:15 0.02355339879868552 kWh 2026-04-15 08:30:02 info: 1 0.0314045317315807 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 52 21:30 0.017308410594705496 kWh 2026-04-15 08:30:02 info: 1 0.023077880792940656 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 53 21:45 0.0173856899375096 kWh 2026-04-15 08:30:02 info: 1 0.023180919916679466 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 54 22:00 0.0222315386403352 kWh 2026-04-15 08:30:02 info: 1 0.029642051520446928 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 55 22:15 0.022308818041346965 kWh 2026-04-15 08:30:02 info: 1 0.029745090721795948 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 56 22:30 0.022386097384151073 kWh 2026-04-15 08:30:02 info: 1 0.029848129845534758 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 57 22:45 0.022355902276467533 kWh 2026-04-15 08:30:02 info: 1 0.02980786970195671 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 58 23:00 0.022245101607404647 kWh 2026-04-15 08:30:02 info: 1 0.02966013547653953 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 59 23:15 0.022214906732551755 kWh 2026-04-15 08:30:02 info: 1 0.02961987564340234 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 60 23:30 0.022184711624868212 kWh 2026-04-15 08:30:02 info: 1 0.029579615499824283 3.0 2026-04-15 08:30:02 info: Ontlaad volume in uur 61 23:45 0.02215451651718467 kWh 2026-04-15 08:30:02 info: 1 0.029539355356246227 3.0 2026-04-15 08:30:02 info: In- en uitgaande energie per kwartier batterij QCells1 uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 08:30 -0.16 92.50 -0.18 0.18 0.00 -- 0.00 -- 10.00 08:45 -0.17 92.50 -0.19 0.19 0.00 -- 0.00 -- 10.00 09:00 -0.15 92.50 -0.16 0.16 0.00 105.26 0.00 -- 10.00 09:15 -0.16 92.50 -0.17 0.17 0.00 -- 0.00 -- 10.00 09:30 -0.17 92.50 -0.18 0.18 -0.00 105.26 -0.00 -- 10.00 09:45 -0.00 92.50 -0.00 0.31 0.30 95.00 0.29 -- 14.01 10:00 -0.75 92.50 -0.81 0.54 -0.27 95.00 -0.29 -- 10.00 10:15 -0.61 92.50 -0.66 0.66 0.00 -- 0.00 -- 10.00 10:30 -0.73 92.50 -0.79 0.79 0.00 -- 0.00 -- 10.00 10:45 -0.81 92.21 -0.88 0.88 0.00 -- 0.00 -- 10.00 11:00 -0.86 91.96 -0.94 0.94 0.00 -- 0.00 -- 10.00 11:15 -0.94 91.69 -1.02 1.02 0.00 -- 0.00 -- 10.00 11:30 -1.01 91.45 -1.10 1.10 0.00 -- 0.00 -- 10.00 11:45 -0.62 92.50 -0.67 1.13 0.46 95.00 0.43 -- 16.03 12:00 -1.04 91.36 -1.14 1.14 0.00 -- 0.00 -- 16.03 12:15 -0.75 92.50 -0.81 1.17 0.36 95.00 0.34 -- 20.73 12:30 -0.41 92.50 -0.44 1.19 0.75 95.00 0.71 -- 30.62 12:45 -0.34 92.50 -0.36 1.11 0.75 95.00 0.71 -- 40.52 13:00 -0.17 92.50 -0.18 0.93 0.75 95.00 0.71 -- 50.42 13:15 -0.09 92.50 -0.10 0.85 0.75 95.00 0.71 -- 60.31 13:30 -0.02 92.50 -0.02 0.77 0.75 95.00 0.71 -- 70.21 13:45 -0.02 92.50 -0.02 0.77 0.75 95.00 0.71 -- 80.10 14:00 -0.08 92.50 -0.09 0.84 0.75 95.00 0.71 -- 90.00 14:15 -0.78 92.34 -0.84 0.84 0.00 -- 0.00 -- 90.00 14:30 -0.78 92.33 -0.85 0.85 0.00 -- 0.00 -- 90.00 14:45 -0.77 92.40 -0.83 0.83 0.00 -- 0.00 -- 90.00 15:00 -0.74 92.50 -0.80 0.80 0.00 -- 0.00 -- 90.00 15:15 -0.72 92.50 -0.78 0.78 0.00 -- 0.00 -- 90.00 15:30 -0.71 92.50 -0.77 0.77 0.00 -- 0.00 -- 90.00 15:45 -0.72 92.50 -0.78 0.78 0.00 -- 0.00 -- 90.00 16:00 -0.76 92.45 -0.82 0.82 0.00 -- 0.00 -- 90.00 16:15 -0.77 92.40 -0.83 0.83 0.00 -- 0.00 -- 90.00 16:30 -0.78 92.35 -0.84 0.84 0.00 -- 0.00 -- 90.00 16:45 -0.74 92.50 -0.80 0.80 0.00 -- 0.00 -- 90.00 17:00 -0.66 92.50 -0.72 0.72 0.00 -- 0.00 -- 90.00 17:15 -0.62 92.50 -0.67 0.67 0.00 -- 0.00 -- 90.00 17:30 -0.58 92.50 -0.63 0.63 0.00 -- 0.00 -- 90.00 17:45 -0.51 92.50 -0.55 0.55 0.00 -- 0.00 -- 90.00 18:00 -0.40 92.50 -0.43 0.43 0.00 -- 0.00 -- 90.00 18:15 -0.33 92.50 -0.35 0.35 0.00 -- 0.00 -- 90.00 18:30 -0.25 92.50 -0.27 0.27 0.00 -- 0.00 -- 90.00 18:45 -0.19 92.50 -0.21 0.21 0.00 -- 0.00 -- 90.00 19:00 -0.13 92.50 -0.14 0.14 0.00 -- 0.00 -- 90.00 19:15 -0.68 92.50 -0.74 0.07 -0.67 95.00 -0.71 -- 80.18 19:30 -0.70 92.50 -0.76 0.01 -0.75 95.00 -0.79 -- 69.22 19:45 -0.69 92.50 -0.75 0.00 -0.75 95.00 -0.79 -- 58.25 20:00 -0.71 92.50 -0.77 0.02 -0.75 95.00 -0.79 -- 47.29 20:15 -0.70 92.50 -0.75 0.00 -0.75 95.00 -0.79 -- 36.32 20:30 -0.69 92.50 -0.75 0.00 -0.75 95.00 -0.79 87.88 25.36 20:45 -0.05 92.50 -0.05 0.00 -0.05 95.00 -0.05 87.88 24.64 21:00 -0.69 92.50 -0.75 0.00 -0.75 95.00 -0.79 -- 13.67 21:15 -0.02 92.50 -0.03 0.00 -0.03 95.00 -0.03 -- 13.31 21:30 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.02 -- 13.04 21:45 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.02 -- 12.77 22:00 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.02 -- 12.43 22:15 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.03 -- 12.08 22:30 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.03 -- 11.73 22:45 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.03 -- 11.38 23:00 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.02 -- 11.04 23:15 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.02 -- 10.69 23:30 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.02 -- 10.34 23:45 -0.02 92.50 -0.02 0.00 -0.02 95.00 -0.02 -- 10.00 Totaal -27.15 -29.41 30.03 0.62 -0.00 2026-04-15 08:30:09 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 08:30 0.00 0.16 0.00 0.22 0.05 0.00 0.00 0.00 0.10 0.00 -0.04 20.00 08:45 0.00 0.17 0.00 0.26 0.05 0.00 0.00 0.00 0.14 0.00 -0.04 20.00 09:00 0.00 0.15 0.00 0.27 0.05 0.00 0.00 0.00 0.17 0.00 -0.04 20.00 09:15 0.00 0.16 0.00 0.31 0.05 0.00 0.00 0.00 0.21 0.00 -0.05 20.00 09:30 0.00 0.17 0.00 0.36 0.05 0.00 0.00 0.00 0.24 0.00 -0.05 20.00 09:45 0.00 0.00 0.00 0.25 0.05 0.00 0.00 0.00 0.29 0.00 -0.03 20.00 10:00 0.00 0.75 0.00 1.07 0.03 0.00 0.00 0.00 0.35 0.00 -0.16 20.00 10:15 0.00 0.61 0.00 0.98 0.03 0.00 0.00 0.00 0.40 0.00 -0.11 20.00 10:30 0.00 0.73 0.00 1.16 0.02 0.00 0.00 0.00 0.44 0.00 -0.12 20.00 10:45 0.00 0.81 0.00 1.26 0.02 0.00 0.00 0.00 0.48 0.00 -0.11 20.00 11:00 0.00 0.86 0.00 1.34 0.02 0.00 0.00 0.00 0.51 0.00 -0.14 20.00 11:15 0.00 0.94 0.00 1.45 0.02 0.00 0.00 0.00 0.54 0.00 -0.13 20.00 11:30 0.00 1.01 0.00 1.56 0.02 0.00 0.00 0.00 0.57 0.00 -0.12 20.00 11:45 0.00 0.62 0.00 1.18 0.03 0.00 0.00 0.00 0.59 0.00 -0.07 20.00 12:00 0.00 1.04 0.00 1.61 0.04 0.00 0.00 0.00 0.61 0.00 -0.12 20.00 12:15 0.00 0.75 0.00 1.32 0.05 0.00 0.00 0.00 0.62 0.00 -0.08 20.00 12:30 0.00 0.41 0.00 1.00 0.06 0.00 0.00 0.00 0.64 0.00 -0.06 20.00 12:45 0.00 0.34 0.00 0.91 0.05 0.00 0.00 0.00 0.62 0.00 -0.05 20.00 13:00 0.00 0.17 0.00 0.70 0.03 0.00 0.00 0.00 0.56 0.00 -0.03 20.00 13:15 0.00 0.09 0.00 0.60 0.03 0.00 0.00 0.00 0.54 0.00 -0.03 20.00 13:30 0.00 0.02 0.00 0.51 0.02 0.00 0.00 0.00 0.51 0.00 -0.03 20.00 13:45 0.00 0.02 0.00 0.52 0.03 0.00 0.00 0.00 0.53 0.00 -0.03 20.00 14:00 0.00 0.08 0.00 0.60 0.04 0.00 0.00 0.00 0.56 0.00 -0.03 20.00 14:15 0.00 0.78 0.00 1.30 0.05 0.00 0.00 0.00 0.57 0.00 -0.08 20.00 14:30 0.00 0.78 0.00 1.31 0.06 0.00 0.00 0.00 0.58 0.00 -0.10 20.00 14:45 0.00 0.77 0.00 1.31 0.05 0.00 0.00 0.00 0.59 0.00 -0.12 20.00 15:00 0.00 0.74 0.00 1.31 0.03 0.00 0.00 0.00 0.60 0.00 -0.09 20.00 15:15 0.00 0.72 0.00 1.30 0.03 0.00 0.00 0.00 0.61 0.00 -0.10 20.00 15:30 0.00 0.71 0.00 1.30 0.02 0.00 0.00 0.00 0.62 0.00 -0.12 20.00 15:45 0.00 0.72 0.00 1.30 0.02 0.00 0.00 0.00 0.60 0.00 -0.13 20.00 16:00 0.00 0.76 0.00 1.32 0.02 0.00 0.00 0.00 0.58 0.00 -0.12 20.00 16:15 0.00 0.77 0.00 1.31 0.02 0.00 0.00 0.00 0.56 0.00 -0.14 20.00 16:30 0.00 0.78 0.00 1.31 0.02 0.00 0.00 0.00 0.55 0.00 -0.15 20.00 16:45 0.00 0.74 0.00 1.23 0.04 0.00 0.00 0.00 0.54 0.00 -0.15 20.00 17:00 0.00 0.66 0.00 1.10 0.09 0.00 0.00 0.00 0.53 0.00 -0.13 20.00 17:15 0.00 0.62 0.00 1.02 0.12 0.00 0.00 0.00 0.52 0.00 -0.13 20.00 17:30 0.00 0.58 0.00 0.94 0.14 0.00 0.00 0.00 0.50 0.00 -0.13 20.00 17:45 0.00 0.51 0.00 0.83 0.14 0.00 0.00 0.00 0.47 0.00 -0.13 20.00 18:00 0.00 0.40 0.00 0.69 0.13 0.00 0.00 0.00 0.41 0.00 -0.10 20.00 18:15 0.00 0.33 0.00 0.57 0.13 0.00 0.00 0.00 0.38 0.00 -0.08 20.00 18:30 0.00 0.25 0.00 0.46 0.13 0.00 0.00 0.00 0.34 0.00 -0.07 20.00 18:45 0.00 0.19 0.00 0.35 0.11 0.00 0.00 0.00 0.27 0.00 -0.06 20.00 19:00 0.00 0.13 0.00 0.23 0.07 0.00 0.00 0.00 0.18 0.00 -0.04 20.00 19:15 0.00 0.68 0.00 0.74 0.05 0.00 0.00 0.00 0.11 0.00 -0.14 20.00 19:30 0.00 0.70 0.00 0.71 0.04 0.00 0.00 0.00 0.05 0.00 -0.14 20.00 19:45 0.00 0.69 0.00 0.68 0.04 0.00 0.00 0.00 0.03 0.00 -0.16 20.00 20:00 0.00 0.71 0.00 0.69 0.05 0.00 0.00 0.00 0.03 0.00 -0.16 20.00 20:15 0.00 0.70 0.00 0.65 0.05 0.00 0.00 0.00 0.01 0.00 -0.14 20.00 20:30 0.00 0.69 0.00 0.64 0.05 0.00 0.00 0.00 0.00 0.00 -0.13 20.00 20:45 0.00 0.05 0.00 0.00 0.05 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 21:00 0.00 0.69 0.00 0.66 0.03 0.00 0.00 0.00 0.00 0.00 -0.13 20.00 21:15 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 21:30 0.00 0.02 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 21:45 0.00 0.02 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 22:00 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 22:15 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 22:30 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 22:45 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 23:00 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 23:15 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 23:30 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 23:45 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 Totaal 0.00 27.15 0.00 44.73 2.90 0.00 0.00 0.00 20.48 0.00 -4.84 NaN 2026-04-15 08:30:09 info: Consumption 0.00 (kWh) 2026-04-15 08:30:09 info: Cost consumption 0.00 (€) 2026-04-15 08:30:09 info: Tariff consumption 0.000 (€/kWh) 2026-04-15 08:30:09 info: Production 44.73 (kWh) 2026-04-15 08:30:09 info: Profit production -4.84 (€) 2026-04-15 08:30:09 info: Tariff production 0.108 (€/kWh) 2026-04-15 08:30:09 info: Calculation profit after optimize in € Cost before optimize -4.01 Cost consumption 0.00 Cycle cost 0.06 Penalty cost 0.00 Battery storage 0.00 Boiler storage 0.00 Profit production -4.84 Total -4.78 Cost after optimize -4.78 Profit: 0.76 2026-04-15 08:30:09 info: Doorzetten van alle settings naar HA 2026-04-15 08:30:09 info: Grid set point: -872.0 W 2026-04-15 08:30:09 info: Cycle cost QCells1: 0.06 euro 2026-04-15 08:30:09 info: Netto vermogen naar(+)/uit(-) omvormer QCells1: -3000 W tot: 2026-04-15 08:33 2026-04-15 08:30:09 info: Balanceren: off 2026-04-15 08:30:09 info: Vermogen uit batterij: 0W 2026-04-15 08:30:09 info: Vermogen dat binnenkomt van pv: 708W 2026-04-15 08:30:09 info: Vermogen dat binnenkomt van ac: -708W 2026-04-15 08:30:09 info: Waarde SoC na eerste uur: 10.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{ "config_version": 0, "homeassistant": {}, "database_ha": { "engine": "sqlite", "db_path": "/homeassistant", "database": "home-assistant_v2.db" }, "database_da": { "engine": "sqlite", "db_path": "../data", "database": "day_ahead.db" }, "meteoserver_key": "!secret meteoserver-key", "meteoserver_model": "harmonie", "meteoserver_attemps": 2, "prices": { "source_day_ahead": "nordpool", "entsoe-api-key": "!secret entsoe-api-key", "energy_taxes_consumption": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.1088, "2025-01-01": 0.10154 }, "energy_taxes_production": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.1088, "2025-01-01": 0.10154 }, "cost_supplier_consumption": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "cost_supplier_production": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496, "2026-01-01": 0.0 }, "vat_consumption": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "vat_production": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "last_invoice": "2025-09-01", "tax_refund": false, "regular high": 0.5, "regular low": 0.4, "switch to low": 23 }, "logging_level": "info", "use_calc_baseload": false, "baseload_calc_periode": 56, "baseload": [ 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.20, 0.20, 0.20, 0.10, 0.10, 0.20, 0.10, 0.20, 0.10, 0.10, 0.50, 0.50, 0.20, 0.20, 0.10, 0.10, 0.10 ], "graphical_backend": "", "graphics": { "style": "Solarize_Light2", "battery_balance": true, "prices_consumption": true, "prices_production": false, "prices_spot": true, "average_consumption": true, "show": "true" }, "interval": "15min", "strategy": "minimize cost", "max_gap": 0.001, "notifications": { "opstarten": false, "berekening": false }, "grid": { "max_power": 17.0 }, "history": { "save_days": 7 }, "dashboard": { "port": 5000 }, "battery": [ {"name" : "QCells1", "entity actual level": "input_number.dao_calculated_soc", "capacity": 7.2, "upper limit": 90, "lower limit": 10, "charge stages" : [ {"power": 0.0, "efficiency": 1} ], "discharge stages" : [ {"power": 0.0, "efficiency": 1}, {"power": 3000, "efficiency": 0.925}, {"power": 8000, "efficiency": 0.9} ], "minimum power" : 100, "dc_to_bat_max_power": 3000, "bat_to_dc_max_power": 3000, "dc_to_bat efficiency" : 0.95, "bat_to_dc efficiency": 0.95, "cycle cost" : 0.005, "entity set power feedin": "input_number.dao_set_power_feedin", "entity balance switch": "input_boolean.dao_balance_switch", "entity from battery": "input_number.dao_from_battery", "entity calculated soc": "input_number.dao_calculated_soc", "solar": [ { "name": "string1", "ml_prediction": "true", "entities sensors": ["sensor.saj_sununo_plus_4k_m_total_yield"], "tilt": 30, "orientation": 0, "capacity": 3.300, "yield": 0.0059 }, { "name": "string2en3", "ml_prediction": "true", "entities sensors": ["sensor.saj_sununo_plus_5k_m_total_yield"], "tilt": 30, "orientation": 0, "capacity": 3.850, "yield": 0.0075 } ] } ], "solar": [ { "name": "string4enNoord", "ml_prediction": "true", "entities sensors": ["sensor.saj_r5_3_6k_s2_total_yield_gefilterd"], "tilt": 30, "orientation": 0, "capacity": 6.695, "yield": 0.008 }, { "name": "Envoy", "ml_prediction": "true", "entities sensors": ["sensor.envoy_121317004432_lifetime_energy_production"], "tilt": 15, "orientation": 0, "capacity": 5.000, "yield": 0.0029 } ], "electric_vehicle": [], "machines": [], "boiler": { "boiler_present": false, "entity actual temp.": "sensor.boiler_gemeten", "entity setpoint": "sensor.boiler_ingesteld", "entity hysterese": "sensor.hysterese_hot_water", "cop": 2.9, "cooling rate": 0.4, "volume": 180, "heating allowed below": 44, "elec. power": 1500, "activate service": "press", "activate entity": "input_button.hw_trigger" }, "heating": { "heater_present": false, "degree days factor": 3.6, "stages": [ { "max_power": 225, "cop": 7.1 }, { "max_power": 300, "cop": 7.0 }, { "max_power": 400, "cop": 6.5 }, { "max_power": 500, "cop": 6.0 }, { "max_power": 600, "cop": 5.5 }, { "max_power": 750, "cop": 5.0 }, { "max_power": 1000, "cop": 4.5 }, { "max_power": 1250, "cop": 4.0 } ], "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead", "adjustment factor": 0.04 }, "tibber": { "api_token": "!secret tibber_api_token", "api_url": "https://api.tibber.com/v1-beta/gql" }, "xgboost": { "tune_hyperparameters": true }, "report": { "entities_grid_consumption": [ "sensor.grid_consumption_low", "sensor.grid_consumption_high" ], "entities_grid_production": [ "sensor.grid_production_low", "sensor.grid_production_high" ], "entities_solar_production_ac": [ "sensor.solaredge_woning_ac_energy_kwh" ], "entities_solar_production_dc": [], "entities_ev_consumption": [ "sensor.laadpunt_total_energy" ], "entities_wp_consumption": [], "entities_boiler_consumption": [], "entities_battery_consumption": [ "sensor.ess_grid_consumption" ], "entities_battery_production": [ "sensor.ess_grid_production" ], "entities_machine_consumption": [] }, "scheduler": { "active": true, "schedule": [ { "time": "0430", "action": "get_meteo_data" }, { "time": "1030", "action": "get_meteo_data" }, { "time": "1630", "action": "get_meteo_data" }, { "time": "2230", "action": "get_meteo_data" }, { "time": "1255", "action": "get_day_ahead_prices" }, { "time": "1355", "action": "get_day_ahead_prices" }, { "time": "1455", "action": "get_day_ahead_prices" }, { "time": "1554", "action": "get_day_ahead_prices" }, { "time": "1655", "action": "get_day_ahead_prices" }, { "time": "xx00", "action": "calc_optimum" }, { "time": "xx15", "action": "calc_optimum" }, { "time": "xx30", "action": "calc_optimum" }, { "time": "xx45", "action": "calc_optimum" }, { "time": "2359", "action": "clean_data" }, { "time": "0005", "action": "train_ml_predictions" } ] } }
Sorry ik snap je vraag niet zo goed.thomvh schreef op dinsdag 14 april 2026 @ 15:48:
Hoe wil DAO de waardes hebben? Ik heb namelijk een aantal waardes die per week of per dag resetten. Ik doel hier voornamelijk mee op de waardes van bijvoorbeeld PV:
[Afbeelding]
Ik zit al te kijken of ik op de een of andere manier deze waarde kan laten doorlopen door een Home Assistant helper. Want ik weet anders geen raad hiermee.
De data die DAO wil hebben kunnen gewoon in een sensor of input_number of input_boolean staan.
De door DAO berekende waarden kunt je het beste naar een helper (input_....) laten schrijven en deze met een automation of template doorzetten naar je thuisbatterij of anderszins.
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 gaat hierbij om de reporting functie en baseload berekening straks. Mijn waardes gaan naar nul op wekelijkse basis. Ik kan me zo voorstellen dat DAO deze graag als totaal wil hebben die gewoon op blijft lopen. Ik heb dit nu met een utility meter opgelost.KC27 schreef op woensdag 15 april 2026 @ 10:19:
[...]
Sorry ik snap je vraag niet zo goed.
De data die DAO wil hebben kunnen gewoon in een sensor of input_number of input_boolean staan.
De door DAO berekende waarden kunt je het beste naar een helper (input_....) laten schrijven en deze met een automation of template doorzetten naar je thuisbatterij of anderszins.
Sinds een week werkt DOA plots niet meer correct. (versie 2026.4.2)
"prices": {
"source_day_ahead": "nordpool",
Snap niet zo goed waar het mis gaat. als ik het handmatig ophaal lijkt hij wel data binnen te halen.
Ik gebruik nordpool al een poosje. Daarvoor ook tibber gebruikt, maar beide gaan momenteel niet zo lekker.2026-04-15 13:10:16 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-15 13:10:16 INFO: Validating configuration with ConfigurationV0
2026-04-15 13:10:16 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-15 13:10:16 info: Day Ahead Optimalisering gestart op: 15-04-2026 13:10:16
2026-04-15 13:10:16 info: Day Ahead Optimalisatie gestart: 15-04-2026 13:10:16 taak: calc_optimum_met_debug
2026-04-15 13:10:16 info: Debug = True
2026-04-15 13:10:16 fout: Er ontbreken kwartierwaarden van de day-ahead tarieven, de berekening wordt afgebroken
"prices": {
"source_day_ahead": "nordpool",
Snap niet zo goed waar het mis gaat. als ik het handmatig ophaal lijkt hij wel data binnen te halen.
Wat mij ook op valt, en misschien moet ik mijn automation hier voor aanpassen is dat DAO in cost optimized heel graag terug levert aan het net. Alleen loop momenteel een beetje te botsen met hoe ik allemaal goed kan automatiseren. Als ik bijvoorbeeld hier naar 15:15 - 15:30 kijk. Hierbij zal ik dan "Zero export to CT" moeten aanzetten op mijn Deye omvormer met een limiet op de "Max charge current"?
Als je "handmatig" prijs-data ophaalt bij Nordpool gaat dat per dag: dus eerst van vandaag; daarna van morgen.Psycho_Mantis schreef op woensdag 15 april 2026 @ 13:18:
Sinds een week werkt DOA plots niet meer correct. (versie 2026.4.2)
[...]
Ik gebruik nordpool al een poosje. Daarvoor ook tibber gebruikt, maar beide gaan momenteel niet zo lekker.
"prices": {
"source_day_ahead": "nordpool",
Snap niet zo goed waar het mis gaat. als ik het handmatig ophaal lijkt hij wel data binnen te halen.
Komen ook de meteodata binnen?
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
Ik weet helaas te weinig van Deye, misschien kunnen andere gebruikers je helpen?thomvh schreef op woensdag 15 april 2026 @ 13:22:
Wat mij ook op valt, en misschien moet ik mijn automation hier voor aanpassen is dat DAO in cost optimized heel graag terug levert aan het net. Alleen loop momenteel een beetje te botsen met hoe ik allemaal goed kan automatiseren. Als ik bijvoorbeeld hier naar 15:15 - 15:30 kijk. Hierbij zal ik dan "Zero export to CT" moeten aanzetten op mijn Deye omvormer met een limiet op de "Max charge current"?
[Afbeelding]
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
Die hoge efficiencies komen door je pv_dc. Dat is eigenlijk nog een foutje in DAO.thesaxofonist schreef op woensdag 15 april 2026 @ 09:06:
Ik simuleer een hybride batterij en zie dat DAO af en toe rendement berekent als dat niet relevant is (en dan ook niet klopt), bijvoorbeeld deze ochtend. Om 8.30 uur wordt er een beetje energie opgewekt en teruggeleverd aan het net. Er wordt geen rendement van de batterij getoond en dat lijkt me correct.
Om 9.00 is er nog dezelfde situatie en wordt een batterijrendement van 105,26% getoond. Dat lijkt me niet correct. Om 9.45 wordt energie naar de batterij gestuurd en wijzigt het rendement naar 95% (correct).
De rest van de berekeningen lijken te kloppen. Het is alleen deze kolom. Ik heb er verder geen last van.
[Afbeelding]
[...]
[...]
Ik zal er nog een keer naar kijken, voorlopig zou ik mezelf maar even "rijk" rekenen.
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 de berekening runt met log level "debug" dan wordt bij het begin van de mip-berekening de compileerdatum getoond.balk schreef op dinsdag 14 april 2026 @ 22:06:
[...]
Ik denk dat het me gelukt is om het werkend te krijgen. Gemini adviseerde me om het volgende te doen
* CPU type "host" (had ik al)
* architecture q35 (hielp niet)
* compileer met CXXFLAGS="-O2 -march=x86-64-v2 -pipe" ipv -march=native -O3
Ik denk dat dat laatste ook gelukt is door in de docker te bashen, build_miplib.sh aan te passen en dan opnieuw te draaien. Hierna geen foutmeldingen maar ik weet niet zeker of de custom miplib wordt gebruikt. Is er een manier om te zien welke lib gebruikt wordt?
Dit was wel een behoorlijke omweg, en niet persistent. Is het misschien mogelijk om CXXFLAGS aan te gaan passen via een config?
====
hmm, nu toch weer een foutmelding.
Die van mip-zelf zijn van maart 2026, die van jezelf hebben jouw compileerdatum.
Verder als je een terminal ingang naar de app/addon hebt kun je met "printenv" zien welke env-variabelen er zijn.
Daar zouden dan de mip-variabelen (PMIP_CBC_LIBRARY, LD_LIBRARY_PATH) tussen moeten staan en die moeten dan verwijzen naar /root/dao/prog/miplib/lib.
Tenslotte in opstart-log van de app/addon moet zoiets staan als hij jouw binaries gebruikt:
bashio::log.info "Copying saved miplib-binaries"(of draai jij buiten HA om?)
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
Prima. Ik heb er geen last van. Hoeft wat mij betreft niet aangepast te worden.KC27 schreef op woensdag 15 april 2026 @ 19:32:
[...]
Die hoge efficiencies komen door je pv_dc. Dat is eigenlijk nog een foutje in DAO.
Ik zal er nog een keer naar kijken, voorlopig zou ik mezelf maar even "rijk" rekenen.
En ik wil ook even zeggen dat ik het een geweldig programma vindt. Dus mijn complimenten aan iedereen die bij de bouw ervan betrokken is!
[ Voor 16% gewijzigd door thesaxofonist op 15-04-2026 20:15 ]
Deze week geupdate naar 2026.04.2.
Toevallig keek ik er net naar: prijzen ophalen werkt wel, maar een optimaliseringsberekening geeft een foutmelding:
Toevallig keek ik er net naar: prijzen ophalen werkt wel, maar een optimaliseringsberekening geeft een foutmelding:
De config heb ik verder niet gewijzigd, wat kan er aan de hand zijn?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 862026-04-15 21:39:42 INFO: Loaded 6 secrets from ../data/secrets.json 2026-04-15 21:39:42 INFO: Validating configuration with ConfigurationV0 2026-04-15 21:39:42 info: Day Ahead Optimalisering versie: 2026.04.2 2026-04-15 21:39:42 info: Day Ahead Optimalisering gestart op: 15-04-2026 21:39:42 2026-04-15 21:39:42 info: Day Ahead Optimalisatie gestart: 15-04-2026 21:39:42 taak: calc_optimum_met_debug 2026-04-15 21:39:42 info: Debug = True 2026-04-15 21:39:42 info: Baseload uit instellingen 2026-04-15 21:39:43 fout: Er is een fout opgetreden, zie de fout-tracering Traceback (most recent call last): File "/root/dao/prog/da_base.py", line 694, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 538, in calc_optimum_met_debug dacalc.calc_optimum() ~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/day_ahead.py", line 288, in calc_optimum solar_prog = self.calc_solar_predictions( self.solar[s], start_interval_dt, end, self.interval ) File "/root/dao/prog/da_base.py", line 587, in calc_solar_predictions solar_prog = solar_predictor.predict_solar_device( solar_option, vanaf, tot ) File "/root/dao/prog/solar_predictor.py", line 1024, in predict_solar_device prediction = self.predict(weather_data) File "/root/dao/prog/solar_predictor.py", line 702, in predict prediction = self.model.predict(featured_df) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, 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 751, in inner_f return func(**kwargs) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2854, in inplace_predict self._validate_features(fns) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 3429, in _validate_features raise ValueError(msg.format(self.feature_names, feature_names)) ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] training data did not have the following fields: windvelocity Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 4709, in <module> main() ~~~~^^ File "/root/dao/webserver/../prog/day_ahead.py", line 4680, in main da_calc.run_task_function("calc_optimum_met_debug") ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_base.py", line 694, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 538, in calc_optimum_met_debug dacalc.calc_optimum() ~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/day_ahead.py", line 288, in calc_optimum solar_prog = self.calc_solar_predictions( self.solar[s], start_interval_dt, end, self.interval ) File "/root/dao/prog/da_base.py", line 587, in calc_solar_predictions solar_prog = solar_predictor.predict_solar_device( solar_option, vanaf, tot ) File "/root/dao/prog/solar_predictor.py", line 1024, in predict_solar_device prediction = self.predict(weather_data) File "/root/dao/prog/solar_predictor.py", line 702, in predict prediction = self.model.predict(featured_df) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, 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 751, in inner_f return func(**kwargs) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2854, in inplace_predict self._validate_features(fns) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 3429, in _validate_features raise ValueError(msg.format(self.feature_names, feature_names)) ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] training data did not have the following fields: windvelocity
Je moet de "ML modellen trainen" run even triggeren. Als die klaar is doet hij het weer.diamanten schreef op woensdag 15 april 2026 @ 21:50:
Deze week geupdate naar 2026.04.2.
Toevallig keek ik er net naar: prijzen ophalen werkt wel, maar een optimaliseringsberekening geeft een foutmelding:
[...]
De config heb ik verder niet gewijzigd, wat kan er aan de hand zijn?
Helaas, werkt niet:rescla schreef op woensdag 15 april 2026 @ 21:54:
[...]
Je moet de "ML modellen trainen" run even triggeren. Als die klaar is doet hij het weer.
Vervogens alles opnieuw geladen. Deze foutmelding staat er een paar keer in: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 2572026-04-15 21:58:59 INFO: Loaded 6 secrets from ../data/secrets.json 2026-04-15 21:58:59 INFO: Validating configuration with ConfigurationV0 2026-04-15 21:58:59 info: Day Ahead Optimalisering versie: 2026.04.2 2026-04-15 21:58:59 info: Day Ahead Optimalisering gestart op: 15-04-2026 21:58:59 2026-04-15 21:58:59 info: Day Ahead Optimalisatie gestart: 15-04-2026 21:58:59 taak: train_ml_predictions 2026-04-15 21:58:59 info: KNMI-weerstation: 278 HEINO 2026-04-15 21:58:59 info: Er zijn nog geen winddata van knmi aanwezig 2026-04-15 21:59:00 info: Er zijn data van het KNMI binnengekomen vanaf 2023-04-14 00:00:00+02:00 tot en met 2026-04-09 23:00:00+02:00 2026-04-15 22:00:32 fout: Er is een fout opgetreden, zie de fout-tracering Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( ~~~~~~~~~~~~~~~~~~~~~~~^ cursor, str_statement, effective_parameters, context ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute query = self.mogrify(query, args) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify query = query % self._escape_args(args, conn) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args return {key: conn.literal(val) for (key, val) in args.items()} ~~~~~~~~~~~~^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal return self.escape(obj, self.encoders) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape return converters.escape_item(obj, self.charset, mapping=mapping) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item val = encoder(val, mapping) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float raise ProgrammingError("%s can not be used with MySQL" % s) pymysql.err.ProgrammingError: nan can not be used with MySQL The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/root/dao/prog/da_base.py", line 694, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 644, in train_ml_predictions solar_predictor.run_train() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/solar_predictor.py", line 979, in run_train weather_data = self.get_weatherdata(start=start) File "/root/dao/prog/solar_predictor.py", line 895, in get_weatherdata self.import_knmi_df(start, end) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/root/dao/prog/solar_predictor.py", line 854, in import_knmi_df self.get_and_save_knmi_data(start, latest_dt, ["FH"]) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/solar_predictor.py", line 824, in get_and_save_knmi_data self.db_da.savedata(save_df, tablename="values") ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/lib/db_manager.py", line 308, in savedata connection.execute(insert_value) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1419, in execute return meth( self, distilled_parameters, execution_options or NO_OPTIONS, ) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection return connection._execute_clauseelement( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ self, distilled_params, execution_options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement ret = self._execute_context( dialect, ...<8 lines>... cache_hit=cache_hit, ) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( ~~~~~~~~~~~~~~~~~~~~~~~~~^ dialect, context, statement, parameters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ e, str_statement, effective_parameters, cursor, context ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( ~~~~~~~~~~~~~~~~~~~~~~~^ cursor, str_statement, effective_parameters, context ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute query = self.mogrify(query, args) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify query = query % self._escape_args(args, conn) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args return {key: conn.literal(val) for (key, val) in args.items()} ~~~~~~~~~~~~^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal return self.escape(obj, self.encoders) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape return converters.escape_item(obj, self.charset, mapping=mapping) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item val = encoder(val, mapping) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float raise ProgrammingError("%s can not be used with MySQL" % s) sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) nan can not be used with MySQL [SQL: INSERT INTO `values` (variabel, time, value) VALUES (%(variabel)s, %(time)s, %(value)s)] [parameters: {'variabel': 23, 'time': 1740513600, 'value': nan}] (Background on this error at: https://sqlalche.me/e/20/f405) Traceback (most recent call last): File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( ~~~~~~~~~~~~~~~~~~~~~~~^ cursor, str_statement, effective_parameters, context ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute query = self.mogrify(query, args) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify query = query % self._escape_args(args, conn) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args return {key: conn.literal(val) for (key, val) in args.items()} ~~~~~~~~~~~~^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal return self.escape(obj, self.encoders) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape return converters.escape_item(obj, self.charset, mapping=mapping) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item val = encoder(val, mapping) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float raise ProgrammingError("%s can not be used with MySQL" % s) pymysql.err.ProgrammingError: nan can not be used with MySQL The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 4709, in <module> main() ~~~~^^ File "/root/dao/webserver/../prog/day_ahead.py", line 4703, in main da_calc.run_task_function("train_ml_predictions") ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_base.py", line 694, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 644, in train_ml_predictions solar_predictor.run_train() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/solar_predictor.py", line 979, in run_train weather_data = self.get_weatherdata(start=start) File "/root/dao/prog/solar_predictor.py", line 895, in get_weatherdata self.import_knmi_df(start, end) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/root/dao/prog/solar_predictor.py", line 854, in import_knmi_df self.get_and_save_knmi_data(start, latest_dt, ["FH"]) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/solar_predictor.py", line 824, in get_and_save_knmi_data self.db_da.savedata(save_df, tablename="values") ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/lib/db_manager.py", line 308, in savedata connection.execute(insert_value) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1419, in execute return meth( self, distilled_parameters, execution_options or NO_OPTIONS, ) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection return connection._execute_clauseelement( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ self, distilled_params, execution_options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement ret = self._execute_context( dialect, ...<8 lines>... cache_hit=cache_hit, ) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( ~~~~~~~~~~~~~~~~~~~~~~~~~^ dialect, context, statement, parameters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ e, str_statement, effective_parameters, cursor, context ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( ~~~~~~~~~~~~~~~~~~~~~~~^ cursor, str_statement, effective_parameters, context ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute query = self.mogrify(query, args) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify query = query % self._escape_args(args, conn) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args return {key: conn.literal(val) for (key, val) in args.items()} ~~~~~~~~~~~~^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal return self.escape(obj, self.encoders) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape return converters.escape_item(obj, self.charset, mapping=mapping) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item val = encoder(val, mapping) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float raise ProgrammingError("%s can not be used with MySQL" % s) sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) nan can not be used with MySQL [SQL: INSERT INTO `values` (variabel, time, value) VALUES (%(variabel)s, %(time)s, %(value)s)] [parameters: {'variabel': 23, 'time': 1740513600, 'value': nan}] (Background on this error at: https://sqlalche.me/e/20/f405)
code:
1
2
| ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] training data did not have the following fields: windvelocity |
Ik ben niet de ontwikkelaar, maar dat die feature names mismatch komt doordat het ML model niet opnieuw getrained is. Die andere fout met nan in values 23, values 23 is windsnelheid. Waarom die nan is weet ik niet, er lijkt iets fout te gaan bij het verwerken van de data die van het KNMI terugkomt?diamanten schreef op woensdag 15 april 2026 @ 22:02:
[...]
Helaas, werkt niet:
[...]
Vervogens alles opnieuw geladen. Deze foutmelding staat er een paar keer in:code:
1 2 ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] training data did not have the following fields: windvelocity
Mocht je nog bijhouden hoeveel interesse er is, ik ben ook geïnteresseerd! Mijn WP kan een Koel of een Verwarm offset meegeven met een "PV request" toggle.KC27 schreef op donderdag 4 december 2025 @ 09:43:
[...]
Klopt, zit er (nog) niet in, maar bij mij gebruikt hij maar 50W (passieve koeling met twee waterpompen), dus ik vind het niet te moeite om dat te optimaliseren.
Zie de changelog: je moet je ml-modellen opnieuw trainen.diamanten schreef op woensdag 15 april 2026 @ 21:50:
Deze week geupdate naar 2026.04.2.
Toevallig keek ik er net naar: prijzen ophalen werkt wel, maar een optimaliseringsberekening geeft een foutmelding:
[...]
De config heb ik verder niet gewijzigd, wat kan er aan de hand zijn?
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
Dat NaN-probleem is opgelost in versie 2026.4.3 die komt over een klein uurtje.rescla schreef op woensdag 15 april 2026 @ 22:30:
[...]
Ik ben niet de ontwikkelaar, maar dat die feature names mismatch komt doordat het ML model niet opnieuw getrained is. Die andere fout met nan in values 23, values 23 is windsnelheid. Waarom die nan is weet ik niet, er lijkt iets fout te gaan bij het verwerken van de data die van het KNMI terugkomt?
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
Versie 2026.4.3 is gepubliceerd.
Deze is exact gelijk aan testversie 2026.4.3.rc1.
Dit staat in de changelog:
Changes
- Added flatpickr datetime picker in Home-menu (PR from @Dogooder)
Fixes
- changed ev-ampere from integer to float
- Skip NaN values when persisting DB records
- Fix startup issue (PR from @simnet)
Voor een nadere toelichting verwijs ik graag naar de aankondiging van de testversie:
KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"
Deze is exact gelijk aan testversie 2026.4.3.rc1.
Dit staat in de changelog:
Changes
- Added flatpickr datetime picker in Home-menu (PR from @Dogooder)
Fixes
- changed ev-ampere from integer to float
- Skip NaN values when persisting DB records
- Fix startup issue (PR from @simnet)
Voor een nadere toelichting verwijs ik graag naar de aankondiging van de testversie:
KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"
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
Ik krijg deze foutmelding in de supervisor logs. DAO start niet.KC27 schreef op woensdag 15 april 2026 @ 23:15:
Versie 2026.4.3 is gepubliceerd.
Deze is exact gelijk aan testversie 2026.4.3.rc1.
Dit staat in de changelog:
Changes
- Added flatpickr datetime picker in Home-menu (PR from @Dogooder)
Fixes
- changed ev-ampere from integer to float
- Skip NaN values when persisting DB records
- Fix startup issue (PR from @simnet)
Voor een nadere toelichting verwijs ik graag naar de aankondiging van de testversie:
KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"
code:
Gelukkig heb ik een backup 1
2
| 2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.docker.manager] Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist 2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.addons.addon] Could not start container for app 94e386ba_day_ahead_opt: Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist |
Het is blijkbaar een hardware probleem. Het fannetje van mijn intel-nuc is kapot gedraaid na 7 jaarKC27 schreef op woensdag 15 april 2026 @ 19:29:
[...]
Als je "handmatig" prijs-data ophaalt bij Nordpool gaat dat per dag: dus eerst van vandaag; daarna van morgen.
Komen ook de meteodata binnen?
Heel home assistant was traag geworden en begon requests te missen door oververhitting.
Deze snap ik echt niet.balk schreef op donderdag 16 april 2026 @ 06:48:
[...]
Ik krijg deze foutmelding in de supervisor logs. DAO start niet.code:Gelukkig heb ik een backup
1 2 2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.docker.manager] Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist 2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.addons.addon] Could not start container for app 94e386ba_day_ahead_opt: Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist
:strip_exif()/f/image/hM165vZvsKhiaQZKgjDN3dDS.png?f=user_large)
168 andere gebruikers gingen je inmiddels voor ...
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
Ik zal het nog eens proberenKC27 schreef op donderdag 16 april 2026 @ 09:21:
[...]
Deze snap ik echt niet.
[Afbeelding]
168 andere gebruikers gingen je inmiddels voor ...
Dank, het werkt weer!KC27 schreef op woensdag 15 april 2026 @ 23:03:
[...]
Dat NaN-probleem is opgelost in versie 2026.4.3 die komt over een klein uurtje.
Hallo Allen,
Mijn solar prediction grafiekjes zien er allemaal een beetje uit als onderstaande.
Hierin valt op dat de werkelijke opwek eigenlijk altijd wat eerder is en ook eerder stopt.
Aan welke waarde moet ik nu gaan sleutelen om dit te verbeteren?
Mijn solar prediction grafiekjes zien er allemaal een beetje uit als onderstaande.
Hierin valt op dat de werkelijke opwek eigenlijk altijd wat eerder is en ook eerder stopt.
Aan welke waarde moet ik nu gaan sleutelen om dit te verbeteren?
WP: DeWarmte PompAO 6.4Kw Hybrid, CV Intergas, Thermostaat Netatmo, 70m2 vvw, PV: 34x 325wp solaredge omvormer en optimizers,Wan ip adres weten? https://mijnips.eu
Ik denk dat er niks mis mee is.f.welvering schreef op donderdag 16 april 2026 @ 11:42:
Hallo Allen,
Mijn solar prediction grafiekjes zien er allemaal een beetje uit als onderstaande.
Hierin valt op dat de werkelijke opwek eigenlijk altijd wat eerder is en ook eerder stopt.
Aan welke waarde moet ik nu gaan sleutelen om dit te verbeteren?
[Afbeelding]
Heb je de panelen op oost liggen?
Kun je ook de tabel delen, dan zie je de r².
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 loop van de middag steeds meer schaduw op de panelen?f.welvering schreef op donderdag 16 april 2026 @ 11:42:
Hallo Allen,
Mijn solar prediction grafiekjes zien er allemaal een beetje uit als onderstaande.
Hierin valt op dat de werkelijke opwek eigenlijk altijd wat eerder is en ook eerder stopt.
Aan welke waarde moet ik nu gaan sleutelen om dit te verbeteren?
[Afbeelding]
@KC27 ik ben deze week gestart via de addon in HA! Tof project weer dit zeg!
Ik had wat problemen met de normale release dus heb de experimentele versie gepakt. Deze kreeg ik wel werkende in HA. De normale liep eruit iets met Da_calc oid. Kon er niks over vinden in de Issues.
Vast enorme N00P vraag maar is er een manier om terug te switchen/up te graden? Ik zie hier nergens wat over namelijk.
Ik had wat problemen met de normale release dus heb de experimentele versie gepakt. Deze kreeg ik wel werkende in HA. De normale liep eruit iets met Da_calc oid. Kon er niks over vinden in de Issues.
Vast enorme N00P vraag maar is er een manier om terug te switchen/up te graden? Ik zie hier nergens wat over namelijk.
We're machines just like everything else in nature. (gasloos sinds 01-10-2020, WP: SW75YAA/ERSD-VM2D, DJG WPS 300, 18 hp CPC, 11,1 kWp
Panelen liggen inderdaad oostelijk.KC27 schreef op donderdag 16 april 2026 @ 12:12:
[...]
Ik denk dat er niks mis mee is.
Heb je de panelen op oost liggen?
Kun je ook de tabel delen, dan zie je de r².
Misschien interpeteer ik het dan verkeerd, ik had het idee dat die mooie boog met de opwek mee moest lopen.
Mijn tabel:
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
| Straling Productie
uur gemeten prognose gemeten prognose dao prognose ml
J/cm2 J/cm2 kWh kWh kWh
00:00 0.000 0.000 0.000 0.000 0.003
01:00 0.000 0.000 0.000 0.000 0.003
02:00 0.000 0.000 0.000 0.000 0.013
03:00 0.000 0.000 0.000 0.000 0.012
04:00 0.000 0.000 0.000 0.000 0.012
05:00 0.000 0.000 0.000 0.000 0.012
06:00 1.000 1.000 0.000 0.021 0.012
07:00 27.000 27.000 0.456 0.646 0.562
08:00 80.000 82.000 1.828 2.108 2.447
09:00 135.000 139.000 3.092 3.635 4.268
10:00 183.000 190.000 5.928 4.790 6.206
11:00 223.000 232.000 8.176 5.498 6.505
12:00 199.000 259.000 5.944 4.271 5.684
13:00 181.000 270.000 5.128 3.355 3.951
14:00 248.000 258.000 4.136 3.361 3.410
15:00 205.000 234.000 2.096 1.354 2.351
16:00 198.000 199.000 0.860 0.379 2.175
17:00 152.000 143.000 0.636 0.291 1.068
18:00 94.000 87.000 0.424 0.180 0.965
19:00 39.000 20.000 0.196 0.719 0.488
20:00 4.000 3.000 0.012 0.086 0.023
21:00 0.000 0.000 0.000 0.000 0.003
22:00 0.000 0.000 0.000 0.000 0.003
23:00 0.000 0.000 0.000 0.000 0.002
Totaal 1969.000 2144.000 38.912 30.695 40.182
R² 0.933 0.878 0.934 |
[ Voor 6% gewijzigd door f.welvering op 16-04-2026 16:15 ]
WP: DeWarmte PompAO 6.4Kw Hybrid, CV Intergas, Thermostaat Netatmo, 70m2 vvw, PV: 34x 325wp solaredge omvormer en optimizers,Wan ip adres weten? https://mijnips.eu
Is inderdaad allemaal prima.f.welvering schreef op donderdag 16 april 2026 @ 16:14:
[...]
Panelen liggen inderdaad oostelijk.
Misschien interpeteer ik het dan verkeerd, ik had het idee dat die mooie boog met de opwek mee moest lopen.
Mijn tabel:code:[Afbeelding]
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 29Straling Productie uur gemeten prognose gemeten prognose dao prognose ml J/cm2 J/cm2 kWh kWh kWh 00:00 0.000 0.000 0.000 0.000 0.003 01:00 0.000 0.000 0.000 0.000 0.003 02:00 0.000 0.000 0.000 0.000 0.013 03:00 0.000 0.000 0.000 0.000 0.012 04:00 0.000 0.000 0.000 0.000 0.012 05:00 0.000 0.000 0.000 0.000 0.012 06:00 1.000 1.000 0.000 0.021 0.012 07:00 27.000 27.000 0.456 0.646 0.562 08:00 80.000 82.000 1.828 2.108 2.447 09:00 135.000 139.000 3.092 3.635 4.268 10:00 183.000 190.000 5.928 4.790 6.206 11:00 223.000 232.000 8.176 5.498 6.505 12:00 199.000 259.000 5.944 4.271 5.684 13:00 181.000 270.000 5.128 3.355 3.951 14:00 248.000 258.000 4.136 3.361 3.410 15:00 205.000 234.000 2.096 1.354 2.351 16:00 198.000 199.000 0.860 0.379 2.175 17:00 152.000 143.000 0.636 0.291 1.068 18:00 94.000 87.000 0.424 0.180 0.965 19:00 39.000 20.000 0.196 0.719 0.488 20:00 4.000 3.000 0.012 0.086 0.023 21:00 0.000 0.000 0.000 0.000 0.003 22:00 0.000 0.000 0.000 0.000 0.003 23:00 0.000 0.000 0.000 0.000 0.002 Totaal 1969.000 2144.000 38.912 30.695 40.182 R² 0.933 0.878 0.934
Die globale straling data van Meteoserver (prognose) en KNMI (gemeten) weten niks van de oriëntatie en de helling van jouw panelen, dat is gewoon de straling op een plat vlak. DAO en de voorspeller vertalen dat naar jouw panelen. De ml voorspelling heeft een goede correlatie (0,93) met de werkelijke productie.
Dus: houden zo.
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
Je kunt niet zomaar switchen/upgraden van de test-versie naar de productie versie.ThaDude schreef op donderdag 16 april 2026 @ 15:36:
@KC27 ik ben deze week gestart via de addon in HA! Tof project weer dit zeg!
Ik had wat problemen met de normale release dus heb de experimentele versie gepakt. Deze kreeg ik wel werkende in HA. De normale liep eruit iets met Da_calc oid. Kon er niks over vinden in de Issues.
Vast enorme N00P vraag maar is er een manier om terug te switchen/up te graden? Ik zie hier nergens wat over namelijk.
Je kunt wel de productieversie opnieuw installeren en daarna met behulp van samba je config kopiëren van de experimentele test-versie naar de productie-versie.
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
@KC27 oke en staat dit ergens beschreven dan (wat te kopieren) ?
We're machines just like everything else in nature. (gasloos sinds 01-10-2020, WP: SW75YAA/ERSD-VM2D, DJG WPS 300, 18 hp CPC, 11,1 kWp
Helaas niet maar het gaat om "options.json"ThaDude schreef op donderdag 16 april 2026 @ 17:13:
@KC27 oke en staat dit ergens beschreven dan (wat te kopieren) ?
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
Ik snap het ook niet. Maar nu werkt het wel.KC27 schreef op donderdag 16 april 2026 @ 09:21:
[...]
Deze snap ik echt niet.
[Afbeelding]
168 andere gebruikers gingen je inmiddels voor ...
En hij rekent ook?
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
Ik lees twee verschillende dingen over het berekenen van de cycle cost.
In de wiki:
In het SETTINGS.md document:
Dat is nogal een verschil, vandaar dat ik even wil navragen de originele intentie is geweest.
In de wiki:
Dus dan kom ik bij mij op 0,02305 uit.Afschrijfkosten (in euro) van het laden óf ontladen van 1 kWh. B.v. als 1 hele cycle van een 5kWh batterij 10 cent afschrijving kost, dan vul je €0.10/5kWh/2(laden+ ontladen) = 0.01 in.
In het SETTINGS.md document:
Dan kom ik op 2,83 uit.cycle cost
Degradation cost per full charge-discharge cycle in euros. Used to factor battery wear into optimization. Calculate as: (battery_cost / warranted_cycles). Example: €5000 battery with 6000 cycles = €0.83/cycle.
Dat is nogal een verschil, vandaar dat ik even wil navragen de originele intentie is geweest.
Nog een additionele vraag. Ik zou er vanuit gaan dat het logischer is om de overtollige zonnestroom op te gaan slaan. Maar het model zoals ik dit interpreteer lijkt de zonnestroom gewoon rustig terug te leveren 1:1 en alleen op goedkope uren te gaan laden.
Ik heb alleen het onderbuik gevoel dat ik iets verkeerds geconfigureerd heb. Mijn persoonlijke redenatie is namelijk dat je de zonnestroom alleen negeert als er genoeg tijd is met negatieve energie, die op papier natuurlijk goedkoper is dan je zonnestroom ivm afschrijving etc. Al is het momenteel natuurlijk met salderen dat het misschien wel voordeliger is, maar daar houd mijn brein naar 3 dagen DAO klooien even op
/f/image/DqTJIBN5N20FeOkb82DGeUrH.png?f=fotoalbum_large)
Mijn config:
Ik heb alleen het onderbuik gevoel dat ik iets verkeerds geconfigureerd heb. Mijn persoonlijke redenatie is namelijk dat je de zonnestroom alleen negeert als er genoeg tijd is met negatieve energie, die op papier natuurlijk goedkoper is dan je zonnestroom ivm afschrijving etc. Al is het momenteel natuurlijk met salderen dat het misschien wel voordeliger is, maar daar houd mijn brein naar 3 dagen DAO klooien even op
/f/image/DqTJIBN5N20FeOkb82DGeUrH.png?f=fotoalbum_large)
Mijn 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 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{ "config_version": 0, "homeassistant": { "ip_address": "supervisor", "protocol_api": "http" }, "database_ha": { "engine": "sqlite", "db_path": "/homeassistant", "database": "home-assistant_v2.db" }, "database_da": { "engine": "sqlite", "db_path": "../data", "database": "day_ahead.db" }, "meteoserver_key": "!secret meteoserver-key", "meteoserver_model": "harmonie", "meteoserver_attemps": 2, "prices": { "source_day_ahead": "tibber", "energy_taxes_consumption": { "2026-04-01": 0.09161 }, "energy_taxes_production": { "2026-04-01": 0.09161 }, "cost_supplier_consumption": { "2026-04-01": 0.020496 }, "cost_supplier_production": { "2026-04-01": 0.020496 }, "vat_consumption": { "2026-04-01": 21.0 }, "vat_production": { "2026-04-01": 21.0 }, "last_invoice": "2026-04-15", "tax_refund": true, "regular high": 0.33, "regular low": 0.28, "switch to low": 21 }, "logging_level": "info", "use_calc_baseload": false, "baseload_calc_periode": 56, "baseload": [ 1.12, 0.98, 0.92, 0.85, 1.10, 1.34, 1.04, 1.25, 1.64, 1.34, 1.03, 0.95, 1.15, 1.09, 1.02, 1.19, 1.31, 1.49, 2.12, 1.83, 1.73, 2.38, 2.04, 1.28 ], "graphical_backend": "", "graphics": { "style": "Solarize_Light2", "battery_balance": true, "prices_consumption": true, "prices_production": false, "prices_spot": true, "average_consumption": true, "show": "true" }, "interval": "15min", "strategy": "minimize cost", "max_gap": 0.005, "notifications": { "opstarten": false, "berekening": false }, "grid": { "max_power": 17.0 }, "history": { "save_days": 7 }, "dashboard": { "port": 5000 }, "battery": [ { "name": "Voll 12 XL", "entity_actual_level": "sensor.deye_sunsynk_sol_ark_3_phase_battery_state_of_charge", "capacity": 61.4, "upper_limit": 100, "lower_limit": 20, "optimal_lower_level": 33, "penalty_low_soc": 0.00025, "charge_stages": [ {"power": 0.0, "efficiency": 1.00}, {"power": 2000.0, "efficiency": 0.944}, {"power": 5000.0, "efficiency": 0.970}, {"power": 10000.0, "efficiency": 0.975}, {"power": 15000.0, "efficiency": 0.968}, {"power": 17000.0, "efficiency": 0.961} ], "discharge_stages": [ {"power": 0.0, "efficiency": 1.00}, {"power": 2000.0, "efficiency": 0.944}, {"power": 5000.0, "efficiency": 0.970}, {"power": 10000.0, "efficiency": 0.975}, {"power": 15000.0, "efficiency": 0.968}, {"power": 17000.0, "efficiency": 0.961} ], "reduced_hours": {}, "reduce_power_low_soc": [], "reduce_power_high_soc": [], "dc_to_bat_efficiency": 0.985, "bat_to_dc_efficiency": 0.985, "minimum_power": 200, "cycle_cost": 0.02305, "entity_set_power_feedin": "input_number.dao_power_feedin", "entity_set_operating_mode": "input_select.dao_operating_mode", "entity_set_operating_mode_on": "Aan", "entity_set_operating_mode_off": "Uit", "entity_balance_switch": "input_boolean.dao_balance_switch", "entity_from_pv": "input_number.dao_power_from_pv", "entity_from_ac": "input_number.dao_power_from_ac", "entity_calculated_soc": "input_number.dao_calculated_soc", "solar": [], "entity from batterij": "input_number.dao_power_from_battery" } ], "solar": [ { "name": "Dak voor", "tilt": 50.0, "orientation": 26.0, "capacity": 7.8, "yield_factor": 0.01808, "strings": [], "ml_prediction": false, "entities_sensors": [ "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total" ], "max_power": 8.0 } ], "electric_vehicle": [], "machines": [], "boiler": { "boiler_present": false, "entity actual temp.": "sensor.boiler_gemeten", "entity setpoint": "sensor.boiler_ingesteld", "entity hysterese": "sensor.hysterese_hot_water", "cop": 2.9, "cooling rate": 0.4, "volume": 180, "heating allowed below": 44, "elec. power": 1500, "activate service": "press", "activate entity": "input_button.hw_trigger" }, "heating": { "heater_present": false, "degree days factor": 3.6, "stages": [ { "max_power": 225, "cop": 7.1 }, { "max_power": 300, "cop": 7.0 }, { "max_power": 400, "cop": 6.5 }, { "max_power": 500, "cop": 6.0 }, { "max_power": 600, "cop": 5.5 }, { "max_power": 750, "cop": 5.0 }, { "max_power": 1000, "cop": 4.5 }, { "max_power": 1250, "cop": 4.0 } ], "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead", "adjustment factor": 0.04 }, "tibber": { "api_token": "!secret tibber_api_token", "api_url": "https://api.tibber.com/v1-beta/gql" }, "xgboost": { "tune_hyperparameters": true }, "report": { "entities_grid_consumption": [ "sensor.energy_consumed_tariff_1", "sensor.energy_consumed_tariff_2" ], "entities_grid_production": [ "sensor.energy_produced_tariff_1", "sensor.energy_produced_tariff_2" ], "entities_solar_production_ac": [ "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total" ], "entities_solar_production_dc": [], "entities_ev_consumption": [ "sensor.oprit_l1_energy_meter", "sensor.oprit_l2_energy_meter", "sensor.oprit_r1_energy_meter" ], "entities_wp_consumption": [ "sensor.heliotherm_heatpump_electricity_meter_total_gesamt" ], "entities_boiler_consumption": [], "entities_battery_consumption": [ "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_in_total" ], "entities_battery_production": [ "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_out_total" ], "entities_machine_consumption": [] }, "scheduler": { "active": true, "schedule": [ { "time": "0432", "action": "get_meteo_data" }, { "time": "1032", "action": "get_meteo_data" }, { "time": "1632", "action": "get_meteo_data" }, { "time": "2232", "action": "get_meteo_data" }, { "time": "1255", "action": "get_day_ahead_prices" }, { "time": "1355", "action": "get_day_ahead_prices" }, { "time": "1455", "action": "get_day_ahead_prices" }, { "time": "1555", "action": "get_day_ahead_prices" }, { "time": "1655", "action": "get_day_ahead_prices" }, { "time": "xx00", "action": "calc_optimum" }, { "time": "xx15", "action": "calc_optimum" }, { "time": "xx30", "action": "calc_optimum" }, { "time": "xx45", "action": "calc_optimum" }, { "time": "2359", "action": "clean_data" }, { "time": "2233", "action": "calc_baseloads" } ] } }
Deze post, en een hele serie er na praten hier over. Eerder is er ook al veel over gepraat. Het hangt er van af wat je wil; wil je de gedane investering 'eerlijk terugbetalen' dan kies je een hogere cycle cost van 10 cent. Wil je vooruit sparen voor een toekomstige uitgave (goedkoper per kWh) dan kies je een lagere waarde. Ben je de uitgave vergeten, dan kies je 1 cent om onnodig (ont)laden te voorkomen.thomvh schreef op vrijdag 17 april 2026 @ 00:36:
Ik lees twee verschillende dingen over het berekenen van de cycle cost.
In de wiki:
[...]
Dus dan kom ik bij mij op 0,02305 uit.
In het SETTINGS.md document:
[...]
Dan kom ik op 2,83 uit.
Dat is nogal een verschil, vandaar dat ik even wil navragen de originele intentie is geweest.
De waarde die je quote uit SETTINGS.md moet je nog delen door het aantal kWh van je accu. Veel mensen zweven ergens tussen de 12 en 2 cent per kWh per cycle. In de DAO settings is dat tussen de 6 en 1 cent (want de setting is per halve cycle).
Jouw batterij is vrij fors, maar ook met vrij forse omvormer; in ongeveer 4 uur kan je hem vol krijgen. Het is kosten effectiever om goedkoop van het net te laden tussen 12 en 16 en daaromheen zonnestroom te verkopen. DAO maakt elk kwartier of uur het sommetje opnieuw wat voor jouw situatie het meest optimale is. Jij gebruikt "strategy": "minimize cost", dus dat resulteert in meer laden vanaf het net. "minimize consumption" is minder kosteneffectief maar kan beter "voelen".thomvh schreef op vrijdag 17 april 2026 @ 10:37:
Nog een additionele vraag. Ik zou er vanuit gaan dat het logischer is om de overtollige zonnestroom op te gaan slaan. Maar het model zoals ik dit interpreteer lijkt de zonnestroom gewoon rustig terug te leveren 1:1 en alleen op goedkope uren te gaan laden.
Ik heb alleen het onderbuik gevoel dat ik iets verkeerds geconfigureerd heb. Mijn persoonlijke redenatie is namelijk dat je de zonnestroom alleen negeert als er genoeg tijd is met negatieve energie, die op papier natuurlijk goedkoper is dan je zonnestroom ivm afschrijving etc. Al is het momenteel natuurlijk met salderen dat het misschien wel voordeliger is, maar daar houd mijn brein naar 3 dagen DAO klooien even op![]()
[Afbeelding]
Wanneer je een lagere cycle cost kiest (jij hebt nu 2,305 cent per kWh per halve cycle) dan zal je zien dat de berekening anders gaat worden. Ik gebruik overigens 1 cent per kWh per halve cycle.
kan je even je config tussen quote blokken zetten?
Dit snap ik en dat had ik ook gelezen. Ik zie alleen een contradictie in de teksten in github. De een zegt dat het hanteert wat een volledige cyclus cost. De ander zegt dat het de kosten per kWh voor een cyclus kost. Daar zit nogal een verschil. Voer ik namelijk de volledige cyclus als kost in. Dan wordt de batterij gewoon niet gebruikt, wat volkomen logisch is. Dus ik wilde even dubbel checken of het dus per kWh "hoort" te zijn. Of da het echt per cyclus is. Ik heb hem voor nu op de kWh berekening gezet, wat je ook ziet.balk schreef op vrijdag 17 april 2026 @ 12:47:
[...]
Deze post, en een hele serie er na praten hier over. Eerder is er ook al veel over gepraat. Het hangt er van af wat je wil; wil je de gedane investering 'eerlijk terugbetalen' dan kies je een hogere cycle cost van 10 cent. Wil je vooruit sparen voor een toekomstige uitgave (goedkoper per kWh) dan kies je een lagere waarde. Ben je de uitgave vergeten, dan kies je 1 cent om onnodig (ont)laden te voorkomen.
De waarde die je quote uit SETTINGS.md moet je nog delen door het aantal kWh van je accu. Veel mensen zweven ergens tussen de 12 en 2 cent per kWh per cycle. In de DAO settings is dat tussen de 6 en 1 cent (want de setting is per halve cycle).
nevermind, verkeerd gelezen.KC27 schreef op zondag 14 december 2025 @ 09:10:
[...]
In DAO is maar 1 parameter waarin je de totale (gesommeerde) "opslag" van je leverancier onderbrengt. Bij Tibber ontvang je vanaf 1 januari bij teruglevering nog wel de opslag (je inkoopvergoeding) terug (dat zijn de salderingsregels), maar je betaalt ook een verkoopvergoeding aan Tibber voor het terugleveren.
Als je op jaarbasis meer verbruikt dan teruglevert zijn die twee samen precies nul.
Maar als je meer teruglevert dan afneemt (op jaarbasis) moet daar een negatief bedrag (-0.020496) staan,omdat je de inkoopvergoeding niet meer mag salderen.
Ik vraag me toch af of dit klopt. Moet de config voor Tibber niet als volgt zijn, ongeacht of je binnen salderen bent of niet? Buiten salderen zal je energy_taxes_production niet meer terug krijgen.
[code]
"prices": {
"energy_taxes_consumption": { "2026-01-01": 0.09157 },
"energy_taxes_production": { "2026-01-01": 0.09157 },
"cost_supplier_consumption": { "2026-01-01": 0.020496 },
"cost_supplier_production": { "2026-01-01": -0.020496 }
[/code]
Dus met een negatieve vergoeding? Zoals ik het begrijp betaal ik 2,0496 cent per geconsumeerde kWh en en krijg ik minus 2,0496 cent per geleverde kWh. Dus dat moet ik betalen. Zie ook hier.
@thomvh jij gebruikt een positieve vergoeding; heb je Tibber? Dat verklaart ook (ten onrechte) de neiging tot terugleveren.
[ Voor 4% gewijzigd door balk op 17-04-2026 14:00 . Reden: nevermind ]
Klopt, het pakket is vrij fors omdat we eerlijk gezegd gewoon een erg goede deal kregen, we het ook voor noodstroom willen gebruiken en daarom ook het hogere vermogen omvormer omdat het huis (Alles is electrisch WP, koken, oven etc volledig gasloos) en eventueel elektrische auto's ook gewoon geladen moeten kunnen worden in een noodgeval.balk schreef op vrijdag 17 april 2026 @ 13:01:
[...]
Jouw batterij is vrij fors, maar ook met vrij forse omvormer; in ongeveer 4 uur kan je hem vol krijgen. Het is kosten effectiever om goedkoop van het net te laden tussen 12 en 16 en daaromheen zonnestroom te verkopen. DAO maakt elk kwartier of uur het sommetje opnieuw wat voor jouw situatie het meest optimale is. Jij gebruikt "strategy": "minimize cost", dus dat resulteert in meer laden vanaf het net. "minimize consumption" is minder kosteneffectief maar kan beter "voelen".
Wanneer je een lagere cycle cost kiest (jij hebt nu 2,305 cent per kWh per halve cycle) dan zal je zien dat de berekening anders gaat worden. Ik gebruik overigens 1 cent per kWh per halve cycle.
kan je even je config tussen quote blokken zetten?
Ja ik kom op 2,305 cent uit wanneer ik de aanschaf kosten (Inclusief omvormer) neem en deze door het aantal cyclussen deel die ik als garantie krijg ((aanschafwaarde / (cycli x kWh) ) / 2). Dat was eigenlijk de volledige onderliggende beredenering.
Maar bedankt voor de uitleg, ik had ergens al een donker bruin vermoeden dat het door het hoge vermogen kunnen laden en ontladen kwam waardoor het gewoon interessanter is. Nu nog even de afweging maken of het de extra slijtage waard is...
Ik heb voor de grap de MQTT logs eens vergeleken van het model wat mijn leverancier gebruikt als aansturing. Die doen dus in de "idle" mode eigenlijk balanceren (Als in NOM), wat ik alleen als ik naar de DAO graphs kijk het model eigenlijk niet wil. Die hebben een soort hybrid want die doen dus altijd NOM tenzij ze aan het verkopen zijn.
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 Ontladen (Tot 25%, want 25% beschikbaar voor Noodstroom; Grid peak shaving moet UIT als je wilt ontladen anders ontlaadt de omvormer niet) [Tue Mar 03 08:01:54] Set 'Grid peak shaving' to 'Disabled': Saved. [Tue Mar 03 08:01:49] Set 'Work mode' to 'Selling first': Saved. [Tue Mar 03 08:01:44] Set 'Grid charge point 6' to 'false': Saved. [Tue Mar 03 08:01:40] Set 'Grid charge point 5' to 'false': Saved. [Tue Mar 03 08:01:35] Set 'Grid charge point 4' to 'false': Saved. [Tue Mar 03 08:01:31] Set 'Grid charge point 3' to 'false': Saved. [Tue Mar 03 08:01:30] Set 'Grid charge point 2' to 'false': Saved. [Tue Mar 03 08:01:25] Set 'Grid charge point 1' to 'false': Saved. [Tue Mar 03 08:01:20] Set 'Capacity point 6' to '25': Saved. [Tue Mar 03 08:01:16] Set 'Capacity point 5' to '25': Saved. [Tue Mar 03 08:01:11] Set 'Capacity point 4' to '25': Saved. [Tue Mar 03 08:01:07] Set 'Capacity point 3' to '25': Saved. [Tue Mar 03 08:01:02] Set 'Capacity point 2' to '25': Saved. [Tue Mar 03 08:00:58] Set 'Capacity point 1' to '25': Saved. Idle [Tue Mar 03 06:46:56] Set 'Grid peak shaving' to 'Enabled': Saved. [Tue Mar 03 06:46:51] Set 'Work mode' to 'Zero export to CT': Saved. [Tue Mar 03 06:46:47] Set 'Grid charge point 6' to 'true': Saved. [Tue Mar 03 06:46:42] Set 'Grid charge point 5' to 'true': Saved. [Tue Mar 03 06:46:38] Set 'Grid charge point 4' to 'true': Saved. [Tue Mar 03 06:46:33] Set 'Grid charge point 3' to 'true': Saved. [Tue Mar 03 06:46:29] Set 'Grid charge point 2' to 'true': Saved. [Tue Mar 03 06:46:24] Set 'Grid charge point 1' to 'true': Saved. [Tue Mar 03 06:46:20] Set 'Capacity point 6' to '25': Saved. [Tue Mar 03 06:46:15] Set 'Capacity point 5' to '25': Saved. [Tue Mar 03 06:46:11] Set 'Capacity point 4' to '25': Saved. [Tue Mar 03 06:46:06] Set 'Capacity point 3' to '25': Saved. [Tue Mar 03 06:46:02] Set 'Capacity point 2' to '25': Saved. [Tue Mar 03 06:45:57] Set 'Capacity point 1' to '25': Saved. Opladen Set 'Work mode' to 'Zero export to CT': Saved. Set 'Grid charge point 6' to 'true': Saved. Set 'Grid charge point 5' to 'true': Saved. Set 'Grid charge point 4' to 'true': Saved. Set 'Grid charge point 3' to 'true': Saved. Set 'Grid charge point 2' to 'true': Saved. Set 'Grid charge point 1' to 'true': Saved. Set 'Capacity point 6' to '100': Saved. Set 'Capacity point 5' to '100': Saved. Set 'Capacity point 4' to '100': Saved. Set 'Capacity point 3' to '100': Saved. Set 'Capacity point 2' to '100': Saved. Set 'Capacity point 1' to '100': Saved. Set 'Grid peak shaving' to 'Enabled': Saved.
Dat zou wel het een en ander verklaren, ik heb inderdaad Tibber. Maar ik las het als de kosten die je moet betalen om terug te leveren per kWh. Dus ik was er al een soort van uitgegaan dat dat een negatieve waarde is.balk schreef op vrijdag 17 april 2026 @ 13:22:
[...]
Ik vraag me toch af of dit klopt. Moet de config voor Tibber niet als volgt zijn, ongeacht of je binnen salderen bent of niet? Buiten salderen zal je energy_taxes_production niet meer terug krijgen.code:Dus met een negatieve vergoeding? Zoals ik het begrijp betaal ik 2,0496 cent per geconsumeerde kWh en en krijg ik minus 2,0496 cent per geleverde kWh. Dus dat moet ik betalen. Zie ook hier.
1 2 3 4 5"prices": { "energy_taxes_consumption": { "2026-01-01": 0.09157 }, "energy_taxes_production": { "2026-01-01": 0.09157 }, "cost_supplier_consumption": { "2026-01-01": 0.020496 }, "cost_supplier_production": { "2026-01-01": -0.020496 }
@thomvh jij gebruikt een positieve vergoeding; heb je Tibber? Dat verklaart ook (ten onrechte) de neiging tot terugleveren.
Als ik deze beschrijving lees dan zou het echter een credit zijn, wat ook niet klopt volgens mij? Want je betaald het nog steeds aan Tibber, ook tijdens het salderen.Supplier fees for feed-in/production (excluding VAT) indexed by effective date. May be negative (credit).
Is de cost voor productie dan niet gewoon 0? Want de twee strepen tegen elkaar weg. Zolang je maar niet meer teruglevert dan je afneemt.Binnen salderen krijg je voor je teruglevering dus de beursprijs, inclusief alle belastingen en inkoopvergoeding. Daar gaat vervolgens een verkoopvergoeding van 2,48 cent per kWh uur vanaf.
Dan krijg je namelijk de volgende situatie. Waar het verschil tussen inkopen en terugleveren de "verkoopvergoeding" is. Wat ook klopt.
[ Voor 10% gewijzigd door thomvh op 17-04-2026 13:52 ]
Zoals ik dit lees, moet betaal je die 2,48 cent. Stel er is een uur met gelijke prijzen en de beurs prijs met BTW is 20 cent. Ik consumeer in het eerste half uur 1 kWh, dan betaal ik 22,48 cent. Als ik in het tweede half uur terug lever dan krijg ik 17,52 cent. Het streept dus niet tegen elkaar weg; althans zo interpreteer ik het.thomvh schreef op vrijdag 17 april 2026 @ 13:37:
Is de cost voor productie dan niet gewoon 0? Want de twee strepen tegen elkaar weg. Zolang je maar niet meer teruglevert dan je afneemt.
Van de tibber site:
ok, ik heb het nog 3x gelezen. Ik denk dat KC27 in deze post toch gelijk heeft. Het moet 0 zijn omdat "inclusief energiebelasting en inkoopvergoeding plus de btw minus de verkoopvergoeding" is. Ik zet het op 0!Als je teruglevert bij Tibber krijg je hier een dynamisch tarief voor. Op het moment dat je teruglevert geven we je per kWh de beursprijs die op dat moment geldt (deze gelijk aan de beursprijs wanneer je stroom zou afnemen), inclusief energiebelasting en inkoopvergoeding plus de btw minus de verkoopvergoeding. De verkoopvergoeding van 2,48 cent is gelijk aan de inkoopvergoeding die je bij je afgenomen stroom betaalt.
Binnen salderen krijg je voor je teruglevering dus de beursprijs, inclusief alle belastingen en inkoopvergoeding. Daar gaat vervolgens een verkoopvergoeding van 2,48 cent per kWh uur vanaf.
Als voorbeeld: Stel dat tussen 14:00 en 14:15 de totale stroomprijs €0,28 per kWh incl. is, dan krijg je op dat moment €0,28 - €0,0248 verkoopvergoeding = €0,2552 per teruggeleverde kWh van ons terug.
[ Voor 18% gewijzigd door balk op 17-04-2026 13:58 ]
Alleen als je meer inkoopt dan teruglevert. Is er altijd een inkoop vergoeding (Die je terug krijgt) waar je de verkoop vergoeding tegen weg kunt strepen. Waardoor je prijs om terug te leveren 0,0248 cent lager ligt dan je inkoop prijs. Zie de grafiek in mijn vorige post. Daar staat de productie kost op 0. Als je -0,0248 instelt zeg je eigenlijk dat je 0,0248 cent extra krijgt. Zo interpreteer ik het.balk schreef op vrijdag 17 april 2026 @ 13:54:
[...]
Zoals ik dit lees, moet betaal je die 2,48 cent. Stel er is een uur met gelijke prijzen en de beurs prijs met BTW is 20 cent. Ik consumeer in het eerste half uur 1 kWh, dan betaal ik 22,48 cent. Als ik in het tweede half uur terug lever dan krijg ik 17,52 cent. Het streept dus niet tegen elkaar weg; althans zo interpreteer ik het.
Van de tibber site:
[...]
@balk Ik heb hem ook op 0 gezet nu. Hij is ineens minder happig om terug te leveren. Maar dat is nu ook logisch. Want nu kost het teminste iets.
[ Voor 6% gewijzigd door thomvh op 18-04-2026 10:46 ]
Ik ben benieuwd hoe jullie dit op zouden lossen. Ik heb momenteel bij het laden en ontladen last van clipping. De batterij is eigenlijk altijd sneller dan DAO berekend heeft. Ik kan natuurlijk gewoon 5 tot 10% extra aan de calculated battery percentage toe voegen (Deze stel ik in als limit's in de omvormer). Maar ik was benieuwd of jullie een mooiere oplossing heb.
:strip_exif()/f/image/jOX9ffrweXuK5sYc6dDAjDJg.png?f=user_large)
Mijn DAO config:
:strip_exif()/f/image/jOX9ffrweXuK5sYc6dDAjDJg.png?f=user_large)
Mijn DAO config:
Mijn automation: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{ "config_version": 0, "homeassistant": { "ip_address": "supervisor", "protocol_api": "http" }, "database_ha": { "engine": "sqlite", "db_path": "/homeassistant", "database": "home-assistant_v2.db" }, "database_da": { "engine": "sqlite", "db_path": "../data", "database": "day_ahead.db" }, "meteoserver_key": "!secret meteoserver-key", "meteoserver_model": "harmonie", "meteoserver_attemps": 2, "prices": { "source_day_ahead": "tibber", "energy_taxes_consumption": { "2026-04-01": 0.09161 }, "energy_taxes_production": { "2026-04-01": 0.09161 }, "cost_supplier_consumption": { "2026-04-01": 0.020496 }, "cost_supplier_production": { "2026-04-01": 0 }, "vat_consumption": { "2026-04-01": 21.0 }, "vat_production": { "2026-04-01": 21.0 }, "last_invoice": "2026-04-15", "tax_refund": true, "regular high": 0.33, "regular low": 0.28, "switch to low": 21 }, "logging_level": "info", "use_calc_baseload": false, "baseload_calc_periode": 56, "baseload": [ 1.12, 0.98, 0.92, 0.85, 1.10, 1.34, 1.04, 1.25, 1.64, 1.34, 1.03, 0.95, 1.15, 1.09, 1.02, 1.19, 1.31, 1.49, 2.12, 1.83, 1.73, 2.38, 2.04, 1.28 ], "graphical_backend": "", "graphics": { "style": "Solarize_Light2", "battery_balance": true, "prices_consumption": true, "prices_production": true, "prices_spot": true, "average_consumption": true, "show": "true" }, "interval": "15min", "strategy": "minimize cost", "max_gap": 0.005, "notifications": { "opstarten": false, "berekening": false, "last activity entity": "input_datetime.dao_latest_update" }, "grid": { "max_power": 17.0 }, "history": { "save_days": 7 }, "dashboard": { "port": 5000 }, "battery": [ { "name": "Voll 12 XL", "entity_actual_level": "sensor.deye_sunsynk_sol_ark_3_phase_battery_state_of_charge", "capacity": 61.4, "upper_limit": 90, "lower_limit": 25, "optimal_lower_level": 33, "penalty_low_soc": 0.00025, "charge_stages": [ {"power": 0.0, "efficiency": 1.00}, {"power": 2000.0, "efficiency": 0.944}, {"power": 5000.0, "efficiency": 0.970}, {"power": 10000.0, "efficiency": 0.975}, {"power": 15000.0, "efficiency": 0.968}, {"power": 17000.0, "efficiency": 0.961} ], "discharge_stages": [ {"power": 0.0, "efficiency": 1.00}, {"power": 2000.0, "efficiency": 0.944}, {"power": 5000.0, "efficiency": 0.970}, {"power": 10000.0, "efficiency": 0.975}, {"power": 15000.0, "efficiency": 0.968}, {"power": 17000.0, "efficiency": 0.961} ], "reduced_hours": {}, "reduce_power_low_soc": [], "reduce_power_high_soc": [], "dc_to_bat_efficiency": 0.985, "bat_to_dc_efficiency": 0.985, "minimum_power": 200, "cycle_cost": 0.02305, "entity_set_power_feedin": "input_number.dao_power_feedin", "entity_set_operating_mode": "input_select.dao_operating_mode", "entity_set_operating_mode_on": "Aan", "entity_set_operating_mode_off": "Uit", "entity_balance_switch": "input_boolean.dao_balance_switch", "entity_from_pv": "input_number.dao_power_from_pv", "entity_from_ac": "input_number.dao_power_from_ac", "entity_calculated_soc": "input_number.dao_calculated_soc", "solar": [], "entity from battery": "input_number.dao_power_from_battery" } ], "solar": [ { "name": "Dak voor", "tilt": 50.0, "orientation": 26.0, "capacity": 7.8, "yield_factor": 0.01808, "strings": [], "ml_prediction": false, "entities_sensors": [ "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total" ], "max_power": 8.0 } ], "electric_vehicle": [], "machines": [], "boiler": { "boiler_present": false, "entity actual temp.": "sensor.boiler_gemeten", "entity setpoint": "sensor.boiler_ingesteld", "entity hysterese": "sensor.hysterese_hot_water", "cop": 2.9, "cooling rate": 0.4, "volume": 180, "heating allowed below": 44, "elec. power": 1500, "activate service": "press", "activate entity": "input_button.hw_trigger" }, "heating": { "heater_present": false, "degree days factor": 3.6, "stages": [ { "max_power": 225, "cop": 7.1 }, { "max_power": 300, "cop": 7.0 }, { "max_power": 400, "cop": 6.5 }, { "max_power": 500, "cop": 6.0 }, { "max_power": 600, "cop": 5.5 }, { "max_power": 750, "cop": 5.0 }, { "max_power": 1000, "cop": 4.5 }, { "max_power": 1250, "cop": 4.0 } ], "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead", "adjustment factor": 0.04 }, "tibber": { "api_token": "!secret tibber_api_token", "api_url": "https://api.tibber.com/v1-beta/gql" }, "xgboost": { "tune_hyperparameters": true }, "report": { "entities_grid_consumption": [ "sensor.energy_consumed_tariff_1", "sensor.energy_consumed_tariff_2" ], "entities_grid_production": [ "sensor.energy_produced_tariff_1", "sensor.energy_produced_tariff_2" ], "entities_solar_production_ac": [ "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total" ], "entities_solar_production_dc": [], "entities_ev_consumption": [ "sensor.oprit_l1_energy_meter", "sensor.oprit_l2_energy_meter", "sensor.oprit_r1_energy_meter" ], "entities_wp_consumption": [ "sensor.heliotherm_heatpump_electricity_meter_total_gesamt" ], "entities_boiler_consumption": [], "entities_battery_consumption": [ "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_in_total" ], "entities_battery_production": [ "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_out_total" ], "entities_machine_consumption": [] }, "scheduler": { "active": true, "schedule": [ { "time": "0432", "action": "get_meteo_data" }, { "time": "1032", "action": "get_meteo_data" }, { "time": "1632", "action": "get_meteo_data" }, { "time": "2232", "action": "get_meteo_data" }, { "time": "1255", "action": "get_day_ahead_prices" }, { "time": "1355", "action": "get_day_ahead_prices" }, { "time": "1455", "action": "get_day_ahead_prices" }, { "time": "1555", "action": "get_day_ahead_prices" }, { "time": "1655", "action": "get_day_ahead_prices" }, { "time": "xx00", "action": "calc_optimum" }, { "time": "xx15", "action": "calc_optimum" }, { "time": "xx30", "action": "calc_optimum" }, { "time": "xx45", "action": "calc_optimum" }, { "time": "2359", "action": "clean_data" }, { "time": "2233", "action": "calc_baseloads" } ] } }
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 138alias: DAO - Battery Mode Control description: Translates DAO commands to Deye inverter via Solar Assistant TOU slots triggers: - entity_id: - input_datetime.dao_latest_update trigger: state id: dao_update conditions: [] actions: - delay: "00:00:05" - variables: target_power: >- {% set v = states('input_number.dao_power_from_battery') | float(0) | abs | round(0) | int %} {{ [v, 80000] | min }} target_soc: >- {% set v = states('input_number.dao_calculated_soc') | float(0) | round(0, 'floor') | int %} {% if v < 20 %} 20 {% elif v > 100 %} 100 {% else %} {{ v }} {% endif %} - choose: - alias: Battery Idle conditions: - condition: state entity_id: input_select.dao_operating_mode state: Uit sequence: - action: script.dao_set_all_power_points data: power: 20000 - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}" - action: script.dao_set_capacity_points data: capacity: "{{ target_soc }}" - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}" - action: script.dao_grid_charge_points data: enabled: false - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}" - action: select.select_option target: entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode data: option: Selling First - alias: Battery Balancing conditions: - condition: state entity_id: input_boolean.dao_balance_switch state: "on" sequence: - action: script.dao_set_capacity_points data: capacity: "{{ target_soc }}" - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}" - action: script.dao_set_all_power_points data: power: 20000 - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}" - action: script.dao_grid_charge_points data: enabled: false - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}" - action: select.select_option target: entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode data: option: Zero export to CT - alias: Battery Sell conditions: - condition: state entity_id: input_boolean.dao_balance_switch state: "off" - condition: template value_template: "{{ states('input_number.dao_power_feedin') | float(0) < 0 }}" sequence: - action: script.dao_set_capacity_points data: capacity: "{{ target_soc }}" - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}" - action: script.dao_grid_charge_points data: enabled: false - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}" - action: script.dao_set_all_power_points data: power: "{{ target_power }}" - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}" - action: select.select_option target: entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode data: option: Selling first - alias: Battery Charge conditions: - condition: state entity_id: input_boolean.dao_balance_switch state: "off" - condition: template value_template: "{{ states('input_number.dao_power_feedin') | float(0) > 0 }}" sequence: - variables: ac_watts: >- {{ [states('input_number.dao_power_from_ac') | float(0), 17300] | min }} batt_v: >- {{ states('sensor.deye_sunsynk_sol_ark_3_phase_battery_voltage') | float(51.2) }} raw_amps: "{{ (ac_watts / batt_v) | round(0) | int }}" charge_amps: "{{ [[raw_amps, 0] | max, 350] | min }}" - action: script.dao_set_capacity_points data: capacity: "{{ target_soc }}" - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}" - action: script.dao_set_all_power_points data: power: 20000 - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}" - action: number.set_value target: entity_id: number.deye_sunsynk_sol_ark_3_phase_max_grid_charge_current data: value: "{{ charge_amps }}" - delay: "00:00:05" - action: script.dao_grid_charge_points data: enabled: true - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}" - action: select.select_option target: entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode data: option: Zero export to CT mode: restart trace: stored_traces: 20
Ik snap niet helemaal wat je nu zegt. Wat laat het plaatje zien? x as is tijd, maar y as? Hoe bedoel je "sneller"? Wanneer DAO zegt: 4000 W, gaat de batterij dan met 4000 W laden? Klopt je werkelijk bruikbare vermogen wel met het opgegeven vermogen? Ik zag in de handleiding een DoD van 90%, betekent het dat bij 10% chemisch geladen, jouw app 0% aangeeft? Want dan mis je al 6 kWh.thomvh schreef op zaterdag 18 april 2026 @ 12:34:
Ik ben benieuwd hoe jullie dit op zouden lossen. Ik heb momenteel bij het laden en ontladen last van clipping. De batterij is eigenlijk altijd sneller dan DAO berekend heeft. Ik kan natuurlijk gewoon 5 tot 10% extra aan de calculated battery percentage toe voegen (Deze stel ik in als limit's in de omvormer). Maar ik was benieuwd of jullie een mooiere oplossing heb.
[Afbeelding]
Mijn DAO config:
[...]
Mijn automation:
[...]
Bedoel je, want dat zie ik in ieder geval, dat als DAO op het duurste kwartier gaat ontladen dat er dan een inverter stop na 13 of 14 minuten is. En vervolgens gaat dao weer maximaal ontladen op het een na duurste kwartier voor 13-14 minuten.
Terwijl je verwacht bij maximale winst gewoon volle 15 minuten ontladen op max power.
Terwijl je verwacht bij maximale winst gewoon volle 15 minuten ontladen op max power.
@balk @Dogooder Yes, ik loop er dus tegen aan dat mijn omvormer "sneller" is dan de AC waarde die DAO berekent. Hierdoor stopt mijn omvormer omdat die het batterij limiet eerder haalt dan het kwartier voorbij is. Zelfde gebeurt bij laden trouwens. Ik kan dit simpel op lossen door het berekende batterij percentage wat DAO berekend iets op te hogen met een paar procent. Maar het lijkt me eerder dat het ergens in de afstelling van de charging en discharging stages zit.
Dan kloppen de efficiency’s bij de charging stage’s in je config niet voor de gebruikte vermogens. Je batterij is blijkbaar iets efficiënter dan je denkt. Je kunt ze (bij laden) iets verlagen en kijken hoe het dan gaat.thomvh schreef op zaterdag 18 april 2026 @ 16:07:
@balk @Dogooder Yes, ik loop er dus tegen aan dat mijn omvormer "sneller" is dan de AC waarde die DAO berekent. Hierdoor stopt mijn omvormer omdat die het batterij limiet eerder haalt dan het kwartier voorbij is. Zelfde gebeurt bij laden trouwens. Ik kan dit simpel op lossen door het berekende batterij percentage wat DAO berekend iets op te hogen met een paar procent. Maar het lijkt me eerder dat het ergens in de afstelling van de charging en discharging stages zit.
@KC27
heb je aan deze donordocumenten iets?
eventueel ter inspiratie?
edjes in "Zendure producten in Home Assistant integreren deel 2"
heb je aan deze donordocumenten iets?
eventueel ter inspiratie?
edjes in "Zendure producten in Home Assistant integreren deel 2"
https://www.dropbox.com/s...rk8dxxsb35xuyksi&e=1&dl=0Ik heb zes kantjes en maanden werk in een ROI.
Hier, kan je spelen.
Uitgangspunt: zonnepanelen (solaredge), tibber
Het is erg complex, maar zeer volledig.
Plaats roi.yaml in packages
ROI.yaml:
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Thanks! Ik heb voor nu het Batterij-DC terug naar 1 gezet. Even kijken hoe dat gaat en anders rustig aan tweaken.Torch1969 schreef op zaterdag 18 april 2026 @ 16:48:
[...]
Dan kloppen de efficiency’s bij de charging stage’s in je config niet voor de gebruikte vermogens. Je batterij is blijkbaar iets efficiënter dan je denkt. Je kunt ze (bij laden) iets verlagen en kijken hoe het dan gaat.
Heb AI eens gevraag of @edjes ROI toegevoegde waarde is voor DAO:hemertje schreef op zondag 19 april 2026 @ 00:13:
@KC27
heb je aan deze donordocumenten iets?
eventueel ter inspiratie?
edjes in "Zendure producten in Home Assistant integreren deel 2"
[...]
https://www.dropbox.com/s...rk8dxxsb35xuyksi&e=1&dl=0
<knip>
@edjes ROI is waardevol als complementaire monitoring tool die DAO's predictive kracht combineert met real-world validation en investeringsanalyse.
AI / LLM dumps zijn niet toegestaan. Prima dat je het gebruikt, zelf de samenvatting maken.
[ Voor 80% gewijzigd door Septillion op 20-04-2026 10:46 ]
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Is er nog een verschil tussen het gebruik van 1 van de day ahead price opties of is Noordpool zo goed als de rest?
Noordpool is prima.Batavia schreef op zondag 19 april 2026 @ 16:22:
Is er nog een verschil tussen het gebruik van 1 van de day ahead price opties of is Noordpool zo goed als de rest?
PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP
de FAQ van @edjes die erbij hoort:
https://www.dropbox.com/s...z40pryulq1ch778p&e=2&dl=0
[ Voor 85% gewijzigd door Septillion op 20-04-2026 10:47 ]
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Ligt het aan mij of is dit een LLM gegenereerd overzicht met halve waarheden?
[ Voor 89% gewijzigd door Septillion op 20-04-2026 10:46 ]
ik ben niet de maker, dat is @edjeswmc schreef op zondag 19 april 2026 @ 20:33:
[...]
Ligt het aan mij of is dit een LLM gegenereerd overzicht met halve waarheden?
dus als je vragen hebt, graag aan hem richten
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Ik denk dat de vraag van @wmc meer is of je de output van AI die je hier hebt gepost hebt gecontroleerd op juistheid en waar nodig gecorrigeerd.hemertje schreef op zondag 19 april 2026 @ 21:36:
[...]
ik ben niet de maker, dat is @edjes
dus als je vragen hebt, graag aan hem richten
[quote]Torch1969 schreef op maandag 20 april 2026 @ 06:10:
[...]
Ik denk dat de vraag van @wmc meer is of je de output van AI die je hier hebt gepost hebt gecontroleerd op juistheid en waar nodig gecorrigeerd.
[\quote]
Ja, precies dat.
Voorbeeld, punt 3:
[...]
Ik denk dat de vraag van @wmc meer is of je de output van AI die je hier hebt gepost hebt gecontroleerd op juistheid en waar nodig gecorrigeerd.
[\quote]
Ja, precies dat.
Voorbeeld, punt 3:
DAO werkt gewoon op 15 minuten. Mijn suggestie zou zijn deze post nog eens goed te controleren...3. 15-minuut Granularity:
DAO: Uurlijkse planning
edjes ROI: 15-minuut tracking - veel gedetailleerder
los van de punten en komma's denk/vind ik dat een ROI een toegevoegde waarde heeft voor het DAO systeem.
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Los van alle misinformatie in jou postshemertje schreef op maandag 20 april 2026 @ 08:00:
los van de punten en komma's denk/vind ik dat een ROI een toegevoegde waarde heeft voor het DAO systeem.
Mijn AI antwoord zou zijn dat je een geweldige post hebt die net niet de goede informatie bevat om welke conclusie dan ook te kunnen trekken
Gevalletje “de beste manier om het juiste antwoord te krijgen op internet is om het verkeerde antwoord te posten”?hemertje schreef op maandag 20 april 2026 @ 08:00:
los van de punten en komma's denk/vind ik dat een ROI een toegevoegde waarde heeft voor het DAO systeem.
Zullen we stoppen met @hemertje bashen en dit topic vervuilen? Sales pitch van hemertje was misschien wat hoekig en incompleet maar er kan wel waarde inzitten. Ik zie nog niet hoe dit in DAO geïmplementeerd kan worden, maar wellicht heeft iemand daar een constructief idee over.
@Batavia @wmc
kritiek mag altijd, foutje bedankt, ik zag zo geen misinformatie 1-2-3
ben wel benieuwd of jullie een ROI toevoeging zien zitten in DAO en op welke manier deze informatie zichtbaar te krijgen?
kritiek mag altijd, foutje bedankt, ik zag zo geen misinformatie 1-2-3
ben wel benieuwd of jullie een ROI toevoeging zien zitten in DAO en op welke manier deze informatie zichtbaar te krijgen?
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Een ROI berekening toevoegen heeft ongetwijfeld toegevoegde waarde, maar dat moet altijd worden weggezet tegen de hoeveelheid werk.
DAO levert al rapportages met de opbrengst en via de API kan je al heel veel al dan niet alles naar HA halen.
Daarnaast is volgens mij de ROI berekening zoals aangedragen geheel in HA en niet specifiek afhankelijk van de batterij. Je bent dus altijd vrij om die er zelf naast DAO in HA te zetten.
Als iemand een mooi Home Assistant DAO dashboard kan bouwen met ROI elementen dan zijn vele, inclusief ikzelf, daar vast heel blij mee. Maar binnen DAO moet denk ik wel de focus liggen om het juist uitvoeren van de strategie met alle bijhorende EV's, WP's, boilers. En zou ik liever een ML voor de WP hebben dan een ROI.
DAO levert al rapportages met de opbrengst en via de API kan je al heel veel al dan niet alles naar HA halen.
Daarnaast is volgens mij de ROI berekening zoals aangedragen geheel in HA en niet specifiek afhankelijk van de batterij. Je bent dus altijd vrij om die er zelf naast DAO in HA te zetten.
Als iemand een mooi Home Assistant DAO dashboard kan bouwen met ROI elementen dan zijn vele, inclusief ikzelf, daar vast heel blij mee. Maar binnen DAO moet denk ik wel de focus liggen om het juist uitvoeren van de strategie met alle bijhorende EV's, WP's, boilers. En zou ik liever een ML voor de WP hebben dan een ROI.
ook een mooie zienswijze!Dogooder schreef op maandag 20 april 2026 @ 11:33:
Een ROI berekening toevoegen heeft ongetwijfeld toegevoegde waarde, maar dat moet altijd worden weggezet tegen de hoeveelheid werk.
DAO levert al rapportages met de opbrengst en via de API kan je al heel veel al dan niet alles naar HA halen.
Daarnaast is volgens mij de ROI berekening zoals aangedragen geheel in HA en niet specifiek afhankelijk van de batterij. Je bent dus altijd vrij om die er zelf naast DAO in HA te zetten.
Als iemand een mooi Home Assistant DAO dashboard kan bouwen met ROI elementen dan zijn vele, inclusief ikzelf, daar vast heel blij mee. Maar binnen DAO moet denk ik wel de focus liggen om het juist uitvoeren van de strategie met alle bijhorende EV's, WP's, boilers. En zou ik liever een ML voor de WP hebben dan een ROI.
en een ML voor de WP zie ik ook wel zitten
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Wat zou je willen voorspellen van je WP?hemertje schreef op maandag 20 april 2026 @ 15:09:
[...]
ook een mooie zienswijze!
en een ML voor de WP zie ik ook wel zitten
Mijn warmtepomp, een Itho Daalderop bodem warmtepomp, laat zich niet sturen of inplannen. Die doet automatisch zijn ding, ook met het maken van warm water.
Dit is bij mij wel ongeveer de grootste energieverbruiker die ik nu maar meeneem in de baseload.
De boiler zou ik misschien nog wel in dao kunnen zetten, ik kan de boiler temperatuur wel uitlezen. Maar warmtevraag van het huis is gewoon afhankelijk van de buitentemperatuur en wellicht de windsnelheid. Ik denk dat daar nog wel wat voorspellingen in te vinden is.
Ik heb zelf helaas nog geen 4 seizoenen aan specifiek warmtepomp verbruik, home wizard meter te laat geïnstalleerd, anders had ik er wellicht zelf al mee geëxperimenteerd.
Dit is bij mij wel ongeveer de grootste energieverbruiker die ik nu maar meeneem in de baseload.
De boiler zou ik misschien nog wel in dao kunnen zetten, ik kan de boiler temperatuur wel uitlezen. Maar warmtevraag van het huis is gewoon afhankelijk van de buitentemperatuur en wellicht de windsnelheid. Ik denk dat daar nog wel wat voorspellingen in te vinden is.
Ik heb zelf helaas nog geen 4 seizoenen aan specifiek warmtepomp verbruik, home wizard meter te laat geïnstalleerd, anders had ik er wellicht zelf al mee geëxperimenteerd.
Dus een gebruik voorspelling?
Je zit dan te kijken naar features zoals: Buiten temperatuur, binnen temperatuur, setpoint temperatuur, windsnelheid, luchtvochtigheid, dag vh jaar, weekdag.
Je hebt met deze systemen echter wel een trage factor, namelijk opwarm snelheid. Alle features zijn niet direct afhankelijk van elkaar maar er zit een lag in.
Dat is wel wat lastiger modelleren.
Nog meer ideeen?
Je zit dan te kijken naar features zoals: Buiten temperatuur, binnen temperatuur, setpoint temperatuur, windsnelheid, luchtvochtigheid, dag vh jaar, weekdag.
Je hebt met deze systemen echter wel een trage factor, namelijk opwarm snelheid. Alle features zijn niet direct afhankelijk van elkaar maar er zit een lag in.
Dat is wel wat lastiger modelleren.
Nog meer ideeen?
Opzich nu met de zomermaanden zou ik eigenlijk een koel functie voor de WP willen. Verwarmen kan DAO al maar koelen niet. Wordt ook lastig om dat met de verwarmings module te doen aangezien die naar de buiten temperatuur kijkt.
Ik kan me zo voorstellen dat stand van de zon en of die schijnt of niet (instraling door de ramen) ook interessant is?simnet schreef op maandag 20 april 2026 @ 20:07:
Dus een gebruik voorspelling?
Je zit dan te kijken naar features zoals: Buiten temperatuur, binnen temperatuur, setpoint temperatuur, windsnelheid, luchtvochtigheid, dag vh jaar, weekdag.
Je hebt met deze systemen echter wel een trage factor, namelijk opwarm snelheid. Alle features zijn niet direct afhankelijk van elkaar maar er zit een lag in.
Dat is wel wat lastiger modelleren.
Nog meer ideeen?
Dat van die lag is wel een goed punt, daar had ik nog niet zo goed over nagedacht. Ik heb zelf slechts data sinds december vorig jaar dus dat is niet heel veel. Ik zal, als ik tijd heb, eens kijken of ik ergens een correlatie kan spotten.
ik heb een Panasonic WP en gebruik @edterbak's Node Red dashboard voor HeisHamon
Heishamon <> Node Red voor Panasonic warmtepompen
https://github.com/edterbak/HeishaMoNR
voor de ML denk ik dan aan het verwachte verbruik van de CV en warmtapwater n.a.v. het jaargetijde en de weersverwachting i.c.m. het warmteverlies van de woning en de dynamische energietarieven
via de Scheduler kan je enigszins sturen
@edterbak heb jij nog ideeën hoe we de Panasonic nog enigszins kunnen sturen?
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
in de goedkope dynamische perioden een graadje warmer stoken om tijdens de dure periodes de WP uit te kunnen zetten?simnet schreef op maandag 20 april 2026 @ 20:07:
Dus een gebruik voorspelling?
Je zit dan te kijken naar features zoals: Buiten temperatuur, binnen temperatuur, setpoint temperatuur, windsnelheid, luchtvochtigheid, dag vh jaar, weekdag.
Je hebt met deze systemen echter wel een trage factor, namelijk opwarm snelheid. Alle features zijn niet direct afhankelijk van elkaar maar er zit een lag in.
Dat is wel wat lastiger modelleren.
Nog meer ideeen?
warm tapwater maken tijdens de goedkopere uren, in de zomer overdag op je overschot PV en in de winter afhankelijk van de dynamische tarieven i.c.m. de COP
nadeel is dat je ' s nachts tijdens de goedkopere periodes een slechte COP hebt wanneer je die ook mee wil nemen...
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Ik zie hem eigenlijk heel simpel. Laat de WP gewoon zijn werk doen met lange runs en laad de batterij op, op de goedkoopste momenten zodat de WP altijd goedkoop draait.
WP is eigenlijk te traag om bij te sturen met graadje meer of minder.
WP is eigenlijk te traag om bij te sturen met graadje meer of minder.
Ik denk dat het aansturen van een WP beter overgelaten kan worden aan het regelsysteem van het apparaat zelf.
Op zich is bijstoken een optie (je kunt een hoop thermische energie kwijt in een huis), maar ik vraag me sterk af of je daar heel veel winst uit kunt behalen, gezien de traagheid van het systeem. Even 15min, met lage prijzen, full power heeft niet zoveel nut (denk ik).
Ik ben totaal geen expert op dat gebied, maar voor zover ik heb begrepen is het beter om hem (bij wijze van spreke) 24x7 op lage temperatuur te laten draaien, dan te pendelen met eventuele compressor start/stops tot gevolg.
Op zich is bijstoken een optie (je kunt een hoop thermische energie kwijt in een huis), maar ik vraag me sterk af of je daar heel veel winst uit kunt behalen, gezien de traagheid van het systeem. Even 15min, met lage prijzen, full power heeft niet zoveel nut (denk ik).
Ik ben totaal geen expert op dat gebied, maar voor zover ik heb begrepen is het beter om hem (bij wijze van spreke) 24x7 op lage temperatuur te laten draaien, dan te pendelen met eventuele compressor start/stops tot gevolg.
offtopic:
Juist met de traagheid van een WP (ik heb betonnen vloeren en vloerverwarming door het hele huis) kan ik heel eenvoudig besparen. Sinds januari heb ik een dynamisch contract en zet nu gedurende de 24 (!) duurste kwartieren van het etmaal de WP op non-actief. De temperatuur varieerde minder dan 1 graad piek-piek (dus +/-0,5°).
Dat bespaart toch behoorlijk!
Juist met de traagheid van een WP (ik heb betonnen vloeren en vloerverwarming door het hele huis) kan ik heel eenvoudig besparen. Sinds januari heb ik een dynamisch contract en zet nu gedurende de 24 (!) duurste kwartieren van het etmaal de WP op non-actief. De temperatuur varieerde minder dan 1 graad piek-piek (dus +/-0,5°).
Dat bespaart toch behoorlijk!
Verdraagzaamheid is het hoogste gebod
en wie dat niet eert die schoppen we rot.
<John O`Mill>
Ik ben wel benieuwd hoe je dit hebt gedaan. Moeten die kwartieren aaneengesloten zijn? Of mag (in theorie) bij jou de WP 24x een start/stop doen?Hippe Lip schreef op dinsdag 21 april 2026 @ 06:59:offtopic:
Juist met de traagheid van een WP (ik heb betonnen vloeren en vloerverwarming door het hele huis) kan ik heel eenvoudig besparen. Sinds januari heb ik een dynamisch contract en zet nu gedurende de 24 (!) duurste kwartieren van het etmaal de WP op non-actief. De temperatuur varieerde minder dan 1 graad piek-piek (dus +/-0,5°).
Dat bespaart toch behoorlijk!
Afgezien daarvan, denk ik niet dat DAO of een ML hier veel toegevoegde waarde heeft. Uitrekenen wat de duurste 1/3 van de dag is kan een simpele automation ook.
Ik vraag me ook wel een beetje af of je echt wel bespaart op energie of dat het alleen maar zo voelt. Maar dat is volledig ongenuanceerd
[ Voor 8% gewijzigd door simnet op 21-04-2026 08:29 ]
Waar het vooral bij zou kunnen helpen als het echt meerdaags zou zijn. Mijn WP (Panasonic via heishamon) zet ik al met de scheduler lager bij de dure Ochtend en avond momenten. Maar hij kan best wel forse overshoots doen als het morgen toch al zonnig wordt
Ja, meerdaags kan ik me wel de voordelen bedenken. Het wordt wel lastig zonder lange termijn tarieven voor energie.
Heel eenvoudig met de Dynamisch-HA van @gielz. Daar stel ik in dat ik de 24 duurste kwartieren wil markeren. Een automatisering zorgt er vervolgens voor dat als duur=ja, dat de WP op non-actief gaat (en daarna weer terugsimnet schreef op dinsdag 21 april 2026 @ 08:26:
Ik ben wel benieuwd hoe je dit hebt gedaan. Moeten die kwartieren aaneengesloten zijn? Of mag (in theorie) bij jou de WP 24x een start/stop doen?
Eens, en dat is dus ook wat ik doe.Afgezien daarvan, denk ik niet dat DAO of een ML hier veel toegevoegde waarde heeft. Uitrekenen wat de duurste 1/3 van de dag is kan een simpele automation ook.
Natuurlijk bespaart het. De warmtebehoefte (kWh) per 24 uur blijft gelijk: het warmteverlies van het huis. En die vul ik in tijdens de 72 goedkoopste kwartieren van de dag. Ik mijd de piek in de prijzen en bespaar dus.Ik vraag me ook wel een beetje af of je echt wel bespaart op energie of dat het alleen maar zo voelt. Maar dat is volledig ongenuanceerd
Maar we gaan hiermee wel erg offtopic… 😱
Verdraagzaamheid is het hoogste gebod
en wie dat niet eert die schoppen we rot.
<John O`Mill>
Daar verschillen we over van mening. Een WP of cv die rustig door kan pruttelen verbruikt ter compensatie van dat warmteverlies minder energie (kan met betere lagere aanvoertemperatuur en daarmee betere COP of rendement) dan als die moet hollen en stilstaan.Hippe Lip schreef op dinsdag 21 april 2026 @ 08:51:
[...]
Natuurlijk bespaart het. De warmtebehoefte (kWh) per 24 uur blijft gelijk: het warmteverlies van het huis. En die vul ik in tijdens de 72 goedkoopste kwartieren van de dag. Ik mijd de piek in de prijzen en bespaar dus.
Maar we gaan hiermee wel erg offtopic… 😱
Vergelijk met auto. Een afstand van 100 km kan ik in een auto die 2 uur lang 50km/u rijdt zuiniger overbruggen dan met een auto die een kwartier stilstaat en daarna een kwartier 100km/u rijdt. Zelfde afstand, zelfde tijd, maar ander verbruik….
Wat voor Itho heb je?Dogooder schreef op maandag 20 april 2026 @ 19:51:
Mijn warmtepomp, een Itho Daalderop bodem warmtepomp, laat zich niet sturen of inplannen. Die doet automatisch zijn ding, ook met het maken van warm water.
Dit is bij mij wel ongeveer de grootste energieverbruiker die ik nu maar meeneem in de baseload.
De boiler zou ik misschien nog wel in dao kunnen zetten, ik kan de boiler temperatuur wel uitlezen. Maar warmtevraag van het huis is gewoon afhankelijk van de buitentemperatuur en wellicht de windsnelheid. Ik denk dat daar nog wel wat voorspellingen in te vinden is.
Ik heb zelf helaas nog geen 4 seizoenen aan specifiek warmtepomp verbruik, home wizard meter te laat geïnstalleerd, anders had ik er wellicht zelf al mee geëxperimenteerd.
Mijn Itho WPU-5g (aluhoedje) werkt op zich prima in DAO. Het verwarmen van het boilervat wordt netjes aangestuurd, alleen de legionella-run lijkt een eigen leven te leiden.
Voor de warmtevraag maak ik momenteel nog gebruik van de on/off van DAO; buiten de goedkope uren om blokkeer ik het verwarmen. Toch levert dat niet altijd het gewenste resultaat op, omdat de warmtepomp dan nog steeds de regie houdt. Met de nieuwe trapsgewijze off/eco/max-sturing vanuit DAO verwacht ik dit een stuk beter onder controle te krijgen.
Koeling laat ik bewust 24/7 toe vanwege het comfort en het minimale verbruik.
Misschien kan @arjenhiemstra hier nog extra inzicht in geven. Zonder zijn module had ik dit namelijk ook nooit voor elkaar gekregen
Ik ben zeker een tevreden DAO gebruikeraxelb96 schreef op dinsdag 21 april 2026 @ 15:43:
[...]
Wat voor Itho heb je?
Mijn Itho WPU-5g (aluhoedje) werkt op zich prima in DAO. Het verwarmen van het boilervat wordt netjes aangestuurd, alleen de legionella-run lijkt een eigen leven te leiden.
Voor de warmtevraag maak ik momenteel nog gebruik van de on/off van DAO; buiten de goedkope uren om blokkeer ik het verwarmen. Toch levert dat niet altijd het gewenste resultaat op, omdat de warmtepomp dan nog steeds de regie houdt. Met de nieuwe trapsgewijze off/eco/max-sturing vanuit DAO verwacht ik dit een stuk beter onder controle te krijgen.
Koeling laat ik bewust 24/7 toe vanwege het comfort en het minimale verbruik.
Misschien kan @arjenhiemstra hier nog extra inzicht in geven. Zonder zijn module had ik dit namelijk ook nooit voor elkaar gekregenAan zijn bijdragen in dit topic te zien, is hij mogelijk ook DAO-gebruiker.
Ik heb (helaas) geen grond gebonden Itho warmtepomp maar een L/W WeHeat (die ik vooralsnog niet goed kan aansturen buiten de WeHeat app om)
@Dogooder
Er loopt een eigen topic voor WPU bezitters waarin een hoop info staat over wat er te besturen valt aan de WPU als je gebruik maakt van de add-on.
Itho WPU5G water/water-warmtepomp ervaringen
Het is hier wel offtopic, maar @axelb96 @arjenhiemstra ik ben al jaren zeer tevreden gebruiker van de addon. Echter heb ik de wpu4g en die kan je wel uitlezen, maar laat zich niet temmen.
Je creëert hiermee extra starts en stops voor je warmtepompcompressor. "Onnnodige/ongewenste" start/stop zorgt voor meer slijtage dan een de machine lekker laten doortuffen. Het bespaart wellicht op elektrakosten maar je zult waarschijnlijk flink eerder je warmtepomp (of hopelijk enkel je compressor) moeten vervangen.Hippe Lip schreef op dinsdag 21 april 2026 @ 08:51:
[...]
Heel eenvoudig met de Dynamisch-HA van @gielz. Daar stel ik in dat ik de 24 duurste kwartieren wil markeren. Een automatisering zorgt er vervolgens voor dat als duur=ja, dat de WP op non-actief gaat (en daarna weer terug)
[...]
Eens, en dat is dus ook wat ik doe.
[...]
Natuurlijk bespaart het. De warmtebehoefte (kWh) per 24 uur blijft gelijk: het warmteverlies van het huis. En die vul ik in tijdens de 72 goedkoopste kwartieren van de dag. Ik mijd de piek in de prijzen en bespaar dus.
Maar we gaan hiermee wel erg offtopic… 😱
Wel zou je (bijvoorbeeld er voor kunnen kiezen om je kloktijden op andere momenten te zetten, waardoor je bijv enkele uren eerder gaat voorverwarmen, maar schakel vooral niet op kwartierbasis, zeker niet als je nog garantie hebt op je machine of van je installateur..
/f/image/E4TRO75pX4k3NJ1YTVL2wWCn.png?f=fotoalbum_large)
/f/image/3XmWLrdrYZKrUJcwBvfG9ZKZ.png?f=fotoalbum_large)