Ioniq 6 LR Lounge 20" @ Elli Pro
2700Wp SSW 30° @ SE2200 | 1720Wp SSW 5° @ HM-1500
Flickr | Canon 6D | 17-40mm f/4 + 50mm f/1.8 II + 70-200mm f/4 | 2x 430EX II | Sirui T005 + C10
Bezig dit bijzonder interessant forum te doorploegen. Ik heb alvast een vraag:
Is Meteoserver ook geschikt voor een locatie in het centrum van België?
Alvast bedankt
PV: 7.7 + 6.4 kWp | Omvormer: Deye SUN-10K-SG04LG3-EU | DIY Batterij: 48kWh JK BMS
De meteoserver-api werkt voor heel Europa:Rafistoll schreef op maandag 13 oktober 2025 @ 15:59:
Beste tweakers,
Bezig dit bijzonder interessant forum te doorploegen. Ik heb alvast een vraag:
Is Meteoserver ook geschikt voor een locatie in het centrum van België?
Alvast bedankt
https://meteoserver.nl/weersverwachting-API.php
Als je in Home assistant je coördinaten invult gebruikt DAO die om de weersverwachting voor jouw regio op te vragen.
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
Na 2025.6.2 is er een ander build-systeem geïntroduceerd.Asclepius8 schreef op maandag 13 oktober 2025 @ 09:23:
[...]
Reeds gedaan, zie geen update mogelijkheid (current version 2025.6.2).
Ik denk dat jouw HA-supervisor het spoor bijster is.
Ik raad je aan de volgende stappen te nemen:
- Kopieer je instellingen, database-bestand enz door met Samba naar de map addon_configs op je HA machine te gaan en dan naar xxxx_day_ahead_opt. Kopieer de map dao_data, bewaar ze ergens
- Ga in HA naar Instellingen/Addons, klik op DAO-versie 2025.6.2, Klik op Verwijderen, verwijder alles
- Ga in HA naar Instellingen/Addons, ga naar de Add-on Winkel (blauwe knop rechtsonder), Kies via het puntjesmenu rechtsboven voor "Repositories"
- Verwijder uit de lijst alle DAO-repositories
- Voeg een nieuwe repository toe: "https://github.com/corneel27/day-ahead", opslaan
- Kies via het puntjes voor "Naar updates zoeken"
- Wacht even (evt verversen met F5) dan komen de laatste versie van de produktie- en de testversie in beeld
- Klik op de productieversie en "installeer"
- Kopieer na installatie jouw "oude" dao_data-map over de nieuwe dao_data-map in addon_configs.
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
- Fixed error when boiler is heated by heatpump
- Fixed typo (extra space) in warning "Geen oplossing"
- Fix error planning ev when planning window is too small
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 zojuist begonnen met de basis en wil nu eigenlijk mijn batterij gaan toevoegen.
Wat ik alleen niet helemaal begrijp en niet uit de documentatie kan halen: de input numbers, max soc percentages etc zijn dat helpers die ik los moet aanmaken in HA of kan ik bepaalde bestaande entities van mijn batterij gebruiken die ik uitlees via een ESP.
Bijvoorbeeld de "entity min soc end opt" waarde, die zit er al in als waarde via de esp:
number.marstek1_marstek_discharging_cutoff_capacity
of moet ik hier dan alsnog een helper voor aanmaken die weer met elkaar communiceren via een automation?
Ga niet uit van het haalbare, maar van het denkbare
Ik heb de instructie eens doorgenomen maar hiermee kom ik nog niet helemaal op het juiste pad https://gathering.tweaker...message/82146060#82146060
Hoe kom ik bijvoorbeeld aan de degree days factor? ik heb een poging gedaan dit te vinden in het topic, maar helaas. Heeft iemand een tip hoe ik dit aanpak?
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
Zie hier:f.welvering schreef op dinsdag 14 oktober 2025 @ 08:56:
Uit mijn eerdere vraag of iemand ook een PompAO in zijn config heeft heb ik geen reactie gekregen, dus ga ik er zelf mee aan de slag.
Ik heb de instructie eens doorgenomen maar hiermee kom ik nog niet helemaal op het juiste pad https://gathering.tweaker...message/82146060#82146060
Hoe kom ik bijvoorbeeld aan de degree days factor? ik heb een poging gedaan dit te vinden in het topic, maar helaas. Heeft iemand een tip hoe ik dit aanpak?
KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"
Hier komt al een volgende vraagje uit België. Salderen gaat er nu bij ons zeer snel uit: de laatste terugdraaiende tellers worden nu ook door digitale tellers vervangen (wij waren eind augustus aan de beurt) en salderen wordt dus vervangen door een afrekening op resp. aankoopprijs en terugleverprijs.
Het lijkt mij dus dat de optie "tax refund" voor ons obsoleet wordt, en dat zowel "true" als "false" tot fouten kunnen leiden? Klopt dat? En is er dan een "Belgische" workaround mogelijk/voorzien?
PV: 7.7 + 6.4 kWp | Omvormer: Deye SUN-10K-SG04LG3-EU | DIY Batterij: 48kWh JK BMS
Het kan beide, maar het is wellicht slim om de boel te ontkoppelen met helpers en dan de waarden via een automatisering te actualiseren. Dan kun je de koppeling eenvoudig deactiveren door de automatisering uit te zetten.robbinonline schreef op dinsdag 14 oktober 2025 @ 08:31:
Wat een mooie add-on is dit! Wel een leer curve om dit instellen maar dat is alleen maar leuk.
Ik ben zojuist begonnen met de basis en wil nu eigenlijk mijn batterij gaan toevoegen.
Wat ik alleen niet helemaal begrijp en niet uit de documentatie kan halen: de input numbers, max soc percentages etc zijn dat helpers die ik los moet aanmaken in HA of kan ik bepaalde bestaande entities van mijn batterij gebruiken die ik uitlees via een ESP.
Bijvoorbeeld de "entity min soc end opt" waarde, die zit er al in als waarde via de esp:
number.marstek1_marstek_discharging_cutoff_capacity
of moet ik hier dan alsnog een helper voor aanmaken die weer met elkaar communiceren via een automation?
Je moet de energy taxes, cost supplier en vat instellen in de config. Voor zonneplan b.v.Floris039 schreef op dinsdag 14 oktober 2025 @ 12:17:
Misschien een semi off topic vraag. Voor het instellen van Nordpool om te gebruiken met deze add-on. Ik krijg namelijk na instellen van Nordpool niet de juiste tarieven. Dit uur bijv 0,13 cent. En ik heb BTW aangezet. Moet ik dan nog een formule in het template zetten voor NL?
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14"energy taxes consumption": { "2025-01-01": 0.10154 }, "energy taxes production": { "2025-01-01": 0.10154 }, "cost supplier consumption": { "2024-08-01": 0.02 }, "cost supplier production": { "2024-08-01": 0.02 }, "vat": { "2023-01-01": 21
“Energy taxes production” op 0 instellen?Rafistoll schreef op dinsdag 14 oktober 2025 @ 10:13:
@kc27 bedankt voor je snelle reactie op mijn Meteoserver vraag. En vooral bedankt voor deze prachtige tool.
Hier komt al een volgende vraagje uit België. Salderen gaat er nu bij ons zeer snel uit: de laatste terugdraaiende tellers worden nu ook door digitale tellers vervangen (wij waren eind augustus aan de beurt) en salderen wordt dus vervangen door een afrekening op resp. aankoopprijs en terugleverprijs.
Het lijkt mij dus dat de optie "tax refund" voor ons obsoleet wordt, en dat zowel "true" als "false" tot fouten kunnen leiden? Klopt dat? En is er dan een "Belgische" workaround mogelijk/voorzien?
En dat kan niet in de Nordpool integratie al meteen tijdens het configureren ervan? Zodat ik naast deze addon ook nog andere dingen eenvoudig kan doen met de data van Nordpool? Of is dat niet makkelijk voor het gebruik binnen de addon omdat je in sommige gevallen de belasting etc niet betaald?Torch1969 schreef op dinsdag 14 oktober 2025 @ 12:53:
[...]
Je moet de energy taxes, cost supplier en vat instellen in de config. Voor zonneplan b.v.
[...]
DAO haalt zelf zijn prijzen op bij nordpool, en maakt geen gebruik van de nordpool integratie in HA waar je ook opslagen etc voor kunt configureren.Floris039 schreef op dinsdag 14 oktober 2025 @ 15:02:
[...]
En dat kan niet in de Nordpool integratie al meteen tijdens het configureren ervan? Zodat ik naast deze addon ook nog andere dingen eenvoudig kan doen met de data van Nordpool? Of is dat niet makkelijk voor het gebruik binnen de addon omdat je in sommige gevallen de belasting etc niet betaald?
Ioniq 6 LR Lounge 20" @ Elli Pro
2700Wp SSW 30° @ SE2200 | 1720Wp SSW 5° @ HM-1500
Flickr | Canon 6D | 17-40mm f/4 + 50mm f/1.8 II + 70-200mm f/4 | 2x 430EX II | Sirui T005 + C10
Wat @Bravo ook zegt:Floris039 schreef op dinsdag 14 oktober 2025 @ 15:02:
[...]
En dat kan niet in de Nordpool integratie al meteen tijdens het configureren ervan? Zodat ik naast deze addon ook nog andere dingen eenvoudig kan doen met de data van Nordpool? Of is dat niet makkelijk voor het gebruik binnen de addon omdat je in sommige gevallen de belasting etc niet betaald?
DAO haalt zelf de kale prijzen op bij Noordpool of een andere data-provider die je kiest bij je instellingen. Daar geef je ook op met diverse settings hoe de inkoopprijs (consumption price) moet worden berekend en hoe voor jou de terugleverprijs (production price) moet worden berekend.
DAO beschikt over een api (zie DOCS.md) waarmee je die drie prijs reeksen kunt opvragen en bijvoorbeeld in HA kunt gebruiken.
Bijvoorbeeld: http://192.168.178.36:5000/api/report/da/vandaag_en_morgen
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
Sinds gisteren krijg ik de volgende foutmelding bij het uitvoeren van de optimaliseringsberekening op versie 2025.10.5.rc3
Net even proberen teruggaan naar v2025.10.4 maar daar krijg ik dezelfde melding.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 1132025-10-15 14:07:30 info: Day Ahead Optimalisering versie: 2025.10.5.rc3 2025-10-15 14:07:30 info: Day Ahead Optimalisering gestart op: 15-10-2025 14:07:30 2025-10-15 14:07:30 info: Day Ahead Optimalisatie gestart: 15-10-2025 14:07:30 taak: calc_optimum_met_debug 2025-10-15 14:07:30 info: Debug = True 2025-10-15 14:07:30 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-15 14:07:30 info: Baseload uit instellingen 2025-10-15 14:07:30 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 14:00 2025-10-15 14:00:00 0.264 0.116 0.500 0 0.928 1 15:00 2025-10-15 15:00:00 0.273 0.125 0.500 0 1.099 2 16:00 2025-10-15 16:00:00 0.288 0.139 0.500 0 0.666 3 17:00 2025-10-15 17:00:00 0.289 0.140 0.500 0 0.465 4 18:00 2025-10-15 18:00:00 0.325 0.174 1.500 0 0.093 5 19:00 2025-10-15 19:00:00 0.352 0.199 1.000 0 0.000 6 20:00 2025-10-15 20:00:00 0.306 0.156 0.500 0 0.000 7 21:00 2025-10-15 21:00:00 0.274 0.126 0.500 0 0.000 8 22:00 2025-10-15 22:00:00 0.265 0.117 0.500 0 0.000 9 23:00 2025-10-15 23:00:00 0.257 0.110 0.350 0 0.000 10 00:00 2025-10-16 00:00:00 0.252 0.105 0.350 0 0.000 11 01:00 2025-10-16 01:00:00 0.248 0.101 0.350 0 0.000 12 02:00 2025-10-16 02:00:00 0.252 0.104 0.350 0 0.000 13 03:00 2025-10-16 03:00:00 0.248 0.101 0.350 0 0.000 14 04:00 2025-10-16 04:00:00 0.249 0.102 0.350 0 0.000 15 05:00 2025-10-16 05:00:00 0.249 0.102 0.350 0 0.000 16 06:00 2025-10-16 06:00:00 0.258 0.111 0.350 0 0.000 17 07:00 2025-10-16 07:00:00 0.279 0.130 0.600 0 0.000 18 08:00 2025-10-16 08:00:00 0.303 0.153 0.500 0 0.093 19 09:00 2025-10-16 09:00:00 0.286 0.136 0.500 0 0.847 20 10:00 2025-10-16 10:00:00 0.259 0.111 0.500 0 1.927 21 11:00 2025-10-16 11:00:00 0.255 0.108 0.500 0 0.910 22 12:00 2025-10-16 12:00:00 0.250 0.103 0.500 0 2.070 23 13:00 2025-10-16 13:00:00 0.245 0.098 0.500 0 5.535 24 14:00 2025-10-16 14:00:00 0.247 0.101 0.500 0 2.827 25 15:00 2025-10-16 15:00:00 0.246 0.099 0.500 0 2.410 26 16:00 2025-10-16 16:00:00 0.253 0.106 0.500 0 2.934 27 17:00 2025-10-16 17:00:00 0.266 0.118 0.500 0 1.660 28 18:00 2025-10-16 18:00:00 0.291 0.142 1.500 0 0.140 29 19:00 2025-10-16 19:00:00 0.313 0.162 1.000 0 0.000 30 20:00 2025-10-16 20:00:00 0.290 0.141 0.500 0 0.000 31 21:00 2025-10-16 21:00:00 0.268 0.120 0.500 0 0.000 32 22:00 2025-10-16 22:00:00 0.265 0.117 0.500 0 0.000 33 23:00 2025-10-16 23:00:00 0.261 0.113 0.350 0 0.000 2025-10-15 14:07:31 info: Reduced hours applied for Thuisbatterij 2025-10-15 14:07:31 info: Startwaarde SoC Thuisbatterij: 35.0% 2025-10-15 14:07:31 fout: Er is een fout opgetreden, zie de fout-tracering Traceback (most recent call last): File "/root/dao/prog/da_base.py", line 622, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug dacalc.calc_optimum() ~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/day_ahead.py", line 761, in calc_optimum min_soc_end_opt = float(self.get_state(entity_min_soc_end).state) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/states.py", line 15, in get_state return State(**self._get(f"states/{entity_id}")) # type: ignore ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 54, in _get return self._process_response( ~~~~~~~~~~~~~~~~~~~~~~^ requests.get( ^^^^^^^^^^^^^ ...<5 lines>... ) ^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 90, in _process_response self._raise_error(response.status_code, response.url) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 95, in _raise_error raise error(f"{status_code} status code returned from {url}",) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ hassapi.exceptions.NotFound: 404 status code returned from http://192.168.xxx.2:8123/api/states/50 Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 3959, in <module> main() ~~~~^^ File "/root/dao/webserver/../prog/day_ahead.py", line 3933, in main da_calc.run_task_function("calc_optimum_met_debug") ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_base.py", line 622, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug dacalc.calc_optimum() ~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/day_ahead.py", line 761, in calc_optimum min_soc_end_opt = float(self.get_state(entity_min_soc_end).state) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/states.py", line 15, in get_state return State(**self._get(f"states/{entity_id}")) # type: ignore ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 54, in _get return self._process_response( ~~~~~~~~~~~~~~~~~~~~~~^ requests.get( ^^^^^^^^^^^^^ ...<5 lines>... ) ^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 90, in _process_response self._raise_error(response.status_code, response.url) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 95, in _raise_error raise error(f"{status_code} status code returned from {url}",) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ hassapi.exceptions.NotFound: 404 status code returned from http://192.168.xxx.2:8123/api/states/50 <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7fff21f36d40>
HA (versie 2025.9.4) eens proberen herstarten maar dit lost ook niks op. Communicatie met HA lijkt wel te werken want SoC van de batterij kan wel goed worden opgehaald.
De entiteiten/helpers voor aansturing naar HA worden niet meer aangestuurd.
Hier mijn configuratie:
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{ "homeassistant": { "host": "!secret homeassistant_host_ip", "ip port": 8123, "token": "!secret homeassistant_long_lived_access_token" }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "energy taxes consumption": { "2025-01-01": 0.1329 }, "energy taxes production": { "2025-01-01": 0 }, "cost supplier consumption": { "2024-08-01": 0.020496 }, "cost supplier production": { "2024-08-01": 0.020496 }, "vat consumption": { "2023-01-01": 6 }, "vat production": { "2023-01-01": 0 }, "last invoice": "2022-09-01", "tax refund": "False" }, "interval": "1hour", "logging level" : "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.60, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 1.50, 1.00, 0.50, 0.50, 0.50, 0.35 ], "graphical backend": "Agg", "graphics": { "style": "Solarize_Light2", "show" : "true", "battery balance": "True", "prices consumption": "True", "prices production": "True", "prices spot": "True", "average consumption": "True" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 3 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "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 }, "battery": [ { "name": "Thuisbatterij", "entity actual level": "sensor.deye_battery", "capacity": 30, "lower limit": 30, "entity min soc end opt": "50", "upper limit": 100, "charge stages": [ {"power": 0, "efficiency": 1}, {"power": 300, "efficiency": 0.785}, {"power": 1500, "efficiency": 0.872}, {"power": 3000, "efficiency": 0.897}, {"power": 4500, "efficiency": 0.899} ], "discharge stages": [ {"power": 0, "efficiency": 1}, {"power": 300, "efficiency": 0.75}, {"power": 600, "efficiency": 0.891}, {"power": 1500, "efficiency": 0.935}, {"power": 3000, "efficiency": 0.952}, {"power": 4500, "efficiency": 0.952}, {"power": 7500, "efficiency": 0.934} ], "reduced hours": { "18": 2500, "19": 2500 }, "minimum power": 1, "dc_to_bat efficiency": 0.95, "dc_to_bat max power": 5000, "bat_to_dc efficiency": 0.95, "bat_to_dc max power": 5000, "cycle cost": 0.01, "entity set power feedin": "input_number.dao_set_power_feedin", "entity set operating mode": "input_select.dao_set_operating_mode", "entity stop inverter": "input_datetime.dao_stop_inverter", "entity balance switch": "input_boolean.dao_balance_switch", "entity from battery": "input_number.dao_from_battery", "entity from pv": "input_number.dao_from_pv", "entity from ac": "input_number.dao_from_grid", "entity calculated soc": "input_number.dao_calculated_soc", "solar": [ {"name": "PV Voorkant Oost", "tilt": 45, "orientation": -90, "capacity": 3.54, "yield": 0.023275, "entity pv switch": "" }, {"name": "PV Achterkant West", "tilt": 45, "orientation": 90, "capacity": 9.9, "yield": 0.023275, "entity pv switch": "" } ] } ], "solar": [ ], "electric vehicle": [ ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.energy_import_total" ], "entities grid production": [ "sensor.energy_export_total" ], "entities solar production ac": [ ], "entities solar production dc": [ "sensor.solar_energy_template" ], "entities ev consumption" : ["sensor.ev_charger_energy_consumption"], "entities wp consumption" : ["sensor.heatpump_south_street_energy_template"], "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"], "entities battery consumption": ["sensor.home_battery_discharged_energy"], "entities battery production": ["sensor.home_battery_charged_energy"], "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"] }, "scheduler": { "active": "true", "0435": "get_meteo_data", "1035": "get_meteo_data", "1635": "get_meteo_data", "2235": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "xx15": "calc_optimum", "xx30": "calc_optimum", "xx45": "calc_optimum", "2359": "clean_data" } }
[ Voor 100% gewijzigd door BBuilds op 15-10-2025 14:45 ]
Wanneer ik de berekening van de baseload laat uitvoeren lijkt alles goed te gaan:
Wanneer ik echter de Optimaliseringsberekening met debug laat draaien krijg ik de melding: waarschuwing: Geen oplossing voor: minimize costcode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2025-10-15 17:00:05 info: Day Ahead Optimalisering versie: 2025.10.4 2025-10-15 17:00:05 info: Day Ahead Optimalisering gestart op: 15-10-2025 17:00:05 2025-10-15 17:00:05 info: Day Ahead Optimalisatie gestart: 15-10-2025 17:00:05 taak: calc_baseloads 2025-10-15 17:00:05 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-15 17:00:19 info: baseload voor weekdag 0 : 2025-10-15 17:00:19 info: -0.344 -0.294 -0.346 -0.33 -0.306 -0.306 -0.328 -0.169 0.049 -0.004 -0.344 -0.97 -0.988 -1.668 -3.226 -2.814 -2.497 -1.942 -0.542 -1.032 -0.814 -0.995 -0.621 -0.357 2025-10-15 17:00:29 info: baseload voor weekdag 1 : 2025-10-15 17:00:29 info: -0.368 -0.34 -0.311 -0.336 -0.348 -0.342 -0.323 -0.076 0.023 -0.165 -0.121 -0.392 -1.118 -1.672 -1.999 -1.707 -0.929 -1.452 -0.607 -0.791 -0.76 -0.694 -0.387 -0.43 2025-10-15 17:00:40 info: baseload voor weekdag 2 : 2025-10-15 17:00:40 info: -0.318 -0.335 -0.347 -0.291 -0.316 -0.303 -0.317 -0.234 0.128 0.226 0.1 0.092 0.179 -0.793 -1.742 -1.562 -1.394 -0.715 -0.723 -0.54 -0.511 -0.466 -0.385 -0.42 2025-10-15 17:00:50 info: baseload voor weekdag 3 : 2025-10-15 17:00:50 info: -0.344 -0.347 -0.37 -0.313 -0.32 -0.316 -0.282 -0.128 0.006 0.139 -0.189 -0.971 -1.622 -2.093 -1.306 -1.383 -2.677 -1.58 -1.045 -0.577 -0.532 -0.656 -0.516 -0.328 2025-10-15 17:01:00 info: baseload voor weekdag 4 : 2025-10-15 17:01:00 info: -0.29 -0.284 -0.304 -0.288 -0.312 -0.344 -0.417 -0.19 -0.124 -0.235 -0.375 -0.939 -0.758 -1.471 -1.515 -1.441 -2.117 -1.551 -1.035 -0.657 -0.647 -0.673 -0.606 -1.03 2025-10-15 17:01:11 info: baseload voor weekdag 5 : 2025-10-15 17:01:11 info: -1.266 -0.9 -0.783 -0.885 -0.499 -0.311 -0.332 -0.553 -0.228 -0.435 -0.217 0.112 -0.629 -0.698 -1.557 -1.258 -1.25 -1.215 -0.688 -0.504 -0.354 -0.435 -0.415 -0.953 2025-10-15 17:01:21 info: baseload voor weekdag 6 : 2025-10-15 17:01:21 info: -0.961 -0.997 -0.463 -0.308 -0.272 -0.259 -0.284 -0.109 -0.204 -0.206 -0.168 -0.281 -0.507 -1.262 -1.857 -1.772 -2.0 -1.776 -0.88 -0.498 -0.623 -1.12 -0.851 -0.55 <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffedb806e30>
Wanneer ik dezelfde Optimaliseringsberekening met debug laat draaien met een fixed baseload lijkt alles wel te werken: (zelfs zonder de berekening van de baseloads opnieuw te doen)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 472025-10-15 17:15:25 info: Day Ahead Optimalisering versie: 2025.10.4 2025-10-15 17:15:25 info: Day Ahead Optimalisering gestart op: 15-10-2025 17:15:25 2025-10-15 17:15:25 info: Day Ahead Optimalisatie gestart: 15-10-2025 17:15:25 taak: calc_optimum_met_debug 2025-10-15 17:15:25 info: Debug = True 2025-10-15 17:15:25 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-15 17:15:25 info: Zelf berekende baseload 2025-10-15 17:15:25 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 17:00 2025-10-15 17:00:00 0.289 0.131 -0.715 0 0.346 1 18:00 2025-10-15 18:00:00 0.327 0.165 -0.723 0 0.093 2 19:00 2025-10-15 19:00:00 0.355 0.190 -0.540 0 0.000 3 20:00 2025-10-15 20:00:00 0.307 0.147 -0.511 0 0.000 4 21:00 2025-10-15 21:00:00 0.273 0.117 -0.466 0 0.000 5 22:00 2025-10-15 22:00:00 0.264 0.108 -0.385 0 0.000 6 23:00 2025-10-15 23:00:00 0.255 0.101 -0.420 0 0.000 7 00:00 2025-10-16 00:00:00 0.250 0.096 -0.344 0 0.000 8 01:00 2025-10-16 01:00:00 0.246 0.092 -0.347 0 0.000 9 02:00 2025-10-16 02:00:00 0.250 0.095 -0.370 0 0.000 10 03:00 2025-10-16 03:00:00 0.246 0.092 -0.313 0 0.000 11 04:00 2025-10-16 04:00:00 0.247 0.093 -0.320 0 0.000 12 05:00 2025-10-16 05:00:00 0.247 0.093 -0.316 0 0.000 13 06:00 2025-10-16 06:00:00 0.257 0.102 -0.282 0 0.000 14 07:00 2025-10-16 07:00:00 0.278 0.121 -0.128 0 0.000 15 08:00 2025-10-16 08:00:00 0.304 0.144 0.006 0 0.093 16 09:00 2025-10-16 09:00:00 0.285 0.127 0.139 0 0.847 17 10:00 2025-10-16 10:00:00 0.257 0.102 -0.189 0 1.927 18 11:00 2025-10-16 11:00:00 0.253 0.099 -0.971 0 0.910 19 12:00 2025-10-16 12:00:00 0.248 0.094 -1.622 0 2.070 20 13:00 2025-10-16 13:00:00 0.243 0.089 -2.093 0 5.535 21 14:00 2025-10-16 14:00:00 0.245 0.092 -1.306 0 2.827 22 15:00 2025-10-16 15:00:00 0.244 0.090 -1.383 0 2.410 23 16:00 2025-10-16 16:00:00 0.252 0.097 -2.677 0 2.934 24 17:00 2025-10-16 17:00:00 0.265 0.109 -1.580 0 1.660 25 18:00 2025-10-16 18:00:00 0.291 0.133 -1.045 0 0.140 26 19:00 2025-10-16 19:00:00 0.314 0.153 -0.577 0 0.000 27 20:00 2025-10-16 20:00:00 0.290 0.132 -0.532 0 0.000 28 21:00 2025-10-16 21:00:00 0.267 0.111 -0.656 0 0.000 29 22:00 2025-10-16 22:00:00 0.263 0.108 -0.516 0 0.000 30 23:00 2025-10-16 23:00:00 0.259 0.104 -0.328 0 0.000 2025-10-15 17:15:25 info: Reduced hours applied for Thuisbatterij 2025-10-15 17:15:25 info: Startwaarde SoC Thuisbatterij: 33.0% 2025-10-15 17:15:25 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-10-15 17:15:25 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-10-15 17:15:25 waarschuwing: Geen oplossing voor: minimize cost <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7fff7a213010>
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 1422025-10-15 17:19:28 info: Day Ahead Optimalisering versie: 2025.10.4 2025-10-15 17:19:28 info: Day Ahead Optimalisering gestart op: 15-10-2025 17:19:28 2025-10-15 17:19:28 info: Day Ahead Optimalisatie gestart: 15-10-2025 17:19:28 taak: calc_optimum_met_debug 2025-10-15 17:19:28 info: Debug = True 2025-10-15 17:19:28 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-15 17:19:28 info: Baseload uit instellingen 2025-10-15 17:19:28 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 17:00 2025-10-15 17:00:00 0.289 0.131 0.500 0 0.314 1 18:00 2025-10-15 18:00:00 0.327 0.165 1.500 0 0.093 2 19:00 2025-10-15 19:00:00 0.355 0.190 1.000 0 0.000 3 20:00 2025-10-15 20:00:00 0.307 0.147 0.500 0 0.000 4 21:00 2025-10-15 21:00:00 0.273 0.117 0.500 0 0.000 5 22:00 2025-10-15 22:00:00 0.264 0.108 0.500 0 0.000 6 23:00 2025-10-15 23:00:00 0.255 0.101 0.350 0 0.000 7 00:00 2025-10-16 00:00:00 0.250 0.096 0.350 0 0.000 8 01:00 2025-10-16 01:00:00 0.246 0.092 0.350 0 0.000 9 02:00 2025-10-16 02:00:00 0.250 0.095 0.350 0 0.000 10 03:00 2025-10-16 03:00:00 0.246 0.092 0.350 0 0.000 11 04:00 2025-10-16 04:00:00 0.247 0.093 0.350 0 0.000 12 05:00 2025-10-16 05:00:00 0.247 0.093 0.350 0 0.000 13 06:00 2025-10-16 06:00:00 0.257 0.102 0.350 0 0.000 14 07:00 2025-10-16 07:00:00 0.278 0.121 0.600 0 0.000 15 08:00 2025-10-16 08:00:00 0.304 0.144 0.500 0 0.093 16 09:00 2025-10-16 09:00:00 0.285 0.127 0.500 0 0.847 17 10:00 2025-10-16 10:00:00 0.257 0.102 0.500 0 1.927 18 11:00 2025-10-16 11:00:00 0.253 0.099 0.500 0 0.910 19 12:00 2025-10-16 12:00:00 0.248 0.094 0.500 0 2.070 20 13:00 2025-10-16 13:00:00 0.243 0.089 0.500 0 5.535 21 14:00 2025-10-16 14:00:00 0.245 0.092 0.500 0 2.827 22 15:00 2025-10-16 15:00:00 0.244 0.090 0.500 0 2.410 23 16:00 2025-10-16 16:00:00 0.252 0.097 0.500 0 2.934 24 17:00 2025-10-16 17:00:00 0.265 0.109 0.500 0 1.660 25 18:00 2025-10-16 18:00:00 0.291 0.133 1.500 0 0.140 26 19:00 2025-10-16 19:00:00 0.314 0.153 1.000 0 0.000 27 20:00 2025-10-16 20:00:00 0.290 0.132 0.500 0 0.000 28 21:00 2025-10-16 21:00:00 0.267 0.111 0.500 0 0.000 29 22:00 2025-10-16 22:00:00 0.263 0.108 0.500 0 0.000 30 23:00 2025-10-16 23:00:00 0.259 0.104 0.350 0 0.000 2025-10-15 17:19:29 info: Reduced hours applied for Thuisbatterij 2025-10-15 17:19:29 info: Startwaarde SoC Thuisbatterij: 33.0% 2025-10-15 17:19:29 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-10-15 17:19:29 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-10-15 17:19:29 info: Strategie: minimale kosten 2025-10-15 17:19:29 info: Het programma heeft een optimale oplossing gevonden. 2025-10-15 17:19:29 info: In- en uitgaande energie per uur batterij Thuisbatterij uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 17:00 0.00 -- 0.00 0.21 0.21 95.00 0.20 -- 33.65 18:00 -0.05 75.00 -0.06 0.09 0.03 95.00 0.03 -- 33.75 19:00 -1.00 93.50 -1.07 0.00 -1.07 95.00 -1.13 88.83 30.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 00:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 01:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 02:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 03:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 04:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 05:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 06:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 07:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 30.00 08:00 -0.07 75.00 -0.09 0.09 0.00 -- 0.00 -- 30.00 09:00 -0.77 93.50 -0.83 0.83 0.00 -- 0.00 -- 30.00 10:00 -1.68 95.20 -1.77 1.77 0.00 -- 0.00 -- 30.00 11:00 -0.60 93.50 -0.64 0.86 0.22 95.00 0.21 -- 30.70 12:00 -0.60 93.50 -0.64 2.07 1.43 95.00 1.36 -- 35.22 13:00 -0.60 93.50 -0.64 5.34 4.70 95.00 4.46 -- 50.10 14:00 -0.60 93.50 -0.64 3.15 2.51 95.00 2.39 -- 58.06 15:00 -0.60 93.50 -0.64 2.86 2.22 95.00 2.11 -- 65.08 16:00 -1.96 95.20 -2.06 3.17 1.12 95.00 1.06 -- 68.61 17:00 -1.50 95.20 -1.58 1.56 -0.01 95.00 -0.01 10200.59 68.56 18:00 -3.50 95.20 -3.68 0.14 -3.54 95.00 -3.72 94.01 56.15 19:00 -3.00 95.20 -3.15 0.00 -3.15 95.00 -3.32 90.44 45.10 20:00 -2.50 95.20 -2.63 0.00 -2.63 95.00 -2.76 90.44 35.88 21:00 -0.60 93.50 -0.64 0.00 -0.64 95.00 -0.68 88.83 33.63 22:00 -0.60 93.50 -0.64 0.00 -0.64 95.00 -0.68 88.83 31.38 23:00 -0.35 89.10 -0.39 0.00 -0.39 95.00 -0.41 84.64 30.00 Totaal -20.58 -- -21.79 22.15 0.36 -- -0.90 -- 2025-10-15 17:19:29 info: Berekende prognoses zijn niet opgeslagen. 2025-10-15 17:19:29 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 17:00 0.00 0.00 0.34 0.00 0.50 0.00 0.00 0.00 0.00 0.10 -0.00 20.00 18:00 0.00 0.05 1.45 0.00 1.50 0.00 0.00 0.00 0.00 0.48 -0.00 20.00 19:00 0.00 1.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 20:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.15 -0.00 20.00 21:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.14 -0.00 20.00 22:00 0.00 0.00 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.13 -0.00 20.00 23:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 00:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 01:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 02:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 03:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 04:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 05:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 06:00 0.00 0.00 0.35 0.00 0.35 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 07:00 0.00 0.00 0.60 0.00 0.60 0.00 0.00 0.00 0.00 0.17 -0.00 20.00 08:00 0.00 0.07 0.43 0.00 0.50 0.00 0.00 0.00 0.00 0.13 -0.00 20.00 09:00 0.00 0.77 0.00 0.27 0.50 0.00 0.00 0.00 0.00 0.00 -0.03 20.00 10:00 0.00 1.68 0.00 1.18 0.50 0.00 0.00 0.00 0.00 0.00 -0.12 20.00 11:00 0.00 0.60 0.00 0.10 0.50 0.00 0.00 0.00 0.00 0.00 -0.01 20.00 12:00 0.00 0.60 0.00 0.10 0.50 0.00 0.00 0.00 0.00 0.00 -0.01 20.00 13:00 0.00 0.60 0.00 0.10 0.50 0.00 0.00 0.00 0.00 0.00 -0.01 20.00 14:00 0.00 0.60 0.00 0.10 0.50 0.00 0.00 0.00 0.00 0.00 -0.01 20.00 15:00 0.00 0.60 0.00 0.10 0.50 0.00 0.00 0.00 0.00 0.00 -0.01 20.00 16:00 0.00 1.96 0.00 1.46 0.50 0.00 0.00 0.00 0.00 0.00 -0.14 20.00 17:00 0.00 1.50 0.00 1.00 0.50 0.00 0.00 0.00 0.00 0.00 -0.11 20.00 18:00 0.00 3.50 0.00 2.00 1.50 0.00 0.00 0.00 0.00 0.00 -0.27 20.00 19:00 0.00 3.00 0.00 2.00 1.00 0.00 0.00 0.00 0.00 0.00 -0.31 20.00 20:00 0.00 2.50 0.00 2.00 0.50 0.00 0.00 0.00 0.00 0.00 -0.26 20.00 21:00 0.00 0.60 0.00 0.10 0.50 0.00 0.00 0.00 0.00 0.00 -0.01 20.00 22:00 0.00 0.60 0.00 0.10 0.50 0.00 0.00 0.00 0.00 0.00 -0.01 20.00 23:00 0.00 0.35 0.00 0.00 0.35 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 Totaal 0.00 20.58 7.12 10.61 17.25 0.00 0.00 0.00 0.00 1.99 -1.31 2025-10-15 17:19:29 info: Consumption 7.12 (kWh) 2025-10-15 17:19:29 info: Cost consumption 1.99 (€) 2025-10-15 17:19:29 info: Tariff consumption 0.280 (€/kWh) 2025-10-15 17:19:29 info: Production 10.61 (kWh) 2025-10-15 17:19:29 info: Profit production -1.31 (€) 2025-10-15 17:19:29 info: Tariff production 0.123 (€/kWh) 2025-10-15 17:19:29 info: Calculation profit after optimize in € Cost before optimize 2.06 Cost consumption 1.99 Profit production -1.31 Cycle cost 0.25 Battery storage 0.09 Boiler storage 0.00 Total 1.01 Cost after optimize 1.01 Profit: 1.05 2025-10-15 17:19:29 info: Onderstaande settings worden NIET doorgezet naar HA (debug-run) 2025-10-15 17:19:29 info: Grid set point: 500.0 W 2025-10-15 17:19:29 info: Cycle cost Thuisbatterij: 0.25 euro 2025-10-15 17:19:29 info: Netto vermogen naar(+)/uit(-) batterij Thuisbatterij zou zijn: 0 W 2025-10-15 17:19:29 info: Balanceren zou zijn: False <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffef22a7010>
Doe ik wat mis en zie ik wat over het hoofd? Of is er wat anders mis?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{ "homeassistant": { "host": "!secret homeassistant_host_ip", "ip port": 8123, "token": "!secret homeassistant_long_lived_access_token" }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "energy taxes consumption": { "2025-01-01": 0.12384 }, "energy taxes production": { "2025-10-01": 0 }, "cost supplier consumption": { "2025-10-01": 0.015 }, "cost supplier production": { "2025-10-01": 0.0115 }, "vat consumption": { "2025-10-01": 12 }, "vat production": { "2025-10-01": 0 }, "last invoice": "2022-09-01", "tax refund": "False" }, "interval": "1hour", "logging level" : "info", "use_calc_baseload": "True", "baseload calc periode": 56, "baseload": [ 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.60, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 0.50, 1.50, 1.00, 0.50, 0.50, 0.50, 0.35 ], "graphical backend": "Agg", "graphics": { "style": "Solarize_Light2", "show" : "true", "battery balance": "True", "prices consumption": "True", "prices production": "True", "prices spot": "True", "average consumption": "True" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 2 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "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 }, "battery": [ { "name": "Thuisbatterij", "entity actual level": "sensor.deye_battery", "capacity": 30, "lower limit": 30, "min soc end opt": "50", "upper limit": 100, "charge stages": [ {"power": 0, "efficiency": 1}, {"power": 300, "efficiency": 0.785}, {"power": 1500, "efficiency": 0.872}, {"power": 3000, "efficiency": 0.897}, {"power": 4500, "efficiency": 0.899} ], "discharge stages": [ {"power": 0, "efficiency": 1}, {"power": 300, "efficiency": 0.75}, {"power": 600, "efficiency": 0.891}, {"power": 1500, "efficiency": 0.935}, {"power": 3000, "efficiency": 0.952}, {"power": 4500, "efficiency": 0.952}, {"power": 7500, "efficiency": 0.934} ], "reduced hours": { "18": 2500, "19": 2500 }, "minimum power": 1, "dc_to_bat efficiency": 0.95, "dc_to_bat max power": 5000, "bat_to_dc efficiency": 0.95, "bat_to_dc max power": 5000, "cycle cost": 0.01, "entity set power feedin": "input_number.dao_set_power_feedin", "entity set operating mode": "input_select.dao_set_operating_mode", "entity stop inverter": "input_datetime.dao_stop_inverter", "entity balance switch": "input_boolean.dao_balance_switch", "entity from battery": "input_number.dao_from_battery", "entity from pv": "input_number.dao_from_pv", "entity from ac": "input_number.dao_from_grid", "entity calculated soc": "input_number.dao_calculated_soc", "solar": [ {"name": "PV Voorkant Oost", "tilt": 45, "orientation": -90, "capacity": 3.54, "yield": 0.023275, "entity pv switch": "" }, {"name": "PV Achterkant West", "tilt": 45, "orientation": 90, "capacity": 9.9, "yield": 0.023275, "entity pv switch": "" } ] } ], "solar": [ ], "electric vehicle": [ ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.energy_import_total" ], "entities grid production": [ "sensor.energy_export_total" ], "entities solar production ac": [ ], "entities solar production dc": [ "sensor.solar_energy_template" ], "entities ev consumption" : ["sensor.ev_charger_energy_consumption"], "entities wp consumption" : ["sensor.heatpump_south_street_energy_template"], "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"], "entities battery consumption": ["sensor.home_battery_discharged_energy"], "entities battery production": ["sensor.home_battery_charged_energy"], "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"] }, "scheduler": { "active": "true", "0435": "get_meteo_data", "1035": "get_meteo_data", "1635": "get_meteo_data", "2235": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "xx15": "calc_optimum", "xx30": "calc_optimum", "xx45": "calc_optimum", "2359": "clean_data" } }
Alvast bedankt!
Je calculated baseload zit vol met negatieve getallen, dat lijkt mij niet goed en niet representatief voor je situatie.BBuilds schreef op woensdag 15 oktober 2025 @ 17:22:
Toch nog even een andere vraag, ik krijg de use_calc_baseload functie niet werkend.
Wanneer ik de berekening van de baseload laat uitvoeren lijkt alles goed te gaan:
[...]
Wanneer ik echter de Optimaliseringsberekening met debug laat draaien krijg ik de melding: waarschuwing: Geen oplossing voor: minimize cost
[...]
Wanneer ik dezelfde Optimaliseringsberekening met debug laat draaien met een fixed baseload lijkt alles wel te werken: (zelfs zonder de berekening van de baseloads opnieuw te doen)
[...]
Config:
[...]
Doe ik wat mis en zie ik wat over het hoofd? Of is er wat anders mis?
Alvast bedankt!
Heb je de entities goed ingesteld en gevuld over de laatste 56 dagen?
Hierdoor gaat de berekening waarschijnlijk ook de mist in als je gebruik maakt van de calculated baseload.
Met fixed baseload gebruikt hij de array die je eronder hebt aangemaakt, daar zitten geen negatieve waarden tussen.
Ioniq 6 LR Lounge 20" @ Elli Pro
2700Wp SSW 30° @ SE2200 | 1720Wp SSW 5° @ HM-1500
Flickr | Canon 6D | 17-40mm f/4 + 50mm f/1.8 II + 70-200mm f/4 | 2x 430EX II | Sirui T005 + C10
Ik had grid consumption en production, en battery consumption en production omgekeerd opgevat.
Dat was inderdaad de reden van de negatieve waardes.
Entiteiten omgedraaid en probleem is opgelost.
Entities grid import/export, en entities battery charged/discharged in de config file zou volgens mij duidelijker zijn.
Misschien een mogelijke verbetering.
Nogmaals dank voor de hulp.
Mooie addon en interessant om toe te passen. Ik ben momenteel aan het kijken hoe ik de warmtepomp kan regelen en wil dit doen op basis van het verschuiven van de stooklijn. Bovenstaand gaf je aan dat er nog een fout in zat, waardoor de stages en graaddagen factor ook ingesteld moesten worden bij de verplaatsing van de stooklijn.KC27 schreef op woensdag 9 april 2025 @ 08:40:
[...]
[...]
Dat blijkt dus nog een foutje te zijn.
Ik reken eigenlijk met de drie methoden zo veel mogelijk parallel.
Ik zal dat aanpassen zodat het programma daar niet de mist mee ingaat.
Het lijkt er op dat die fout er nog in zit, of is dit bewust benodigd?
Changelog:
- Added "max gap" (flex setting), see DOCS.md
- Added logging "Rekentijd" in sec
- Fixed error when planning wp-hours with 15min interval (reported by TomKuipers1983)
- Fixed error when calculating "stop invertor" with 15min-interval
Er was een zeer storende typo in versie 2025.10.5.rc4.
Dit is gerepareerd met rc5, sorry voor eventueel ongemak!
Opmerking:
Het programma geeft een onterechte waarschuwing als je geen "max gap" hebt gedefinieerd.
Je kunt deze waarschuwing onderdrukken door bijv "max gap": 0.005 op te nemen in je settings.
Dit wordt bij de volgende versie hersteld.
[ Voor 36% gewijzigd door KC27 op 16-10-2025 07:36 ]
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 het helaas niet voor elkaar om de baseloads te berekenen. Ik krijg telkens onderstaande foutmelding, enig idee wat hier mis gaat?
-- snip --
[ Voor 152% gewijzigd door Deikke op 16-10-2025 13:50 ]
Zelfde afwijking als BBuilds hierboven hadDeikke schreef op donderdag 16 oktober 2025 @ 10:50:
Ik krijg het helaas niet voor elkaar om de baseloads te berekenen. Ik krijg telkens onderstaande foutmelding, enig idee wat hier mis gaat?
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 128Logging van bewerking "Bereken de baseloads": 2025-10-16 10:44:31 info: Day Ahead Optimalisering versie: 2025.10.4 2025-10-16 10:44:31 info: Day Ahead Optimalisering gestart op: 16-10-2025 10:44:31 2025-10-16 10:44:31 info: Day Ahead Optimalisatie gestart: 16-10-2025 10:44:31 taak: calc_baseloads 2025-10-16 10:44:34 fout: Er is een fout opgetreden, zie de fout-tracering Traceback (most recent call last): File "/root/dao/prog/da_base.py", line 594, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 539, in calc_baseloads report.calc_save_baseloads() ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads baseload = self.calc_weekday_baseload(weekday) File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload grid_consumption = self.get_sensor_week_sum( self.grid_consumption_sensors, ...<2 lines>... "grid_consumption", ) File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name) File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data statistics = Table( "statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine ) File "<string>", line 2, in __new__ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned return fn(*args, **kwargs) # type: ignore[no-any-return] File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__ return cls._new(*args, **kw) ~~~~~~~~^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new with util.safe_reraise(): ~~~~~~~~~~~~~~~~~^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__ raise exc_value.with_traceback(exc_tb) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new table.__init__(name, metadata, *args, _no_init=False, **kw) # type: ignore[misc] # noqa: E501 ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__ self._autoload( ~~~~~~~~~~~~~~^ metadata, ^^^^^^^^^ ...<4 lines>... resolve_fks=resolve_fks, ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload conn_insp.reflect_table( ~~~~~~~~~~~~~~~~~~~~~~~^ self, ^^^^^ ...<4 lines>... _reflect_info=_reflect_info, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table raise exc.NoSuchTableError(table_name) sqlalchemy.exc.NoSuchTableError: statistics Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 3945, in <module> main() ~~~~^^ File "/root/dao/webserver/../prog/day_ahead.py", line 3939, in main da_calc.run_task_function("calc_baseloads") ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_base.py", line 594, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 539, in calc_baseloads report.calc_save_baseloads() ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads baseload = self.calc_weekday_baseload(weekday) File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload grid_consumption = self.get_sensor_week_sum( self.grid_consumption_sensors, ...<2 lines>... "grid_consumption", ) File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name) File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data statistics = Table( "statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine ) File "<string>", line 2, in __new__ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned return fn(*args, **kwargs) # type: ignore[no-any-return] File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__ return cls._new(*args, **kw) ~~~~~~~~^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new with util.safe_reraise(): ~~~~~~~~~~~~~~~~~^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__ raise exc_value.with_traceback(exc_tb) File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new table.__init__(name, metadata, *args, _no_init=False, **kw) # type: ignore[misc] # noqa: E501 ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__ self._autoload( ~~~~~~~~~~~~~~^ metadata, ^^^^^^^^^ ...<4 lines>... resolve_fks=resolve_fks, ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload conn_insp.reflect_table( ~~~~~~~~~~~~~~~~~~~~~~~^ self, ^^^^^ ...<4 lines>... _reflect_info=_reflect_info, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table raise exc.NoSuchTableError(table_name) sqlalchemy.exc.NoSuchTableError: statistics
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 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{ "homeassistant": { }, "database ha": { "engine": "postgresql", "server": "77b2833f-timescaledb", "port": 5432, "database": "dao", "username": "dao", "password": "!secret db_ha_password" }, "database da": { "engine": "postgresql", "server": "77b2833f-timescaledb", "port": 5432, "database": "dao", "username": "dao", "password": "!secret db_da_password" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.5, "regular low": 0.4, "switch to low": 23, "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 }, "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": "True" }, "interval": "15min", "logging level": "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.14, 0.38, 0.26, 0.42, 0.15, 0.12, 0.13, 0.15, 0.23, 0.26, 0.31, 0.32, 0.31, 0.23, 0.26, 0.21, 0.21, 0.54, 0.26, 0.26, 0.22, 0.19, 0.18, 0.16 ], "graphical backend": "", "graphics": { "style": "Solarize_Light2", "show": "true", "battery balance": "True", "prices consumption": "True", "prices production": "False", "prices spot": "True", "average consumption": "True" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 17 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "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 }, "battery": [ { "name": "Batterij", "entity actual level": "sensor.solis_s5_eh1p_battery_soc", "capacity": 10, "upper limit": 98, "lower limit": 21, "optimal lower level": 21, "minimum power": 0, "charge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 50.0, "efficiency": 0.825 }, { "power": 100.0, "efficiency": 0.861 }, { "power": 150.0, "efficiency": 0.873 }, { "power": 300.0, "efficiency": 0.886 }, { "power": 600.0, "efficiency": 0.893 }, { "power": 1200.0, "efficiency": 0.896 }, { "power": 2000.0, "efficiency": 0.897 }, { "power": 3000.0, "efficiency": 0.898 } ], "discharge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 50.0, "efficiency": 0.825 }, { "power": 100.0, "efficiency": 0.861 }, { "power": 150.0, "efficiency": 0.873 }, { "power": 300.0, "efficiency": 0.886 }, { "power": 600.0, "efficiency": 0.893 }, { "power": 1200.0, "efficiency": 0.896 }, { "power": 2000.0, "efficiency": 0.897 }, { "power": 3000.0, "efficiency": 0.898 } ], "dc_to_bat efficiency": 0.95, "dc_to_bat max power": 3000.0, "bat_to_dc efficiency": 0.93, "bat_to_dc max power": 3000.0, "cycle cost": 0.03, "solar": [ { "name": "Dak bijkeuken", "entity pv switch": "", "strings": [ { "tilt": 15, "orientation": -85, "capacity": 2.8, "yield": 0.02 }, { "tilt": 15, "orientation": 95, "capacity": 2.8, "yield": 0.02 } ] } ] } ], "solar": [ { "name": "Dak zuid", "entity pv switch": "", "tilt": 10, "orientation": 5, "capacity": 3.6, "yield": 0.02 } ], "electric vehicle": [ ], "machines": [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.dsmr_reading_electricity_delivered_1", "sensor.dsmr_reading_electricity_delivered_2" ], "entities grid production": [ "sensor.dsmr_reading_electricity_returned_1", "sensor.dsmr_reading_electricity_returned_2" ], "entities solar production ac": [ "sensor.shelly_em_6eaabc_total_returned_1" ], "entities solar production dc": [ "sensor.solis_s5_eh1p_pv_today_energy_generation" ], "entities ev consumption": [ "sensor.shelly_em_6eaabc_total_0" ], "entities wp consumption": [ ], "entities boiler consumption": [ ], "entities battery consumption": [ "sensor.solis_s5_eh1p_today_battery_discharge_energy" ], "entities battery production": [ "sensor.solis_s5_eh1p_today_battery_charge_energy" ] }, "scheduler": { "active": "true", "0425": "get_meteo_data", "1025": "get_meteo_data", "1625": "get_meteo_data", "2225": "get_meteo_data", "1257": "get_day_ahead_prices", "1356": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "xx15": "calc_optimum", "xx30": "calc_optimum", "xx45": "calc_optimum", "2359": "clean_data" } }
1
2
3
4
5
| "entities battery consumption": [
"sensor.solis_s5_eh1p_today_battery_discharge_energy"
],
"entities battery production": [
"sensor.solis_s5_eh1p_today_battery_charge_energy" |
Discharge van de batterij is de productie naar het huis toe, charge van de batterij is consumptie vanuit het huis.
Dus deze twee moet je verwisselen.
Ioniq 6 LR Lounge 20" @ Elli Pro
2700Wp SSW 30° @ SE2200 | 1720Wp SSW 5° @ HM-1500
Flickr | Canon 6D | 17-40mm f/4 + 50mm f/1.8 II + 70-200mm f/4 | 2x 430EX II | Sirui T005 + C10
1
2
| "optimal lower level": 20,
"lower limit": 10, |
I have these settings for my battery. However dao seems to never go below 20.
Under what conditions should it go to 10% instead of 20?
Hoi @Deikke er is zo te zien iets niet goed gegaan met je code en quote blokken, zou je dat even willen herstellen? Scheelt de lezers hier wat scrollwerkDeikke schreef op donderdag 16 oktober 2025 @ 10:50:
Laat maar, al opgelost
Ik krijg het helaas niet voor elkaar om de baseloads te berekenen. Ik krijg telkens onderstaande foutmelding, enig idee wat hier mis gaat?
[code] Logging van bewerking "Bereken de baseloads":
2025-10-16 10:44:31 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-16 10:44:31 info: Day Ahead Optimalisering gestart op: 16-10-2025 10:44:31
2025-10-16 10:44:31 info: Day Ahead Optimalisatie gestart: 16-10-2025 10:44:31 taak: calc_baseloads
2025-10-16 10:44:34 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
File "/root/dao/prog/da_base.py", line 594, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 539, in calc_baseloads
report.calc_save_baseloads()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads
baseload = self.calc_weekday_baseload(weekday)
File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload
grid_consumption = self.get_sensor_week_sum(
self.grid_consumption_sensors,
...<2 lines>...
"grid_consumption",
)
File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum
df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name)
File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data
statistics = Table(
"statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine
)
File "<string>", line 2, in __new__
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
return fn(*args, **kwargs) # type: ignore[no-any-return]
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__
return cls._new(*args, **kw)
~~~~~~~~^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new
table.__init__(name, metadata, *args, _no_init=False, **kw) # type: ignore[misc] # noqa: E501
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__
self._autoload(
~~~~~~~~~~~~~~^
metadata,
^^^^^^^^^
...<4 lines>...
resolve_fks=resolve_fks,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload
conn_insp.reflect_table(
~~~~~~~~~~~~~~~~~~~~~~~^
self,
^^^^^
...<4 lines>...
_reflect_info=_reflect_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table
raise exc.NoSuchTableError(table_name)
sqlalchemy.exc.NoSuchTableError: statistics
Traceback (most recent call last):
File "/root/dao/webserver/../prog/day_ahead.py", line 3945, in <module>
main()
~~~~^^
File "/root/dao/webserver/../prog/day_ahead.py", line 3939, in main
da_calc.run_task_function("calc_baseloads")
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_base.py", line 594, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 539, in calc_baseloads
report.calc_save_baseloads()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads
baseload = self.calc_weekday_baseload(weekday)
File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload
grid_consumption = self.get_sensor_week_sum(
self.grid_consumption_sensors,
...<2 lines>...
"grid_consumption",
)
File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum
df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name)
File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data
statistics = Table(
"statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine
)
File "<string>", line 2, in __new__
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
return fn(*args, **kwargs) # type: ignore[no-any-return]
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__
return cls._new(*args, **kw)
~~~~~~~~^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new
table.__init__(name, metadata, *args, _no_init=False, **kw) # type: ignore[misc] # noqa: E501
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__
self._autoload(
~~~~~~~~~~~~~~^
metadata,
^^^^^^^^^
...<4 lines>...
resolve_fks=resolve_fks,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload
conn_insp.reflect_table(
~~~~~~~~~~~~~~~~~~~~~~~^
self,
^^^^^
...<4 lines>...
_reflect_info=_reflect_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table
raise exc.NoSuchTableError(table_name)
sqlalchemy.exc.NoSuchTableError: statistics
[/code]
config:
[code]{
"homeassistant": {
},
"database ha": {
"engine": "postgresql",
"server": "77b2833f-timescaledb",
"port": 5432,
"database": "dao",
"username": "dao",
"password": "!secret db_ha_password"
},
"database da": {
"engine": "postgresql",
"server": "77b2833f-timescaledb",
"port": 5432,
"database": "dao",
"username": "dao",
"password": "!secret db_da_password"
},
"meteoserver-key": "!secret meteoserver-key",
"prices": {
"source day ahead": "nordpool",
"regular high": 0.5,
"regular low": 0.4,
"switch to low": 23,
"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
},
"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": "True"
},
"interval": "15min",
"logging level": "info",
"use_calc_baseload": "False",
"baseload calc periode": 56,
"baseload": [
0.14,
0.38,
0.26,
0.42,
0.15,
0.12,
0.13,
0.15,
0.23,
0.26,
0.31,
0.32,
0.31,
0.23,
0.26,
0.21,
0.21,
0.54,
0.26,
0.26,
0.22,
0.19,
0.18,
0.16
],
"graphical backend": "",
"graphics": {
"style": "Solarize_Light2",
"show": "true",
"battery balance": "True",
"prices consumption": "True",
"prices production": "False",
"prices spot": "True",
"average consumption": "True"
},
"strategy": "minimize cost",
"notifications": {
},
"grid": {
"max_power": 17
},
"history": {
"save days": 7
},
"dashboard": {
"port": 5000
},
"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
},
"battery": [
{
"name": "Batterij",
"entity actual level": "sensor.solis_s5_eh1p_battery_soc",
"capacity": 10,
"upper limit": 98,
"lower limit": 21,
"optimal lower level": 21,
"minimum power": 0,
"charge stages": [
{
"power": 0.0,
"efficiency": 1
},
{
"power": 50.0,
"efficiency": 0.825
},
{
"power": 100.0,
"efficiency": 0.861
},
{
"power": 150.0,
"efficiency": 0.873
},
{
"power": 300.0,
"efficiency": 0.886
},
{
"power": 600.0,
"efficiency": 0.893
},
{
"power": 1200.0,
"efficiency": 0.896
},
{
"power": 2000.0,
"efficiency": 0.897
},
{
"power": 3000.0,
"efficiency": 0.898
}
],
"discharge stages": [
{
"power": 0.0,
"efficiency": 1
},
{
"power": 50.0,
"efficiency": 0.825
},
{
"power": 100.0,
"efficiency": 0.861
},
{
"power": 150.0,
"efficiency": 0.873
},
{
"power": 300.0,
"efficiency": 0.886
},
{
"power": 600.0,
"efficiency": 0.893
},
{
"power": 1200.0,
"efficiency": 0.896
},
{
"power": 2000.0,
"efficiency": 0.897
},
{
"power": 3000.0,
"efficiency": 0.898
}
],
"dc_to_bat efficiency": 0.95,
"dc_to_bat max power": 3000.0,
"bat_to_dc efficiency": 0.93,
"bat_to_dc max power": 3000.0,
"cycle cost": 0.03,
"solar": [
{
"name": "Dak bijkeuken",
"entity pv switch": "",
"strings": [
{
"tilt": 15,
"orientation": -85,
"capacity": 2.8,
"yield": 0.02
},
{
"tilt": 15,
"orientation": 95,
"capacity": 2.8,
"yield": 0.02
}
]
}
]
}
],
"solar": [
{
"name": "Dak zuid",
"entity pv switch": "",
"tilt": 10,
"orientation": 5,
"capacity": 3.6,
"yield": 0.02
}
],
"electric vehicle": [
],
"machines": [
],
"tibber": {
"api_token": "!secret tibber_api_token"
},
"report": {
"entities grid consumption": [
"sensor.dsmr_reading_electricity_delivered_1",
"sensor.dsmr_reading_electricity_delivered_2"
],
"entities grid production": [
"sensor.dsmr_reading_electricity_returned_1",
"sensor.dsmr_reading_electricity_returned_2"
],
"entities solar production ac": [
"sensor.shelly_em_6eaabc_total_returned_1"
],
"entities solar production dc": [
"sensor.solis_s5_eh1p_pv_today_energy_generation"
],
"entities ev consumption": [
"sensor.shelly_em_6eaabc_total_0"
],
"entities wp consumption": [
],
"entities boiler consumption": [
],
"entities battery consumption": [
"sensor.solis_s5_eh1p_today_battery_discharge_energy"
],
"entities battery production": [
"sensor.solis_s5_eh1p_today_battery_charge_energy"
]
},
"scheduler": {
"active": "true",
"0425": "get_meteo_data",
"1025": "get_meteo_data",
"1625": "get_meteo_data",
"2225": "get_meteo_data",
"1257": "get_day_ahead_prices",
"1356": "get_day_ahead_prices",
"1455": "get_day_ahead_prices",
"1554": "get_day_ahead_prices",
"1655": "get_day_ahead_prices",
"xx00": "calc_optimum",
"xx15": "calc_optimum",
"xx30": "calc_optimum",
"xx45": "calc_optimum",
"2359": "clean_data"
}
}[/code]
Toch krijg ik in het midden van de dag nog steeds een negatieve baseload waardes.code:
1 2 3 4 5 6 7 8 9 10 11 12"report": { "entities grid consumption": [ "sensor.energy_export_total" ], "entities grid production": [ "sensor.energy_import_total" ], "entities solar production ac": [ ], "entities solar production dc": [ "sensor.solar_energy_template" ], "entities ev consumption" : ["sensor.ev_charger_energy_consumption"], "entities wp consumption" : [""], "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"], "entities battery consumption": ["sensor.home_battery_charged_energy"], "entities battery production": ["sensor.home_battery_discharged_energy"], "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"] },
Is dat omdat er overdag meer opbrengst is geweest dan verbruik? (energie geladen in de batterij en geëxporteerd naar het net)
Of hoort het allemaal zo te zijn?
Ik heb de source entiteiten in HA allemaal nagekeken en deze geven de te verwachte data. Elke sensor is een Utility meter in HA met waardes die oplopen als er verbruik of injectie is.
In het Energy dashboard van HA werkt alles met dezelfde entiteiten goed
/f/image/84PJccFrPLq7mfZ7FiwWH2Ql.png?f=fotoalbum_large)
Baseload waardes na de berekening:
Ziet er toch maar gek uit in het charts gedeelte:code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2025-10-16 14:09:15 info: Day Ahead Optimalisering versie: 2025.10.4 2025-10-16 14:09:15 info: Day Ahead Optimalisering gestart op: 16-10-2025 14:09:15 2025-10-16 14:09:15 info: Day Ahead Optimalisatie gestart: 16-10-2025 14:09:15 taak: calc_baseloads 2025-10-16 14:09:15 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-16 14:09:25 info: baseload voor weekdag 0 : 2025-10-16 14:09:25 info: 0.302 0.25 0.298 0.289 0.264 0.262 0.288 0.14 -0.379 -0.928 -1.281 -1.064 -0.509 0.282 1.737 1.233 1.313 0.902 0.359 0.878 0.616 0.632 0.231 -0.243 2025-10-16 14:09:36 info: baseload voor weekdag 1 : 2025-10-16 14:09:36 info: -0.231 -0.273 -0.297 -0.273 -0.257 -0.247 0.287 0.04 -0.34 -0.767 -0.808 -0.573 0.034 0.144 0.232 0.742 0.569 0.676 0.35 0.706 0.532 0.459 0.311 0.377 2025-10-16 14:09:46 info: baseload voor weekdag 2 : 2025-10-16 14:09:46 info: 0.237 0.275 0.287 0.227 0.264 0.237 0.277 0.23 -0.09 -0.69 -0.968 -0.894 -0.988 -0.665 0.352 0.16 0.809 0.574 0.477 0.466 0.451 0.39 0.312 0.244 2025-10-16 14:09:57 info: baseload voor weekdag 3 : 2025-10-16 14:09:57 info: 0.301 0.302 0.301 0.264 0.277 0.276 0.252 0.084 -0.562 -0.816 -1.001 -0.602 -0.64 0.228 0.59 1.214 2.415 1.45 0.871 0.398 0.436 0.464 0.326 0.287 2025-10-16 14:10:07 info: baseload voor weekdag 4 : 2025-10-16 14:10:07 info: 0.264 0.264 0.275 0.251 0.276 0.29 0.325 0.106 -0.77 -1.192 -1.208 -0.427 -0.455 0.004 0.257 -0.545 0.61 0.54 0.374 0.483 0.497 0.538 0.375 0.322 2025-10-16 14:10:18 info: baseload voor weekdag 5 : 2025-10-16 14:10:18 info: 0.282 0.298 0.239 0.326 0.339 0.277 0.302 0.346 -0.316 -0.905 -0.746 -0.941 0.181 0.487 1.18 0.507 0.094 0.496 0.36 0.38 0.294 0.351 0.34 0.295 2025-10-16 14:10:28 info: baseload voor weekdag 6 : 2025-10-16 14:10:28 info: 0.288 0.31 0.286 0.29 0.251 0.238 0.263 0.089 -0.718 -1.158 -1.401 -1.4 -1.032 -0.32 0.392 1.152 1.242 1.176 0.48 0.456 0.475 0.67 0.422 0.401 <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffeda8e6e30>
/f/image/Hl9XRfl66mvMLmyPZCq41n2Y.png?f=fotoalbum_large)
Edit:
Hier nog even een volledige debug log van de berekening van de baseloads, als iemand daar wat aan heeft:
https://notebin.de/?aaaf2...FTPMKbz3sUWuSB91qGiqmM7LT
[ Voor 3% gewijzigd door BBuilds op 16-10-2025 15:19 ]
grid consumption -> stroom uit het net. Dus import_totalBBuilds schreef op donderdag 16 oktober 2025 @ 14:20:
Ik heb m'n entiteiten in de report sectie ondertussen goed gezet denk ik. Iemand zin om dat even te dubbelchecken?
code:
1 2 3 4 5 6 7 8 9 10 11 12"report": { "entities grid consumption": [ "sensor.energy_export_total" ], "entities grid production": [ "sensor.energy_import_total" ], "entities solar production ac": [ ], "entities solar production dc": [ "sensor.solar_energy_template" ], "entities ev consumption" : ["sensor.ev_charger_energy_consumption"], "entities wp consumption" : [""], "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"], "entities battery consumption": ["sensor.home_battery_charged_energy"], "entities battery production": ["sensor.home_battery_discharged_energy"], "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"] },
grid production -> stroom naar het net. Dus export_total
batterij staat wel goed
Edit: Al zou het ook mijn voorkeur hebben om als we het over de netaansluiting hebben te praten over import en export ipv consumption en production. Maar dat mag ergens op de lange lijst van mogelijke verbeteringen.
[ Voor 9% gewijzigd door Bravo op 16-10-2025 17:19 ]
Ioniq 6 LR Lounge 20" @ Elli Pro
2700Wp SSW 30° @ SE2200 | 1720Wp SSW 5° @ HM-1500
Flickr | Canon 6D | 17-40mm f/4 + 50mm f/1.8 II + 70-200mm f/4 | 2x 430EX II | Sirui T005 + C10
Bij mij is/was dat omdat de werkelijke opbrangst van de zonnestroom-omvormers afwijkt van de gerapporteerde. Hoe meer zon hoe negatiever mijn baseload. Als jouw baseload ook een relatie heeft met de zonnestraling...BBuilds schreef op donderdag 16 oktober 2025 @ 14:20:
Toch krijg ik in het midden van de dag nog steeds een negatieve baseload waardes.
Is dat omdat er overdag meer opbrengst is geweest dan verbruik? (energie geladen in de batterij en geëxporteerd naar het net)
Of hoort het allemaal zo te zijn?
We gaan er allemaal maar vanuit dat de sensoren waar we mee meten accuraat zijn, maar dat zijn ze bepaald niet. Veel van het slimme-stekker, shelly, zonnestroom-omvormer, etc. spul zit er makkelijk 5-10% naast. Het ergste is een Shelly 1PM; die rapporteert 2600W als er amper 2000 doorheen gaat.
@BBuilds waar ik tegen aanliep is dat niet alle sensoren met elkaar in sync lopen met hun rapportage van vermogen en energieverbruik. Als er maar één is die een paar minuten na ijlt (bij mij de laadpaal) en dat gaat net over de uurgrens heen, dan is de rapportage op uur niveau uit balans. En daarmee ook de baseload berekening.DaBit schreef op donderdag 16 oktober 2025 @ 18:09:
[...]
Bij mij is/was dat omdat de werkelijke opbrangst van de zonnestroom-omvormers afwijkt van de gerapporteerde. Hoe meer zon hoe negatiever mijn baseload. Als jouw baseload ook een relatie heeft met de zonnestraling...
We gaan er allemaal maar vanuit dat de sensoren waar we mee meten accuraat zijn, maar dat zijn ze bepaald niet. Veel van het slimme-stekker, shelly, zonnestroom-omvormer, etc. spul zit er makkelijk 5-10% naast. Het ergste is een Shelly 1PM; die rapporteert 2600W als er amper 2000 doorheen gaat.
4x SF165 & 3x SF170 op huisje uit 1896
Ik heb ondertussen ook de calc_baseload functie in orde gekregen door mijn solar productie bij entities solar production ac te plaatsen ipv bij entities solar production dc (trial and error), ookal heb ik een hybride solar omvormer met dc gekoppelde batterij.
Heb ik de config daarvan verkeerd begrepen? Welk soort solar moet er dan bij Solar DC geconfigureerd worden?
Als ik m'n solar bij entities solar production dc vermeld krijg ik overdag allemaal negatieve waarden:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| 2025-10-16 21:11:26 info: Day Ahead Optimalisering versie: 2025.10.4 2025-10-16 21:11:26 info: Day Ahead Optimalisering gestart op: 16-10-2025 21:11:26 2025-10-16 21:11:26 info: Day Ahead Optimalisatie gestart: 16-10-2025 21:11:26 taak: calc_baseloads 2025-10-16 21:11:26 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-16 21:11:36 info: baseload voor weekdag 0 : 2025-10-16 21:11:36 info: 0.347 0.297 0.347 0.335 0.309 0.309 0.335 0.184 -0.202 -0.855 -0.999 -1.269 -1.756 -2.742 -2.449 -1.991 -2.022 -1.62 -0.166 0.976 0.697 0.771 0.641 0.635 2025-10-16 21:11:46 info: baseload voor weekdag 1 : 2025-10-16 21:11:46 info: 0.646 0.609 0.585 0.61 0.621 0.592 0.334 0.083 -0.228 -0.616 -0.873 -1.376 -1.643 -1.975 -2.257 -1.966 -1.916 -1.179 -0.093 0.711 0.659 0.584 0.372 0.422 2025-10-16 21:11:56 info: baseload voor weekdag 2 : 2025-10-16 21:11:56 info: 0.285 0.322 0.335 0.272 0.31 0.285 0.322 0.284 -0.017 -0.551 -0.997 -1.237 -1.558 -1.641 -1.908 -1.678 -1.556 -0.501 0.012 0.422 0.497 0.434 0.359 0.384 2025-10-16 21:12:07 info: baseload voor weekdag 3 : 2025-10-16 21:12:07 info: 0.347 0.347 0.347 0.31 0.322 0.322 0.297 0.132 -0.255 -0.789 -1.161 -1.351 -1.482 -1.427 -2.04 -2.14 -2.518 -1.265 -0.404 0.358 0.485 0.572 0.447 0.335 2025-10-16 21:12:17 info: baseload voor weekdag 4 : 2025-10-16 21:12:17 info: 0.31 0.31 0.322 0.297 0.322 0.334 0.372 0.158 -0.34 -0.688 -1.075 -1.348 -1.661 -2.18 -2.053 -1.39 -2.306 -1.48 0.083 0.572 0.572 0.584 0.497 0.697 2025-10-16 21:12:27 info: baseload voor weekdag 5 : 2025-10-16 21:12:27 info: 0.809 0.634 0.547 0.634 0.447 0.322 0.347 0.434 -0.117 -0.473 -1.015 -1.704 -2.136 -2.499 -2.901 -2.215 -1.878 -1.672 -0.275 0.455 0.359 0.397 0.384 0.659 2025-10-16 21:12:37 info: baseload voor weekdag 6 : 2025-10-16 21:12:37 info: 0.659 0.684 0.409 0.334 0.297 0.285 0.31 0.134 -0.235 -0.866 -1.248 -1.303 -1.823 -2.48 -2.677 -2.911 -2.603 -1.612 -0.304 0.492 0.584 0.872 0.622 0.471 <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffee3cd6e30> |
Als ik dezelfde entiteit bij entities solar production ac vermeld in de config komen er wel allemaal geloofwaardige positieve waardes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| 2025-10-16 21:22:10 info: Day Ahead Optimalisering versie: 2025.10.4 2025-10-16 21:22:10 info: Day Ahead Optimalisering gestart op: 16-10-2025 21:22:10 2025-10-16 21:22:10 info: Day Ahead Optimalisatie gestart: 16-10-2025 21:22:10 taak: calc_baseloads 2025-10-16 21:22:10 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-16 21:22:21 info: baseload voor weekdag 0 : 2025-10-16 21:22:21 info: 0.347 0.297 0.347 0.335 0.309 0.309 0.335 0.26 0.385 0.745 1.126 1.393 1.081 1.145 1.339 1.347 1.09 1.13 0.896 1.101 0.697 0.771 0.641 0.635 2025-10-16 21:22:31 info: baseload voor weekdag 1 : 2025-10-16 21:22:31 info: 0.646 0.609 0.585 0.61 0.621 0.592 0.334 0.295 0.397 0.796 0.764 0.799 0.932 1.3 1.455 1.109 0.572 0.896 0.582 0.861 0.671 0.584 0.372 0.422 2025-10-16 21:22:41 info: baseload voor weekdag 2 : 2025-10-16 21:22:41 info: 0.285 0.322 0.335 0.272 0.31 0.285 0.322 0.372 0.258 0.399 0.628 0.775 1.067 1.296 0.867 0.935 0.832 0.724 0.575 0.596 0.522 0.434 0.359 0.384 2025-10-16 21:22:52 info: baseload voor weekdag 3 : 2025-10-16 21:22:52 info: 0.347 0.347 0.347 0.31 0.322 0.322 0.297 0.283 0.533 0.611 0.989 1.186 1.68 1.648 1.072 0.622 0.52 0.798 0.858 0.571 0.498 0.572 0.447 0.335 2025-10-16 21:23:02 info: baseload voor weekdag 4 : 2025-10-16 21:23:02 info: 0.31 0.31 0.322 0.297 0.322 0.334 0.372 0.371 0.685 0.987 1.162 1.19 1.176 1.244 1.135 1.547 1.169 0.995 1.07 0.797 0.61 0.584 0.497 0.697 2025-10-16 21:23:12 info: baseload voor weekdag 5 : 2025-10-16 21:23:12 info: 0.809 0.634 0.547 0.634 0.447 0.322 0.347 0.534 0.708 1.114 0.835 0.772 0.764 0.576 0.661 0.985 0.959 0.74 0.775 0.58 0.384 0.397 0.384 0.659 2025-10-16 21:23:22 info: baseload voor weekdag 6 : 2025-10-16 21:23:22 info: 0.659 0.684 0.409 0.334 0.297 0.285 0.31 0.284 0.653 0.972 1.152 1.385 1.289 1.307 1.398 0.951 0.822 0.825 0.708 0.567 0.597 0.872 0.622 0.471 <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7fff3c7f6e30> |
Ziet er veel beter uit zo!
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 652025-10-16 22:44:47 fout: Er is een fout opgetreden, zie de fout-tracering Traceback (most recent call last): File "/root/dao/prog/da_base.py", line 622, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug dacalc.calc_optimum() ~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/day_ahead.py", line 93, in calc_optimum price_data = report.get_price_data( dt.datetime.fromtimestamp(start_hour), end=None, interval=self.interval ) File "/root/dao/prog/da_report.py", line 2847, in get_price_data end = datetime.datetime.strptime(df_da["time"].iloc[-1], "%Y-%m-%d %H:%M") ~~~~~~~~~~~~~~~~~~^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1192, in __getitem__ return self._getitem_axis(maybe_callable, axis=axis) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1753, in _getitem_axis self._validate_integer(key, axis) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1686, in _validate_integer raise IndexError("single positional indexer is out-of-bounds") IndexError: single positional indexer is out-of-bounds 2025-10-16 22:44:47 debug: Starting new HTTP connection (1): 192.168.1.7:8123 2025-10-16 22:44:47 debug: http://192.168.1.7:8123 "POST /api/services/input_text/set_value HTTP/1.1" 200 334 debug:root:hass/api/config: {"allowlist_external_dirs":["/media","/config/www"],"allowlist_external_urls":[],"components":["api","history","shell_command","samsungtv_smart","group.notify","unifi.device_tracker","logbook","spook.number","tuya.siren","websocket_api","update","generic_thermostat.climate","lock","cloud","spook.select","energy","weather","spotifyplus.media_player","remote","unifi.image","google_generative_ai_conversation.conversation","homeassistant","ssdp","tado","hassio","zwave_js.sensor","spook.button","switch_as_x","tuya.switch","mqtt.switch","kleenex_pollenradar","google_generative_ai_conversation.tts","sun.binary_sensor","energy.sensor","mqtt","solaredgeoptimizers","utility_meter.sensor","mqtt.number","timer","tuya.climate","workday.calendar","input_boolean","unifi","tibber.sensor","bluetooth_adapters","zwave_js.event","group.light","derivative","nederlandse_spoorwegen.sensor","mqtt.sensor","homekit_controller.climate","template","openweathermap.weather","system_health","tibber","ical.sensor","samsungtv_smart.media_player","solaredge_modbus.select","onboarding","ffmpeg","wake_on_lan.switch","diagnostics","hassio.update","group","buienradar.camera","nederlandse_spoorwegen","mobile_app","backup.sensor","systemmonitor.sensor","homekit_controller","statistics","rest.sensor","binary_sensor","tuya.sensor","local_todo.todo","esphome.media_player","file_upload","cloud.stt","command_line","sessy","statistics.sensor","assist_pipeline","threshold","version","rest","hassio.sensor","mobile_app.notify","tado.sensor","zwave_js.siren","dsmr_reader.sensor","zwave_js.fan","input_button","switch_as_x.light","smart_thermostat.climate","localtuya.number","cloud.binary_sensor","unifi.update","esphome.button","proxmoxve","samsungtv_smart.remote","mqtt.select","workday","sql","adguard.switch","zwave_js.button","button","template.select","mqtt.text","unifi.sensor","todo","backup.event","integration","kleenex_pollenradar.sensor","tado.water_heater","tuya.select","cast.media_player","hacs.switch","blueprint","sessy.binary_sensor","google_generative_ai_conversation","unifi.switch","spotifyplus","repairs","solaredge_modbus","esphome.update","hassio.switch","backup","climate","conversation","spook.event","afvalwijzer","utility_meter","proxmoxve.binary_sensor","homekit_controller.select","http","ping.sensor","zwave_js","bluetooth","systemmonitor","mqtt.light","mqtt.event","esphome.sensor","application_credentials","tuya.event","input_number","sessy.update","stt","github","openweathermap","tado.switch","local_todo","spook.time","tuya.valve","homeassistant.scene","frank_energie.sensor","cloud.tts","google_generative_ai_conversation.ai_task","zwave_js.cover","switch","spook.binary_sensor","tuya.vacuum","mqtt.binary_sensor","afvalwijzer.sensor","tuya.humidifier","system_log","ical.calendar","watchman","esphome.camera","wake_on_lan","utility_meter.select","mqtt.climate","auto_backup.binary_sensor","config","mobile_app.device_tracker","rest_command","mqtt.fan","trace","esphome.light","tuya.cover","zwave_js.number","tado.device_tracker","template.binary_sensor","tuya.alarm_control_panel","version.sensor","buienalarm.sensor","alarm_control_panel","esphome","tod.binary_sensor","tuya.scene","workday.binary_sensor","google_generative_ai_conversation.stt","tibber.notify","hacs.update","sessy.switch","sun.sensor","watchman.sensor","mobile_app.binary_sensor","zwave_js.binary_sensor","frontend","filter.sensor","media_player","intent","openweathermap.sensor","image","mobile_app.sensor","esphome.number","sessy.sensor","version.binary_sensor","history_stats.sensor","pvoutput","mpd","frank_energie","universal.media_player","media_source","tag","sql.sensor","vacuum","samsungtv","tado.climate","buienradar","ical","cast","person","command_line.sensor","min_max","homekit_controller.sensor","schedule","buienradar.weather","localtuya.sensor","sessy.button","hacs","adguard.sensor","ping.device_tracker","recorder","template.switch","spook.switch","event","spotify","zwave_js.climate","number","tuya.fan","tuya.button","device_tracker","derivative.sensor","dsmr_reader","search","ping.binary_sensor","integration.sensor","zwave_js.light","solaredgeoptimizers.sensor","nodered","scene","wled","entsoe","usb","light","energy_meter.sensor","solaredge_modbus.number","plant","zone","zwave_js.update","ping","humidifier","webhook","scheduler.switch","spook","select","samsungtv.media_player","input_datetime","homekit_controller.button","tuya.number","network","sessy.number","counter","localtuya.switch","input_text","camera","tuya.camera","proxmoxve.button","forecast_solar.sensor","localtuya","adguard","lovelace","tuya","auto_backup","spotify.media_player","template.sensor","sessy.select","notify","valve","text","tado.binary_sensor","hassio.binary_sensor","automation","zwave_js.switch","unifi.button","esphome.switch","my","pvoutput.sensor","energy_meter","esphome.binary_sensor","threshold.binary_sensor","min_max.sensor","buienradar.sensor","ai_task","script","zwave_js.lock","systemmonitor.binary_sensor","zwave_js.select","water_heater","esphome.select","image_upload","solaredge_modbus.sensor","auth","entsoe.sensor","device_automation","toyota","tuya.binary_sensor","forecast_solar","logger","spook.sensor","local_calendar.calendar","persistent_notification","proxmoxve.sensor","sessy.time","scheduler","calendar","siren","mpd.media_player","zwave_js.humidifier","input_select","hardware","tuya.light","zeroconf","cover","github.sensor","esphome.event","nodered.sensor","wake_word","frank_energie.button","buienalarm","auto_backup.button","samsungtv.remote","co2signal.sensor","time","sun","fan","tod","sensor","analytics","co2signal","tts","time_date.sensor","local_calendar","auto_backup.sensor","esphome.cover"],"config_dir":"/config","config_source":"storage","country":"NL","currency":"EUR","debug":false,"elevation":0,"external_url":null,"internal_url":null,"language":"en","latitude":52.01789586139738,"location_name":"Home","longitude":4.3583106994628915,"radius":100,"recovery_mode":false,"safe_mode":false,"state":"RUNNING","time_zone":"Europe/Amsterdam","unit_system":{"length":"km","accumulated_precipitation":"mm","area":"m²","mass":"g","pressure":"Pa","temperature":"°C","volume":"L","wind_speed":"m/s"},"version":"2025.10.2","whitelist_external_dirs":["/media","/config/www"]} debug:root:Dialect: postgresql, database: day_ahead_test, server: 192.168.1.111 debug:root:db_url: postgresql+psycopg2://day_ahead:G2DpVx66hfM2zK@192.168.1.111:5432/day_ahead_test debug:root:Dialect: postgresql, database: homeassistant3, server: 192.168.1.111 debug:root:db_url: postgresql+psycopg2://postgres:RMzK5tzHN2zebj@192.168.1.111:5432/homeassistant3 debug:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.7:8123 debug:urllib3.connectionpool:http://192.168.1.7:8123 "GET /api/states/input_select.dao_strategy HTTP/1.1" 200 436 debug:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.7:8123 debug:urllib3.connectionpool:http://192.168.1.7:8123 "POST /api/services/input_datetime/set_datetime HTTP/1.1" 200 322 debug:root:Connection status Pool size: 5 Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 210 in /root/dao/prog/da_base.py Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 3967, in <module> main() ~~~~^^ File "/root/dao/webserver/../prog/day_ahead.py", line 3941, in main da_calc.run_task_function("calc_optimum_met_debug") ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/prog/da_base.py", line 622, in run_task_function getattr(self, run_task["function"])() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug dacalc.calc_optimum() ~~~~~~~~~~~~~~~~~~~^^ File "/root/dao/prog/day_ahead.py", line 93, in calc_optimum price_data = report.get_price_data( dt.datetime.fromtimestamp(start_hour), end=None, interval=self.interval ) File "/root/dao/prog/da_report.py", line 2847, in get_price_data end = datetime.datetime.strptime(df_da["time"].iloc[-1], "%Y-%m-%d %H:%M") ~~~~~~~~~~~~~~~~~~^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1192, in __getitem__ return self._getitem_axis(maybe_callable, axis=axis) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1753, in _getitem_axis self._validate_integer(key, axis) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1686, in _validate_integer raise IndexError("single positional indexer is out-of-bounds") IndexError: single positional indexer is out-of-bounds
- productie versie 2025.10.5
- test versie 2025.10.5.rc6
Dit staat in de changelog van de productieversie:
Changed:Fixed:
- implemented **flex setting** of settings:
More info in DOCS.md
- direct via your settings
- indirect from HA via an entity in your settings
- Updated several used pyhton-modules (cryptography, numpy)
- Added "max gap" (flex setting), see DOCS.md
- Added logging "Rekentijd" in sec
- made degree_days_factor, boiler_setpoint, boiler_hysterese and strategy flex setting
- support voor machine consumptions sensors
- added meteo parameter: wind-snelheid
- Fixed error when planning wp-hours with 15min interval (reported by TomKuipers1983)
- Fixed error when calculating "stop invertor" with 15min-interval
- corrected output of hp with less than 8 stages
- fixed error second graph
- fixed error planning ev last hour with 15min prices (reported by @dabit)
- fixed error when boiler is heated by heatpump
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Dank je wel voor het meedenken.balk schreef op donderdag 16 oktober 2025 @ 22:59:
@KC27 is het een idee om enkele veel voorkomende fouten af te vangen met een try/except? En dan de gebruiker een keurige notification voorschotelen? Ik heb nu deze fout (in de test versie, dus niet erg), en ik vermoed dat het komt door gebrek aan meteo en prijs data. Over het algemeen gaat het goed maar laatst was er geen prijs data op tijd en draaide DAO de soep in. Ik moest toen handmatig de prijzen ophalen. Met een goede foutmelding, of zelfs specifieke fout code zou je de recovery kunnen automatiseren. Idee?
[...]
Wordt gemaakt in de volgende (test)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 Ik denk dat er over mijn vraag is heen gelezen. Is het een bug of een feature dat de stages ingesteld dienen te worden indien je de warmtepomp wilt regelen op basis van de stooklijn?xarow schreef op woensdag 15 oktober 2025 @ 21:34:
[...]
Mooie addon en interessant om toe te passen. Ik ben momenteel aan het kijken hoe ik de warmtepomp kan regelen en wil dit doen op basis van het verschuiven van de stooklijn. Bovenstaand gaf je aan dat er nog een fout in zat, waardoor de stages en graaddagen factor ook ingesteld moesten worden bij de verplaatsing van de stooklijn.
Het lijkt er op dat die fout er nog in zit, of is dit bewust benodigd?
Ja, sorry. Te druk met het project (en andere dingen) en dan schiet er soms een reactie bij in.xarow schreef op vrijdag 17 oktober 2025 @ 14:15:
[...]
@KC27 Ik denk dat er over mijn vraag is heen gelezen. Is het een bug of een feature dat de stages ingesteld dienen te worden indien je de warmtepomp wilt regelen op basis van de stooklijn?
Nou het is een feature,
Ik werk zelf ook met stooklijnverschuiving en de berekening van die verschuiving gaat helemaal buiten de optimaliseringsberekening om. Het liefst zou ik de inzet van mijn warmtepomp berekenen met behulp van de stages en dan inzetten op de goedkoopste uren en uitzetten op de dure uren. Maar helaas kan ik het elektrisch vermogen van mijn warmtepomp niet rechtstreeks aansturen.
De berekening van de inzet van mijn warmtepomp maakt DAO toch voor mij en het blijkt dat dit goed overeenkomt met het uiteindelijke resultaat van de stooklijnverschuiving.
Als die stages voor jou niet interessant zijn kun je eventueel volstaan met twee stages, bijvoorbeeld:
1
2
3
4
| "stages": [
{ "power": 0, "cop": 3.0},
{ "power": 1500, "cop" : 3.0}
] |
Als je het allemaal echt heel storend vindt kan ik zien of ik ze bij de "adjustment: heating curve" optioneel kan maken.
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
Hoe pas jij die strooklijn verschuiving toe?KC27 schreef op vrijdag 17 oktober 2025 @ 23:18:
[...]
Ja, sorry. Te druk met het project (en andere dingen) en dan schiet er soms een reactie bij in.
Nou het is een feature,
Ik werk zelf ook met stooklijnverschuiving en de berekening van die verschuiving gaat helemaal buiten de optimaliseringsberekening om. Het liefst zou ik de inzet van mijn warmtepomp berekenen met behulp van de stages en dan inzetten op de goedkoopste uren en uitzetten op de dure uren. Maar helaas kan ik het elektrisch vermogen van mijn warmtepomp niet rechtstreeks aansturen.
De berekening van de inzet van mijn warmtepomp maakt DAO toch voor mij en het blijkt dat dit goed overeenkomt met het uiteindelijke resultaat van de stooklijnverschuiving.
Als die stages voor jou niet interessant zijn kun je eventueel volstaan met twee stages, bijvoorbeeld:
code:
1 2 3 4"stages": [ { "power": 0, "cop": 3.0}, { "power": 1500, "cop" : 3.0} ]
Als je het allemaal echt heel storend vindt kan ik zien of ik ze bij de "adjustment: heating curve" optioneel kan maken.
Pas je de configuratie van je wp aan of stuur je de Thermostaat / woonkamer temperatuur aan?
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 ga dit doen door mijn thermostaat te verhogen/verlagen. Die stuurt vervolgens de wp aan met een aan/uit signaal waar weer de eigen stooklijn in zit (die ik niet kan aanpassen)f.welvering schreef op zaterdag 18 oktober 2025 @ 09:09:
[...]
Hoe pas jij die strooklijn verschuiving toe?
Pas je de configuratie van je wp aan of stuur je de Thermostaat / woonkamer temperatuur aan?
PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP
Duidelijk, dan ga ik even kijken hoe ik die stages ga invullen. Bedankt!KC27 schreef op vrijdag 17 oktober 2025 @ 23:18:
[...]
Ja, sorry. Te druk met het project (en andere dingen) en dan schiet er soms een reactie bij in.
Nou het is een feature,
Ik werk zelf ook met stooklijnverschuiving en de berekening van die verschuiving gaat helemaal buiten de optimaliseringsberekening om. Het liefst zou ik de inzet van mijn warmtepomp berekenen met behulp van de stages en dan inzetten op de goedkoopste uren en uitzetten op de dure uren. Maar helaas kan ik het elektrisch vermogen van mijn warmtepomp niet rechtstreeks aansturen.
De berekening van de inzet van mijn warmtepomp maakt DAO toch voor mij en het blijkt dat dit goed overeenkomt met het uiteindelijke resultaat van de stooklijnverschuiving.
Als die stages voor jou niet interessant zijn kun je eventueel volstaan met twee stages, bijvoorbeeld:
code:
1 2 3 4"stages": [ { "power": 0, "cop": 3.0}, { "power": 1500, "cop" : 3.0} ]
Als je het allemaal echt heel storend vindt kan ik zien of ik ze bij de "adjustment: heating curve" optioneel kan maken.
Mijn wp heeft de mogelijkheid om de stooklijn parallel te verschuiven. Dat is een instelling op wp zelf maar dat kan ook op afstand. Dat doe ik met DAO via de Home Assistant custom integratie.f.welvering schreef op zaterdag 18 oktober 2025 @ 09:09:
[...]
Hoe pas jij die stooklijn verschuiving toe?
Pas je de configuratie van je wp aan of stuur je de Thermostaat / woonkamer temperatuur aan?
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
1
2
| changed to 2025-10-19 08:30:00 waarschuwing: Er is te weinig tijd om tot 80.0% te laden triggered by action input_text: Set 08:30:00 - 13 minutes ago - Supervisor |
terwijl de auto niet ingeplugd is:
1
| 2025-10-19 08:30:23 info: Kia Niro EV is niet thuis of niet ingeplugd |
Klopt dit?
Dat is inderdaad een foutje.diamanten schreef op zondag 19 oktober 2025 @ 08:46:
Na upgrade naar 2025.10.5, ik krijg nu:
code:
1 2 changed to 2025-10-19 08:30:00 waarschuwing: Er is te weinig tijd om tot 80.0% te laden triggered by action input_text: Set 08:30:00 - 13 minutes ago - Supervisor
terwijl de auto niet ingeplugd is:
code:
1 2025-10-19 08:30:23 info: Kia Niro EV is niet thuis of niet ingeplugd
Klopt dit?
Ik zal het in de volgende versie aanpassen door daar extra check's op te zetten.
Dank voor het melden.
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 heb wel een vraagje, het viel me op dat ik qua hem meetwaardes alleen mijn accu percentage sensor hoef in te vullen, verder geen opbrengst/verbruik of zonnepaneel sensors. Betekent dit dat jullie een aantal zaken zelf al standaard kunnen ophalen? Ik vermoed via de settings van het energy dashboard?
Nee onder aan de configuratie uit het voorbeeld staan wat sensoren zoals grid, pv etc. Daar vul je de kwh meters in.CopyCatz schreef op zondag 19 oktober 2025 @ 16:17:
Ik heb van de week deze integratie ontdekt en na wat uurtjes puzzelen met de configuratie heb ik de zaak nu draaiend. Heel erg bedankt voor het bouwen van deze integratie, echt super!
Ik heb wel een vraagje, het viel me op dat ik qua hem meetwaardes alleen mijn accu percentage sensor hoef in te vullen, verder geen opbrengst/verbruik of zonnepaneel sensors. Betekent dit dat jullie een aantal zaken zelf al standaard kunnen ophalen? Ik vermoed via de settings van het energy dashboard?
PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP
Doh! helemaal gemist.Impossibl3 schreef op zondag 19 oktober 2025 @ 16:57:
[...]
Nee onder aan de configuratie uit het voorbeeld staan wat sensoren zoals grid, pv etc. Daar vul je de kwh meters in.
[ Voor 22% gewijzigd door CopyCatz op 19-10-2025 18:12 ]
Ik zat even naar jouw eerdere post te kijken met een screenshot van de HA kaart.KC27 schreef op zaterdag 18 oktober 2025 @ 19:26:
[...]
Mijn wp heeft de mogelijkheid om de stooklijn parallel te verschuiven. Dat is een instelling op wp zelf maar dat kan ook op afstand. Dat doe ik met DAO via de Home Assistant custom integratie.
Hoewel mijn aansturing anders is zou ik mijn thermostaat dan + of - het aantal graden moeten doen op basis van het advies van DAO? Of gebruik ik juist de ON/OFF. Ik ben de weg wat kwijt zoals je wellicht merkt.
Ik krijg ondertussen deze grafiek vanuit DAO richting HA, zowel de stooklijn verschuiving als de WP ON/OFF.
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 overweeg binnenkort over te stappen van Frank Energie naar een andere energieleverancier.
Momenteel twijfel ik tussen Tibber en Zonneplan.
Zonneplan biedt een "zonnebonus": 10% extra vergoeding voor teruglevering tussen zonsopkomst en zonsondergang.
Dit is momenteel nog niet te modelleren in DAO, toch?
De vergoedingen tussen beide leveranciers schelen elkaar niet zo veel. Overal is Zonneplan in mijn situatie waarschijnlijk iets goedkoper, maar Tibber heeft weer als voordeel dat een van onze EVs gekoppeld kan worden voor de "Grid Rewards".
"Chaos kan niet uit de hand lopen"
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f8e614b5120>
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f8e61c87010>
Had iemand toevallig al gevonden hoe dit te verhelpen is zonder over te schakelen naar MySQL?
Full Electric | 2x Deye 12KSG04LP3 met 1.680Ah LFP 51,2V (4x Seplos Mason 280, 2x Seplos vertical 280) | 23,3 kWp PV
Snelle scan leert dat db_manager.py bij de get x functies geen connections.close() heeft. Daar zou het theoretisch aan kunnen liggen. Ik heb het niet getest.
[ Voor 28% gewijzigd door Dogooder op 20-10-2025 15:57 ]
"report": {
"entities grid consumption": [
"sensor.shellypro3em_total_active_energy"
],
"entities grid production": [
"sensor.shellypro3em_total_active_returned_energy"
],
"entities solar production ac": [
"sensor.kwh_meter_total_energy_export"
],
Ik zie in het report bv verbruik, productie, netto:
15:00 0.185 0.342 -0.157
Het lijkt erop dat verbruik al verbruik minus opwek is (shellypro3em_total_active_returned_energy is alleen wat retour het net op gaat), en nu wordt nog een keer daar de productie van afgetrokken. Hoe los ik dit slim op? Of maak ik een denkfout?
Ik had er al naar gekeken, maar alle connections worden geopend met een with-context en die zouden door sql-alchemy gesloten moeten worden.Dogooder schreef op maandag 20 oktober 2025 @ 15:50:
Dat komt volgens mij door de upgrade van python 3.12 naar 3.13. Versie 3.13 geeft hier een warning over, https://docs.python.org/3/whatsnew/3.13.html#sqlite3, waar 3.12 het gewoon negeerde.
Snelle scan leert dat db_manager.py bij de get x functies geen connections.close() heeft. Daar zou het theoretisch aan kunnen liggen. Ik heb het niet getest.
Ik zal er nog eens naar kijken.
Bedankt voor de tip!
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
De historie wordt door DAO niet opgeslagen.CopyCatz schreef op maandag 20 oktober 2025 @ 12:01:
Is het ook mogelijk om een aantal dagen historie te wissen? ik heb een fout gemaakt in de config, per ongeluk bij entities grid consumption twee keer dezelfde sensor ingevuld waardoor er nu dubbel geteld is. Als ik dan later de baseload wil laten uitrekenen heb ik liever de incorrecte data eerst verwijderd.
DAO haalt de historie uit de db van Home Assistant.
Als je je sensoren goed zet dan herberekent DAO met die nieuwe setting (als die goed is) de juiste baseloads.
Lukt dat niet met het run-menu (time out) doe het dan met de scheduler, zet eventueel tijdelijk een extra taak in je scheduler en wacht het resultaat af.
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
+++++++++++++++++++++++++++++++++++++++++++++++++
Logging van bewerking "Optimaliseringsberekening met debug":
2025-10-20 19:11:19 info: Day Ahead Optimalisering versie: 2025.10.5
2025-10-20 19:11:19 info: Day Ahead Optimalisering gestart op: 20-10-2025 19:11:19
2025-10-20 19:11:19 info: Day Ahead Optimalisatie gestart: 20-10-2025 19:11:19 taak: calc_optimum_met_debug
2025-10-20 19:11:19 info: Debug = True
2025-10-20 19:11:19 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
File "/root/dao/prog/da_base.py", line 623, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 553, in calc_optimum_met_debug
dacalc.calc_optimum()
~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/day_ahead.py", line 166, in calc_optimum
p_avg = sum(pl) / U # max(pl) #
~~~~~~~~^~~
ZeroDivisionError: division by zero
Traceback (most recent call last):
File "/root/dao/webserver/../prog/day_ahead.py", line 3967, in <module>
main()
~~~~^^
File "/root/dao/webserver/../prog/day_ahead.py", line 3941, in main
da_calc.run_task_function("calc_optimum_met_debug")
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_base.py", line 623, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 553, in calc_optimum_met_debug
dacalc.calc_optimum()
~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/day_ahead.py", line 166, in calc_optimum
p_avg = sum(pl) / U # max(pl) #
~~~~~~~~^~~
ZeroDivisionError: division by zero
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f9daa2200>
++++++++++++++++++++++
Heb je de prijzen van vandaag en morgen opgehaald?wmc schreef op maandag 20 oktober 2025 @ 19:17:
Ik ben sinds vandaag ook begonnen met DAO, echter ik loop al vrij snel tegen een probleem aan. Ik heb de meteoserver werkend gerekegen, als ook de rapportage van day ahead prijzen. Als ik vervolgens met de default waardes op "Optimaliseringsberekening met debug" druk krijg ik onderstaande fout. Oftewel, ergens wordt door nul gedeeld met de default waardes. Wat doe ik fout?
+++++++++++++++++++++++++++++++++++++++++++++++++
Logging van bewerking "Optimaliseringsberekening met debug":
2025-10-20 19:11:19 info: Day Ahead Optimalisering versie: 2025.10.5
2025-10-20 19:11:19 info: Day Ahead Optimalisering gestart op: 20-10-2025 19:11:19
2025-10-20 19:11:19 info: Day Ahead Optimalisatie gestart: 20-10-2025 19:11:19 taak: calc_optimum_met_debug
2025-10-20 19:11:19 info: Debug = True
2025-10-20 19:11:19 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
File "/root/dao/prog/da_base.py", line 623, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 553, in calc_optimum_met_debug
dacalc.calc_optimum()
~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/day_ahead.py", line 166, in calc_optimum
p_avg = sum(pl) / U # max(pl) #
~~~~~~~~^~~
ZeroDivisionError: division by zero
Traceback (most recent call last):
File "/root/dao/webserver/../prog/day_ahead.py", line 3967, in <module>
main()
~~~~^^
File "/root/dao/webserver/../prog/day_ahead.py", line 3941, in main
da_calc.run_task_function("calc_optimum_met_debug")
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_base.py", line 623, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 553, in calc_optimum_met_debug
dacalc.calc_optimum()
~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/day_ahead.py", line 166, in calc_optimum
p_avg = sum(pl) / U # max(pl) #
~~~~~~~~^~~
ZeroDivisionError: division by zero
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f9daa2200>
++++++++++++++++++++++
Voor vandaag: vul het "prijzen vanaf"-veld in met 2025-10-20 en klik op "prijzen ophalen"
Voor morgen: prijzen vanaf of blanco of 2025-10-21
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Bij consumption alleen sensoren opgeven die het verbruik vanaf het net naar je meterkast registerenCopyCatz schreef op maandag 20 oktober 2025 @ 16:18:
Ik snap niet helemaal hoe ik de reports moet instellen. Ik heb nu dit:
"report": {
"entities grid consumption": [
"sensor.shellypro3em_total_active_energy"
],
"entities grid production": [
"sensor.shellypro3em_total_active_returned_energy"
],
"entities solar production ac": [
"sensor.kwh_meter_total_energy_export"
],
Ik zie in het report bv verbruik, productie, netto:
15:00 0.185 0.342 -0.157
Het lijkt erop dat verbruik al verbruik minus opwek is (shellypro3em_total_active_returned_energy is alleen wat retour het net op gaat), en nu wordt nog een keer daar de productie van afgetrokken. Hoe los ik dit slim op? Of maak ik een denkfout?
Bij production alleen sensoren die registeren wat er vanaf je huis terug naar het net gaat.
Die data worden ook apart geregistreerd met je slimme meter. Als je die uitleest via de P1-poort (er zijn diverse integraties voor) en in HA aan sensoren koppelt heb je exact dezelfde data als je energieleverancier.
Als je dat allemaal al hebt en je hebt het energy-dashboard van HA geconfigureerd dan kun je diezelfde sensoren opgeven in 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
Er klopt iets niet. Heb je voor mij (liefs in quotes vanwege de lengte):Deikke schreef op maandag 20 oktober 2025 @ 12:21:
@KC27 Volgens mij gaat er hier iets mis. Het lijkt erop dat de DC PV naar de accu zou moeten, gezien die is verdwenen in de geoptimaliseerde grafiek. Maar de SOC is een vlakke lijn.
[Afbeelding]
- een kopie van je battery-settings
- een kopie van de logging van de berekening (logging level "info")
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
Zie mijn reactie op @CopyCatz voor de "historie".itavero schreef op maandag 20 oktober 2025 @ 12:19:
Goede vraag, CopyCatz! Dat vroeg ik mij ook nog af. Een van mijn entiteiten had de verkeerde eenheid, waardoor die er een factor 1000 naast zat. 😅
Ik overweeg binnenkort over te stappen van Frank Energie naar een andere energieleverancier.
Momenteel twijfel ik tussen Tibber en Zonneplan.
Zonneplan biedt een "zonnebonus": 10% extra vergoeding voor teruglevering tussen zonsopkomst en zonsondergang.
Dit is momenteel nog niet te modelleren in DAO, toch?
De vergoedingen tussen beide leveranciers schelen elkaar niet zo veel. Overal is Zonneplan in mijn situatie waarschijnlijk iets goedkoper, maar Tibber heeft weer als voordeel dat een van onze EVs gekoppeld kan worden voor de "Grid Rewards".
Ik ben bezig met de prijs-berekening flexibeler te maken. Je kunt dan daadwerkelijk de gekste formules invullen. Daarmee kunnen onze zuiderburen DAO beter gebruiken, maar ook de zonnebonus van Zonneplan kan dan worden geconfigureerd.
Ook voor gebruikers met een SAP kunnen dan losgaan met de "laagste" inkoopprijs" cq de "hoogste terugleverprijs".
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
Daar ging het blijkbaar fout, ik had vandaag wel, maar morgen niet. Dank voor de snelle hulp!KC27 schreef op maandag 20 oktober 2025 @ 19:25:
[...]
Heb je de prijzen van vandaag en morgen opgehaald?
Voor vandaag: vul het "prijzen vanaf"-veld in met 2025-10-20 en klik op "prijzen ophalen"
Voor morgen: prijzen vanaf of blanco of 2025-10-21
dus ik nam aan dat daarvoor eerst historie moest worden opgebouwd
Ingeplugged:False, maar wel de waarschuwing dat er te weinig tijd is om tot 70.0% te laden. Maar dat hoeft dan ook niet...code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 2025-10-20 18:00:06 info: Day Ahead Optimalisering versie: 2025.10.5.rc6 2025-10-20 18:00:06 info: Day Ahead Optimalisering gestart op: 20-10-2025 18:00:06 2025-10-20 18:00:06 info: Day Ahead Optimalisatie gestart: 20-10-2025 18:00:06 taak: calc_optimum .. .. 2025-10-20 18:00:07 info: Instellingen voor laden van EV: boiler 2025-10-20 18:00:07 info: Direct laden is uit 2025-10-20 18:00:07 info: Ampere Effic. Grid kW Accu kW 2025-10-20 18:00:07 info: 0.00 1.00 0.00 0.00 2025-10-20 18:00:07 info: 4.00 0.93 0.92 0.86 2025-10-20 18:00:07 info: 5.00 0.93 1.15 1.07 2025-10-20 18:00:07 info: 6.00 0.95 1.38 1.31 2025-10-20 18:00:07 info: 7.00 0.97 1.61 1.56 2025-10-20 18:00:07 info: 8.00 0.99 1.84 1.82 2025-10-20 18:00:07 info: 9.00 0.99 2.07 2.05 2025-10-20 18:00:07 info: 10.00 0.99 2.30 2.28 2025-10-20 18:00:07 info: Capaciteit accu: 13.4 kWh 2025-10-20 18:00:07 info: Maximaal laadvermogen: 2.3 kW 2025-10-20 18:00:07 info: Klaar met laden op: 20-10-2025 18:00:00 2025-10-20 18:00:07 info: Huidig laadniveau: 18.5249996185303 % 2025-10-20 18:00:07 info: Gewenst laadniveau:70.0 % 2025-10-20 18:00:07 info: Marge voor het laden: 1 % 2025-10-20 18:00:07 info: Locatie: home 2025-10-20 18:00:07 info: Ingeplugged:False 2025-10-20 18:00:07 waarschuwing: Er is te weinig tijd om tot 70.0% te laden 2025-10-20 18:00:07 info: Bijgesteld gewenst laadniveau:17.5 % 2025-10-20 18:00:07 info: Benodigde netto energie: 0.000 kWh 2025-10-20 18:00:07 info: Tijd nodig om te laden: 0:0 uur 2025-10-20 18:00:07 info: Afgerond naar hele intervallen: 0 kwartier 2025-10-20 18:00:07 info: Stand laden schakelaar: on 2025-10-20 18:00:07 info: Stand aantal ampere laden: 10.0 A 2025-10-20 18:00:07 info: Opladen wordt niet ingepland, omdat werkelijk niveau (18.5%) hoger is of gelijk aan gewenst niveau (17.5% minus de marge 1%), auto is niet ingeplugd, opgegeven tijdstip (2025-10-20 18:00:00) is verouderd.
[ Voor 6% gewijzigd door DaBit op 20-10-2025 22:19 ]
Ik zal het aanpassen. 6 weken historie in Home Assistant volstaat.CopyCatz schreef op maandag 20 oktober 2025 @ 21:33:
In de installatie handleiding staat “ In de documentatie verderop zul je nog een methode vinden waarmee je na ca 6 weken gebruik van het programma de baseload door het programma zelf kunt laten berekenenen en dan ook nog verschillend per dag van de week. “
dus ik nam aan dat daarvoor eerst historie moest worden opgebouwd
Dank voor je opmerkzaamheid!
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
Klopt, was ook al door anderen gesignaleerd.DaBit schreef op maandag 20 oktober 2025 @ 22:19:
Schoonheidsfoutje?
[...]
Ingeplugged:False, maar wel de waarschuwing dat er te weinig tijd is om tot 70.0% te laden. Maar dat hoeft dan ook niet...
Volgende versie is dit opgelost!
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 vind dit zelf ook het meest ingewikkelde. Ik ben een half jaar geleden met DAO begonnen en heb het nooit echt aan de gang gekregen. Ik krijg vaak errors en dan geef ik het na dagen weer op. Het lijkt me geweldige software maar het is voor mij echt te ingewikkeld.Torch1969 schreef op dinsdag 14 oktober 2025 @ 12:50:
[...]
Het kan beide, maar het is wellicht slim om de boel te ontkoppelen met helpers en dan de waarden via een automatisering te actualiseren. Dan kun je de koppeling eenvoudig deactiveren door de automatisering uit te zetten.
Ik probeer zoveel mogelijk json voorbeelden uit dit topic te gebruiken van andere gebruikers die een Marstek hebben. Misschien heeft iemand zin om de helpers eens uit te leggen? Dit is voor mij het allerlastigst.
Automations is voor volgende week. Eerst correcte helpers denk ik?
/f/image/rH1fAXaAodNw5WXQqhP11GMj.png?f=fotoalbum_large)
Deze helpers heb ik aangemaakt op basis van de json van @Mirabis"entity min soc end opt": "input_number.dao_min_soc_einde_opt", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 100 als waarde
"entity max soc end opt": "input_number.dao_max_soc_einde_opt", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 100 als waarde
"entity set power feedin": "input_number.dao_set_power_feedin", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity set operating mode": "input_select.dao_set_operating_mode", >> Geen idee welke opties hier in moeten?
"entity stop inverter": "input_datetime.dao_stop_marstek", >> Ik heb een date/time helper aangemaakt met deze exacte naam
"entity balance switch": "input_boolean.dao_balance_grid", >> Alleen een switch aangemaakt met deze naam
"entity from battery": "input_number.dao_from_battery", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity from pv": "input_number.dao_marstek_from_pv", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity from ac": "input_number.dao_marstek_from_ac", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity calculated soc": "input_number.dao_marstek_calculated_soc", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 100 als waarde
Daarna krijg ik nog een rits aan errors: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{ "homeassistant": { }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes production": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "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 }, "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": "2022-09-01", "tax refund": "True" }, "logging level" : "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.33, 0.33, 0.32, 0.32, 0.31, 0.33, 0.33, 0.34, 0.33, 0.35, 0.35, 0.33, 0.31, 0.33, 0.33, 0.33, 0.33, 0.33, 0.33, 0.33, 0.32, 0.31, 0.31, 0.31 ], "graphical backend": "", "graphics": { "style": "Solarize_Light2", "show" : "true", "battery balance": "True", "prices consumption": "True", "prices production": "True", "prices spot": "True", "average consumption": "True" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 8 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "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 }, "battery": [ { "name": "Marstek Venus-E 5.12kWh", "capacity": 5.12, "lower limit": 11, "upper limit": 100, "optimal lower level": 11, "charge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100.0, "efficiency": 0.36 }, { "power": 200.0, "efficiency": 0.8221 }, { "power": 400.0, "efficiency": 0.8673 }, { "power": 600.0, "efficiency": 0.8861 }, { "power": 800.0, "efficiency": 0.8975 }, { "power": 1000.0, "efficiency": 0.8933 }, { "power": 1500.0, "efficiency": 0.9015 }, { "power": 2000.0, "efficiency": 0.9010 }, { "power": 2500.0, "efficiency": 0.9017 } ], "discharge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100.0, "efficiency": 0.7907 }, { "power": 200.0, "efficiency": 0.8957 }, { "power": 400.0, "efficiency": 0.9581 }, { "power": 600.0, "efficiency": 0.9767 }, { "power": 800.0, "efficiency": 0.9812 }, { "power": 1000.0, "efficiency": 0.9890 }, { "power": 1500.0, "efficiency": 0.9907 }, { "power": 2000.0, "efficiency": 0.9841 }, { "power": 2500.0, "efficiency": 0.9928 } ], "reduced hours": {}, "dc_to_bat max power": 2500.0, "bat_to_dc max power": 2500.0, "dc_to_bat efficiency": 0.935, "bat_to_dc efficiency": 0.935, "cycle cost": 0.005, "minimum power": 400, "entity actual level": "sensor.lilygo_rs485_marstek_battery_state_of_charge", "entity min soc end opt": "input_number.dao_min_soc_einde_opt", "entity max soc end opt": "input_number.dao_max_soc_einde_opt", "entity set power feedin": "input_number.dao_set_power_feedin", "entity set operating mode": "input_select.dao_set_operating_mode", "entity stop inverter": "input_datetime.dao_stop_marstek", "entity balance switch": "input_boolean.dao_balance_grid", "entity from battery": "input_number.dao_from_battery", "entity from pv": "input_number.dao_marstek_from_pv", "entity from ac": "input_number.dao_marstek_from_ac", "entity calculated soc": "input_number.dao_marstek_calculated_soc", "solar": [] } ], "solar": [ { "name" : "Oost West", "entity pv switch": "input_boolean.oost_west_turn_inverter_on_off", "strings": [ { "tilt": 45, "orientation": -135, "capacity": 0.43, "yield": 0.00624 }, { "tilt": 45, "orientation": -135, "capacity": 0.43, "yield": 0.00624 }, { "tilt": 45, "orientation": 45, "capacity": 0.43, "yield": 0.00624 }, { "tilt": 45, "orientation": 45, "capacity": 0.43, "yield": 0.00624 } ] }, { "name": "Zuid paneel", "entity pv switch": "input_boolean.zuid_paneel_on_off", "tilt": 60, "orientation": -45, "capacity": 0.43, "yield": 0.00624 }, { "name": "Schuine dak", "entity pv switch": "input_boolean.schuin_dak_on_off", "tilt": 45, "orientation": 45, "capacity": 0.50, "yield": 0.00798 } ], "electric vehicle": [ ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.electricity_meter_energieverbruik_tarief_1", "sensor.electricity_meter_energieverbruik_tarief_2" ], "entities grid production": [ "sensor.electricity_meter_energieproductie_tarief_1", "sensor.electricity_meter_energieproductie_tarief_2" ], "entities solar production ac": [ "sensor.hms_2000_4t_yieldtotal", "sensor.zuid_paneel_yieldtotal", "sensor.schuine_dak_yieldtotal" ], "entities battery consumption": ["sensor.lilygo_rs485_marstek_total_charging_energy"], "entities battery production": ["sensor.lilygo_rs485_marstek_total_discharging_energy"] }, "scheduler": { "active": "True", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } }
Ook al wil ik het bijna opgeven. Er gaat ook veel goedcode:
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 1682025-10-21 02:02:38 info: Day Ahead Optimalisering versie: 2025.10.5.rc6 2025-10-21 02:02:38 info: Day Ahead Optimalisering gestart op: 21-10-2025 02:02:38 2025-10-21 02:02:38 info: Day Ahead Optimalisatie gestart: 21-10-2025 02:02:38 taak: calc_optimum 2025-10-21 02:02:38 info: Debug = False 2025-10-21 02:02:38 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-21 02:02:38 info: Baseload uit instellingen 2025-10-21 02:02:38 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 02:00 2025-10-21 02:00:00 0.180 0.180 0.320 0.000 0 1 03:00 2025-10-21 03:00:00 0.168 0.168 0.320 0.000 0 2 04:00 2025-10-21 04:00:00 0.173 0.173 0.310 0.000 0 3 05:00 2025-10-21 05:00:00 0.195 0.195 0.330 0.000 0 4 06:00 2025-10-21 06:00:00 0.230 0.230 0.330 0.000 0 5 07:00 2025-10-21 07:00:00 0.245 0.245 0.340 0.000 0 6 08:00 2025-10-21 08:00:00 0.260 0.260 0.330 0.039 0 7 09:00 2025-10-21 09:00:00 0.253 0.253 0.350 0.157 0 8 10:00 2025-10-21 10:00:00 0.238 0.238 0.350 0.948 0 9 11:00 2025-10-21 11:00:00 0.226 0.226 0.330 0.733 0 10 12:00 2025-10-21 12:00:00 0.205 0.205 0.310 2.505 0 11 13:00 2025-10-21 13:00:00 0.184 0.184 0.330 0.578 0 12 14:00 2025-10-21 14:00:00 0.186 0.186 0.330 4.863 0 13 15:00 2025-10-21 15:00:00 0.215 0.215 0.330 3.272 0 14 16:00 2025-10-21 16:00:00 0.230 0.230 0.330 1.981 0 15 17:00 2025-10-21 17:00:00 0.265 0.265 0.330 0.536 0 16 18:00 2025-10-21 18:00:00 0.292 0.292 0.330 0.000 0 17 19:00 2025-10-21 19:00:00 0.289 0.289 0.330 0.000 0 18 20:00 2025-10-21 20:00:00 0.269 0.269 0.320 0.000 0 19 21:00 2025-10-21 21:00:00 0.245 0.245 0.310 0.000 0 20 22:00 2025-10-21 22:00:00 0.245 0.245 0.310 0.000 0 21 23:00 2025-10-21 23:00:00 0.236 0.236 0.310 0.000 0 2025-10-21 02:02:39 info: No reduced hours applied for Marstek Venus-E 5.12kWh 2025-10-21 02:02:39 info: Startwaarde SoC Marstek Venus-E 5.12kWh: 27.0% 2025-10-21 02:02:39 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-10-21 02:02:39 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-10-21 02:02:39 info: Strategie: minimale kosten 2025-10-21 02:02:39 info: Maximale fout (maximal gap): 0.005000 euro 2025-10-21 02:02:39 info: Rekentijd: 0.13 sec 2025-10-21 02:02:39 info: Het programma heeft een optimale oplossing gevonden. 2025-10-21 02:02:39 info: In- en uitgaande energie per uur batterij Marstek Venus-E 5.12kWh uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 02:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 27.00 03:00 2.50 90.17 2.25 0.00 2.25 93.50 2.11 84.31 68.17 04:00 1.93 90.11 1.74 0.00 1.74 93.50 1.63 84.25 100.00 05:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 06:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 07:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 08:00 -2.48 99.28 -2.50 0.00 -2.50 93.50 -2.67 92.83 47.78 09:00 -1.43 99.07 -1.44 0.00 -1.44 93.50 -1.54 92.63 17.67 10:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 17.67 11:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 17.67 12:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 17.67 13:00 2.50 90.17 2.25 0.00 2.25 93.50 2.11 84.31 58.83 14:00 2.50 90.17 2.25 0.00 2.25 93.50 2.11 84.31 100.00 15:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 16:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 17:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 18:00 -2.18 99.28 -2.20 0.00 -2.20 93.50 -2.35 92.83 54.08 19:00 -2.00 99.28 -2.01 0.00 -2.01 93.50 -2.15 92.83 12.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 Totaal 1.34 -- 0.35 0.00 0.35 -- -0.77 -- 2025-10-21 02:02:40 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 02:00 0.00 0.00 0.31 0.00 0.32 0.00 0.00 0.00 0.00 0.06 -0.00 20.00 03:00 2.50 0.00 2.82 0.00 0.32 0.00 0.00 0.00 0.00 0.47 -0.00 20.00 04:00 1.93 0.00 2.24 0.00 0.31 0.00 0.00 0.00 0.00 0.39 -0.00 20.00 05:00 0.00 0.00 0.33 0.00 0.33 0.00 0.00 0.00 0.00 0.06 -0.00 20.00 06:00 0.00 0.00 0.33 0.00 0.33 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 07:00 0.00 0.00 0.34 0.00 0.34 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 08:00 0.00 2.48 0.00 2.19 0.33 0.00 0.00 0.00 0.04 0.00 -0.57 20.00 09:00 0.00 1.43 0.00 1.23 0.35 0.00 0.00 0.00 0.16 0.00 -0.31 20.00 10:00 0.00 0.00 0.00 0.60 0.35 0.00 0.00 0.00 0.95 0.00 -0.14 20.00 11:00 0.00 0.00 0.00 0.40 0.33 0.00 0.00 0.00 0.73 0.00 -0.09 20.00 12:00 0.00 0.00 0.00 2.19 0.31 0.00 0.00 0.00 2.50 0.00 -0.45 20.00 13:00 2.50 0.00 2.25 0.00 0.33 0.00 0.00 0.00 0.58 0.42 -0.00 20.00 14:00 2.50 0.00 0.00 2.03 0.33 0.00 0.00 0.00 4.86 0.00 -0.38 20.00 15:00 0.00 0.00 0.00 2.94 0.33 0.00 0.00 0.00 3.27 0.00 -0.63 20.00 16:00 0.00 0.00 0.00 1.65 0.33 0.00 0.00 0.00 1.98 0.00 -0.38 20.00 17:00 0.00 0.00 0.00 0.21 0.33 0.00 0.00 0.00 0.54 0.00 -0.05 20.00 18:00 0.00 2.18 0.00 1.85 0.33 0.00 0.00 0.00 0.00 0.00 -0.54 20.00 19:00 0.00 2.00 0.00 1.67 0.33 0.00 0.00 0.00 0.00 0.00 -0.48 20.00 20:00 0.00 0.00 0.32 0.00 0.32 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 21:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 22:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 23:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 Totaal 9.43 8.09 9.87 16.97 7.18 0.00 0.00 0.00 15.61 1.87 -4.03 2025-10-21 02:02:40 info: Consumption 9.87 (kWh) 2025-10-21 02:02:40 info: Cost consumption 1.87 (€) 2025-10-21 02:02:40 info: Tariff consumption 0.189 (€/kWh) 2025-10-21 02:02:40 info: Production 16.97 (kWh) 2025-10-21 02:02:40 info: Profit production -4.03 (€) 2025-10-21 02:02:40 info: Tariff production 0.238 (€/kWh) 2025-10-21 02:02:40 info: Calculation profit after optimize in € Cost before optimize -1.62 Cost consumption 1.87 Profit production -4.03 Cycle cost 0.08 Battery storage 0.16 Boiler storage 0.00 Total -1.93 Cost after optimize -1.93 Profit: 0.30 2025-10-21 02:02:40 info: Doorzetten van alle settings naar HA 2025-10-21 02:02:40 info: Grid set point: 320.0 W 2025-10-21 02:02:40 info: Cycle cost Marstek Venus-E 5.12kWh: 0.08 euro 2025-10-21 02:02:40 fout: File: /root/dao/webserver/../prog/day_ahead.py, line 3967, in <module> 2025-10-21 02:02:40 fout: File: /root/dao/webserver/../prog/day_ahead.py, line 3943, in main 2025-10-21 02:02:40 fout: File: /root/dao/prog/da_base.py, line 623, in run_task_function 2025-10-21 02:02:40 fout: File: /root/dao/webserver/../prog/day_ahead.py, line 3304, in calc_optimum 2025-10-21 02:02:40 fout: File: /root/dao/prog/da_base.py, line 476, in set_entity_option 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py, line 49, in select_option 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py, line 28, in call_service 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py, line 68, in _post 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py, line 90, in _process_response 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py, line 95, in _raise_error 2025-10-21 02:02:40 fout: Onverwachte fout: 500 status code returned from http://supervisor/core/api/services/input_select/select_option Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 3095, in calc_optimum self.set_entity_option( ~~~~~~~~~~~~~~~~~~~~~~^ "entity set operating mode", self.battery_options[b], new_state ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/prog/da_base.py", line 476, in set_entity_option self.select_option(entity_id, value) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py", line 49, in select_option return self.call_service("select_option", entity_id=entity_id, option=option) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py", line 28, in call_service self._post( ~~~~~~~~~~^ endpoint=f"/services/{domain}/{service}", ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ entity_id=entity_id, ^^^^^^^^^^^^^^^^^^^^ **kwargs, # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 68, in _post return self._process_response( ~~~~~~~~~~~~~~~~~~~~~~^ requests.post( ^^^^^^^^^^^^^^ ...<5 lines>... ) ^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 90, in _process_response self._raise_error(response.status_code, response.url) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 95, in _raise_error raise error(f"{status_code} status code returned from {url}",) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ hassapi.exceptions.InternalServerError: 500 status code returned from http://supervisor/core/api/services/input_select/select_option <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f5b9ae589a0> <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f5b9bae2c50>
[ Voor 145% gewijzigd door Animal op 21-10-2025 12:26 ]
Hoi @Animal we komen hier vast wel uit. Je bent al een heel eind, dus geef de moed niet opAnimal schreef op dinsdag 21 oktober 2025 @ 01:27:
[...]
Ik vind dit zelf ook het meest ingewikkelde. Ik ben een half jaar geleden met DAO begonnen en heb het nooit echt aan de gang gekregen. Ik krijg vaak errors en dan geef ik het na dagen weer op. Het lijkt me geweldige software maar het is voor mij echt te ingewikkeld.
Ik probeer zoveel mogelijk json voorbeelden uit dit topic te gebruiken van andere gebruikers die een Marstek hebben. Misschien heeft iemand zin om de helpers eens uit te leggen? Dit is voor mij het allerlastigst.
Automations is voor volgende week. Eerst correcte helpers denk ik?
[Afbeelding]
"entity min soc end opt": "input_number.dao_min_soc_einde_opt", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 100 als waarde
"entity max soc end opt": "input_number.dao_max_soc_einde_opt", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 100 als waarde
"entity set power feedin": "input_number.dao_set_power_feedin", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity set operating mode": "input_select.dao_set_operating_mode", >> Geen idee welke opties hier in moeten?
"entity stop inverter": "input_datetime.dao_stop_marstek", >> Ik heb een date/time helper aangemaakt met deze exacte naam
"entity balance switch": "input_boolean.dao_balance_grid", >> Alleen een switch aangemaakt met deze naam
"entity from battery": "input_number.dao_from_battery", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity from pv": "input_number.dao_marstek_from_pv", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity from ac": "input_number.dao_marstek_from_ac", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 2500 als waarde
"entity calculated soc": "input_number.dao_marstek_calculated_soc", >> Ik heb voor nu gewoon een input number aangemaakt met minimaal 0 en maximaal 100 als waarde
Deze helpers heb ik aangemaakt op basis van de json van @Mirabis
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{ "homeassistant": { }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes production": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "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 }, "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": "2022-09-01", "tax refund": "True" }, "logging level" : "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.33, 0.33, 0.32, 0.32, 0.31, 0.33, 0.33, 0.34, 0.33, 0.35, 0.35, 0.33, 0.31, 0.33, 0.33, 0.33, 0.33, 0.33, 0.33, 0.33, 0.32, 0.31, 0.31, 0.31 ], "graphical backend": "", "graphics": { "style": "Solarize_Light2", "show" : "true", "battery balance": "True", "prices consumption": "True", "prices production": "True", "prices spot": "True", "average consumption": "True" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 8 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "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 }, "battery": [ { "name": "Marstek Venus-E 5.12kWh", "capacity": 5.12, "lower limit": 11, "upper limit": 100, "optimal lower level": 11, "charge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100.0, "efficiency": 0.36 }, { "power": 200.0, "efficiency": 0.8221 }, { "power": 400.0, "efficiency": 0.8673 }, { "power": 600.0, "efficiency": 0.8861 }, { "power": 800.0, "efficiency": 0.8975 }, { "power": 1000.0, "efficiency": 0.8933 }, { "power": 1500.0, "efficiency": 0.9015 }, { "power": 2000.0, "efficiency": 0.9010 }, { "power": 2500.0, "efficiency": 0.9017 } ], "discharge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100.0, "efficiency": 0.7907 }, { "power": 200.0, "efficiency": 0.8957 }, { "power": 400.0, "efficiency": 0.9581 }, { "power": 600.0, "efficiency": 0.9767 }, { "power": 800.0, "efficiency": 0.9812 }, { "power": 1000.0, "efficiency": 0.9890 }, { "power": 1500.0, "efficiency": 0.9907 }, { "power": 2000.0, "efficiency": 0.9841 }, { "power": 2500.0, "efficiency": 0.9928 } ], "reduced hours": {}, "dc_to_bat max power": 2500.0, "bat_to_dc max power": 2500.0, "dc_to_bat efficiency": 0.935, "bat_to_dc efficiency": 0.935, "cycle cost": 0.005, "minimum power": 400, "entity actual level": "sensor.lilygo_rs485_marstek_battery_state_of_charge", "entity min soc end opt": "input_number.dao_min_soc_einde_opt", "entity max soc end opt": "input_number.dao_max_soc_einde_opt", "entity set power feedin": "input_number.dao_set_power_feedin", "entity set operating mode": "input_select.dao_set_operating_mode", "entity stop inverter": "input_datetime.dao_stop_marstek", "entity balance switch": "input_boolean.dao_balance_grid", "entity from battery": "input_number.dao_from_battery", "entity from pv": "input_number.dao_marstek_from_pv", "entity from ac": "input_number.dao_marstek_from_ac", "entity calculated soc": "input_number.dao_marstek_calculated_soc", "solar": [] } ], "solar": [ { "name" : "Oost West", "entity pv switch": "input_boolean.oost_west_turn_inverter_on_off", "strings": [ { "tilt": 45, "orientation": -135, "capacity": 0.43, "yield": 0.00624 }, { "tilt": 45, "orientation": -135, "capacity": 0.43, "yield": 0.00624 }, { "tilt": 45, "orientation": 45, "capacity": 0.43, "yield": 0.00624 }, { "tilt": 45, "orientation": 45, "capacity": 0.43, "yield": 0.00624 } ] }, { "name": "Zuid paneel", "entity pv switch": "input_boolean.zuid_paneel_on_off", "tilt": 60, "orientation": -45, "capacity": 0.43, "yield": 0.00624 }, { "name": "Schuine dak", "entity pv switch": "input_boolean.schuin_dak_on_off", "tilt": 45, "orientation": 45, "capacity": 0.50, "yield": 0.00798 } ], "electric vehicle": [ ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.electricity_meter_energieverbruik_tarief_1", "sensor.electricity_meter_energieverbruik_tarief_2" ], "entities grid production": [ "sensor.electricity_meter_energieproductie_tarief_1", "sensor.electricity_meter_energieproductie_tarief_2" ], "entities solar production ac": [ "sensor.hms_2000_4t_yieldtotal", "sensor.zuid_paneel_yieldtotal", "sensor.schuine_dak_yieldtotal" ], "entities battery consumption": ["sensor.lilygo_rs485_marstek_total_charging_energy"], "entities battery production": ["sensor.lilygo_rs485_marstek_total_discharging_energy"] }, "scheduler": { "active": "True", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } }
Daarna krijg ik nog een rits aan errors:
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 1682025-10-21 02:02:38 info: Day Ahead Optimalisering versie: 2025.10.5.rc6 2025-10-21 02:02:38 info: Day Ahead Optimalisering gestart op: 21-10-2025 02:02:38 2025-10-21 02:02:38 info: Day Ahead Optimalisatie gestart: 21-10-2025 02:02:38 taak: calc_optimum 2025-10-21 02:02:38 info: Debug = False 2025-10-21 02:02:38 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-21 02:02:38 info: Baseload uit instellingen 2025-10-21 02:02:38 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 02:00 2025-10-21 02:00:00 0.180 0.180 0.320 0.000 0 1 03:00 2025-10-21 03:00:00 0.168 0.168 0.320 0.000 0 2 04:00 2025-10-21 04:00:00 0.173 0.173 0.310 0.000 0 3 05:00 2025-10-21 05:00:00 0.195 0.195 0.330 0.000 0 4 06:00 2025-10-21 06:00:00 0.230 0.230 0.330 0.000 0 5 07:00 2025-10-21 07:00:00 0.245 0.245 0.340 0.000 0 6 08:00 2025-10-21 08:00:00 0.260 0.260 0.330 0.039 0 7 09:00 2025-10-21 09:00:00 0.253 0.253 0.350 0.157 0 8 10:00 2025-10-21 10:00:00 0.238 0.238 0.350 0.948 0 9 11:00 2025-10-21 11:00:00 0.226 0.226 0.330 0.733 0 10 12:00 2025-10-21 12:00:00 0.205 0.205 0.310 2.505 0 11 13:00 2025-10-21 13:00:00 0.184 0.184 0.330 0.578 0 12 14:00 2025-10-21 14:00:00 0.186 0.186 0.330 4.863 0 13 15:00 2025-10-21 15:00:00 0.215 0.215 0.330 3.272 0 14 16:00 2025-10-21 16:00:00 0.230 0.230 0.330 1.981 0 15 17:00 2025-10-21 17:00:00 0.265 0.265 0.330 0.536 0 16 18:00 2025-10-21 18:00:00 0.292 0.292 0.330 0.000 0 17 19:00 2025-10-21 19:00:00 0.289 0.289 0.330 0.000 0 18 20:00 2025-10-21 20:00:00 0.269 0.269 0.320 0.000 0 19 21:00 2025-10-21 21:00:00 0.245 0.245 0.310 0.000 0 20 22:00 2025-10-21 22:00:00 0.245 0.245 0.310 0.000 0 21 23:00 2025-10-21 23:00:00 0.236 0.236 0.310 0.000 0 2025-10-21 02:02:39 info: No reduced hours applied for Marstek Venus-E 5.12kWh 2025-10-21 02:02:39 info: Startwaarde SoC Marstek Venus-E 5.12kWh: 27.0% 2025-10-21 02:02:39 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-10-21 02:02:39 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-10-21 02:02:39 info: Strategie: minimale kosten 2025-10-21 02:02:39 info: Maximale fout (maximal gap): 0.005000 euro 2025-10-21 02:02:39 info: Rekentijd: 0.13 sec 2025-10-21 02:02:39 info: Het programma heeft een optimale oplossing gevonden. 2025-10-21 02:02:39 info: In- en uitgaande energie per uur batterij Marstek Venus-E 5.12kWh uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 02:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 27.00 03:00 2.50 90.17 2.25 0.00 2.25 93.50 2.11 84.31 68.17 04:00 1.93 90.11 1.74 0.00 1.74 93.50 1.63 84.25 100.00 05:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 06:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 07:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 08:00 -2.48 99.28 -2.50 0.00 -2.50 93.50 -2.67 92.83 47.78 09:00 -1.43 99.07 -1.44 0.00 -1.44 93.50 -1.54 92.63 17.67 10:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 17.67 11:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 17.67 12:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 17.67 13:00 2.50 90.17 2.25 0.00 2.25 93.50 2.11 84.31 58.83 14:00 2.50 90.17 2.25 0.00 2.25 93.50 2.11 84.31 100.00 15:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 16:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 17:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 18:00 -2.18 99.28 -2.20 0.00 -2.20 93.50 -2.35 92.83 54.08 19:00 -2.00 99.28 -2.01 0.00 -2.01 93.50 -2.15 92.83 12.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 Totaal 1.34 -- 0.35 0.00 0.35 -- -0.77 -- 2025-10-21 02:02:40 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 02:00 0.00 0.00 0.31 0.00 0.32 0.00 0.00 0.00 0.00 0.06 -0.00 20.00 03:00 2.50 0.00 2.82 0.00 0.32 0.00 0.00 0.00 0.00 0.47 -0.00 20.00 04:00 1.93 0.00 2.24 0.00 0.31 0.00 0.00 0.00 0.00 0.39 -0.00 20.00 05:00 0.00 0.00 0.33 0.00 0.33 0.00 0.00 0.00 0.00 0.06 -0.00 20.00 06:00 0.00 0.00 0.33 0.00 0.33 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 07:00 0.00 0.00 0.34 0.00 0.34 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 08:00 0.00 2.48 0.00 2.19 0.33 0.00 0.00 0.00 0.04 0.00 -0.57 20.00 09:00 0.00 1.43 0.00 1.23 0.35 0.00 0.00 0.00 0.16 0.00 -0.31 20.00 10:00 0.00 0.00 0.00 0.60 0.35 0.00 0.00 0.00 0.95 0.00 -0.14 20.00 11:00 0.00 0.00 0.00 0.40 0.33 0.00 0.00 0.00 0.73 0.00 -0.09 20.00 12:00 0.00 0.00 0.00 2.19 0.31 0.00 0.00 0.00 2.50 0.00 -0.45 20.00 13:00 2.50 0.00 2.25 0.00 0.33 0.00 0.00 0.00 0.58 0.42 -0.00 20.00 14:00 2.50 0.00 0.00 2.03 0.33 0.00 0.00 0.00 4.86 0.00 -0.38 20.00 15:00 0.00 0.00 0.00 2.94 0.33 0.00 0.00 0.00 3.27 0.00 -0.63 20.00 16:00 0.00 0.00 0.00 1.65 0.33 0.00 0.00 0.00 1.98 0.00 -0.38 20.00 17:00 0.00 0.00 0.00 0.21 0.33 0.00 0.00 0.00 0.54 0.00 -0.05 20.00 18:00 0.00 2.18 0.00 1.85 0.33 0.00 0.00 0.00 0.00 0.00 -0.54 20.00 19:00 0.00 2.00 0.00 1.67 0.33 0.00 0.00 0.00 0.00 0.00 -0.48 20.00 20:00 0.00 0.00 0.32 0.00 0.32 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 21:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 22:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 23:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 Totaal 9.43 8.09 9.87 16.97 7.18 0.00 0.00 0.00 15.61 1.87 -4.03 2025-10-21 02:02:40 info: Consumption 9.87 (kWh) 2025-10-21 02:02:40 info: Cost consumption 1.87 (€) 2025-10-21 02:02:40 info: Tariff consumption 0.189 (€/kWh) 2025-10-21 02:02:40 info: Production 16.97 (kWh) 2025-10-21 02:02:40 info: Profit production -4.03 (€) 2025-10-21 02:02:40 info: Tariff production 0.238 (€/kWh) 2025-10-21 02:02:40 info: Calculation profit after optimize in € Cost before optimize -1.62 Cost consumption 1.87 Profit production -4.03 Cycle cost 0.08 Battery storage 0.16 Boiler storage 0.00 Total -1.93 Cost after optimize -1.93 Profit: 0.30 2025-10-21 02:02:40 info: Doorzetten van alle settings naar HA 2025-10-21 02:02:40 info: Grid set point: 320.0 W 2025-10-21 02:02:40 info: Cycle cost Marstek Venus-E 5.12kWh: 0.08 euro 2025-10-21 02:02:40 fout: File: /root/dao/webserver/../prog/day_ahead.py, line 3967, in <module> 2025-10-21 02:02:40 fout: File: /root/dao/webserver/../prog/day_ahead.py, line 3943, in main 2025-10-21 02:02:40 fout: File: /root/dao/prog/da_base.py, line 623, in run_task_function 2025-10-21 02:02:40 fout: File: /root/dao/webserver/../prog/day_ahead.py, line 3304, in calc_optimum 2025-10-21 02:02:40 fout: File: /root/dao/prog/da_base.py, line 476, in set_entity_option 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py, line 49, in select_option 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py, line 28, in call_service 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py, line 68, in _post 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py, line 90, in _process_response 2025-10-21 02:02:40 fout: File: /root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py, line 95, in _raise_error 2025-10-21 02:02:40 fout: Onverwachte fout: 500 status code returned from http://supervisor/core/api/services/input_select/select_option Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 3095, in calc_optimum self.set_entity_option( ~~~~~~~~~~~~~~~~~~~~~~^ "entity set operating mode", self.battery_options[b], new_state ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/prog/da_base.py", line 476, in set_entity_option self.select_option(entity_id, value) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py", line 49, in select_option return self.call_service("select_option", entity_id=entity_id, option=option) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/services.py", line 28, in call_service self._post( ~~~~~~~~~~^ endpoint=f"/services/{domain}/{service}", ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ entity_id=entity_id, ^^^^^^^^^^^^^^^^^^^^ **kwargs, # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 68, in _post return self._process_response( ~~~~~~~~~~~~~~~~~~~~~~^ requests.post( ^^^^^^^^^^^^^^ ...<5 lines>... ) ^ ) ^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 90, in _process_response self._raise_error(response.status_code, response.url) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 95, in _raise_error raise error(f"{status_code} status code returned from {url}",) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ hassapi.exceptions.InternalServerError: 500 status code returned from http://supervisor/core/api/services/input_select/select_option <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f5b9ae589a0> <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f5b9bae2c50>
Ook al wil ik het bijna opgeven. Er gaat ook veel goedAlleen haal ik echt geen 4kWh uit mijn zonnepanelen
[Afbeelding]
Je hebt geluk, de instellingen voor zonnepanelen en battery heb ik al uitgebreid beschreven in de wiki van DAO heb je daar ook naar gekeken?
De “rits aan foutmeldingen” is maar één foutmelding en is op “entity set operating mode”, degene waar jij geen idee hebt wat je moet invullen. In de wiki staat: “ Optioneel. Entiteit in HA waarmee je de omvormer aan/uit zet. Type "input_select" met minimaal opties "Aan" en "Uit". Hiermee kun je een automatisering triggeren die de benodigde acties uitvoert.”.
Deze entiteit is optioneel, dus als je hem niet nodig hebt, lekker weg laten, anders vullen met keuzes “Aan” en “Uit”.
De hoge pv opwek komt waarschijnlijk door een te hoge yield. Reken die nog eens goed na (staat ook duidelijk in de wiki). 5x een zelfde yield voor oost, west en zuid is sowieso verdacht. Heb je ook bewust de strings op Oost en West er 2 x in staan? Tip is om zoveel mogelijk gelijke dingen samen te voegen, dat scheelt DAO rekentijd. Dus die 2 op Oost samenvoegen en die 2 op West ook.
KC27 schreef op maandag 20 oktober 2025 @ 19:35:
[...]
Er klopt iets niet. Heb je voor mij (liefs in quotes vanwege de lengte):
- een kopie van je battery-settings
- een kopie van de logging van de berekening (logging level "info")
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 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{ "homeassistant": { }, "database ha": { "engine": "postgresql", "server": "77b2833f-timescaledb", "port": 5432, "database": "homeassistant", "username": "dao", "password": "!secret db_ha_password" }, "database da": { "engine": "postgresql", "server": "77b2833f-timescaledb", "port": 5432, "database": "dao", "username": "dao", "password": "!secret db_da_password" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.5, "regular low": 0.4, "switch to low": 23, "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 }, "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": "True" }, "interval": "15min", "logging level": "info", "use_calc_baseload": "True", "baseload calc periode": 14, "baseload": [ 0.14, 0.38, 0.26, 0.42, 0.15, 0.12, 0.13, 0.15, 0.23, 0.26, 0.31, 0.32, 0.31, 0.23, 0.26, 0.21, 0.21, 0.54, 0.26, 0.26, 0.22, 0.19, 0.18, 0.16 ], "graphical backend": "", "graphics": { "style": "Solarize_Light2", "show": "true", "battery balance": "True", "prices consumption": "True", "prices production": "False", "prices spot": "True", "average consumption": "True" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 17 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "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 }, "battery": [ { "name": "Batterij", "entity actual level": "sensor.solis_s5_eh1p_battery_soc", "capacity": 10, "upper limit": 98, "lower limit": 21, "optimal lower level": 21, "minimum power": 0, "charge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 50.0, "efficiency": 0.825 }, { "power": 100.0, "efficiency": 0.861 }, { "power": 150.0, "efficiency": 0.873 }, { "power": 300.0, "efficiency": 0.886 }, { "power": 600.0, "efficiency": 0.893 }, { "power": 1200.0, "efficiency": 0.896 }, { "power": 2000.0, "efficiency": 0.897 }, { "power": 3000.0, "efficiency": 0.898 } ], "discharge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 50.0, "efficiency": 0.825 }, { "power": 100.0, "efficiency": 0.861 }, { "power": 150.0, "efficiency": 0.873 }, { "power": 300.0, "efficiency": 0.886 }, { "power": 600.0, "efficiency": 0.893 }, { "power": 1200.0, "efficiency": 0.896 }, { "power": 2000.0, "efficiency": 0.897 }, { "power": 3000.0, "efficiency": 0.898 } ], "dc_to_bat efficiency": 0.95, "dc_to_bat max power": 3000.0, "bat_to_dc efficiency": 0.93, "bat_to_dc max power": 3000.0, "cycle cost": 0.03, "solar": [ { "name": "Dak bijkeuken", "entity pv switch": "", "strings": [ { "tilt": 15, "orientation": -85, "capacity": 2.8, "yield": 0.01 }, { "tilt": 15, "orientation": 95, "capacity": 2.8, "yield": 0.01 } ] } ] } ], "solar": [ { "name": "Dak zuid", "entity pv switch": "", "tilt": 10, "orientation": 5, "capacity": 3.6, "yield": 0.01 } ], "electric vehicle": [ ], "machines": [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.dsmr_reading_electricity_delivered_1", "sensor.dsmr_reading_electricity_delivered_2" ], "entities grid production": [ "sensor.dsmr_reading_electricity_returned_1", "sensor.dsmr_reading_electricity_returned_2" ], "entities solar production ac": [ "sensor.shelly_em_6eaabc_total_returned_1" ], "entities solar production dc": [ "sensor.solis_s5_eh1p_pv_today_energy_generation" ], "entities ev consumption": [ "sensor.shelly_em_6eaabc_total_0" ], "entities wp consumption": [ ], "entities boiler consumption": [ ], "entities battery consumption": [ "sensor.solis_s5_eh1p_today_battery_charge_energy" ], "entities battery production": [ "sensor.solis_s5_eh1p_today_battery_discharge_energy" ] }, "scheduler": { "active": "true", "0425": "get_meteo_data", "1025": "get_meteo_data", "1625": "get_meteo_data", "2225": "get_meteo_data", "1257": "get_day_ahead_prices", "1356": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "xx15": "calc_optimum", "xx30": "calc_optimum", "xx45": "calc_optimum", "2359": "clean_data" } }
Hier is de log van deze run:
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 1962025-10-20 12:00:00 info: Day Ahead Optimalisering versie: 2025.10.5 2025-10-20 12:00:00 info: Day Ahead Optimalisering gestart op: 20-10-2025 12:00:00 2025-10-20 12:00:00 info: Day Ahead Optimalisatie gestart: 20-10-2025 12:00:00 taak: calc_optimum 2025-10-20 12:00:00 info: Debug = False 2025-10-20 12:00:00 info: Zelf berekende baseload 2025-10-20 12:00:00 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 12:00 2025-10-20 12:00:00 0.223 0.223 -0.039 0.011 0.021 1 12:15 2025-10-20 12:15:00 0.217 0.217 -0.032 0.012 0.024 2 12:30 2025-10-20 12:30:00 0.214 0.214 -0.025 0.014 0.026 3 12:45 2025-10-20 12:45:00 0.217 0.217 -0.020 0.015 0.028 4 13:00 2025-10-20 13:00:00 0.219 0.219 -0.018 0.015 0.028 5 13:15 2025-10-20 13:15:00 0.221 0.221 -0.013 0.017 0.031 6 13:30 2025-10-20 13:30:00 0.220 0.220 -0.008 0.018 0.033 7 13:45 2025-10-20 13:45:00 0.222 0.222 0.004 0.025 0.045 8 14:00 2025-10-20 14:00:00 0.217 0.217 0.023 0.032 0.057 9 14:15 2025-10-20 14:15:00 0.223 0.223 0.035 0.039 0.069 10 14:30 2025-10-20 14:30:00 0.226 0.226 0.047 0.046 0.082 11 14:45 2025-10-20 14:45:00 0.242 0.242 0.052 0.075 0.125 12 15:00 2025-10-20 15:00:00 0.226 0.226 0.047 0.149 0.209 13 15:15 2025-10-20 15:15:00 0.237 0.237 0.051 0.199 0.256 14 15:30 2025-10-20 15:30:00 0.259 0.259 0.056 0.249 0.301 15 15:45 2025-10-20 15:45:00 0.274 0.274 0.073 0.266 0.291 16 16:00 2025-10-20 16:00:00 0.236 0.236 0.107 0.122 0.242 17 16:15 2025-10-20 16:15:00 0.255 0.255 0.125 0.117 0.232 18 16:30 2025-10-20 16:30:00 0.281 0.281 0.142 0.112 0.222 19 16:45 2025-10-20 16:45:00 0.308 0.308 0.131 0.096 0.191 20 17:00 2025-10-20 17:00:00 0.257 0.257 0.095 0.072 0.143 21 17:15 2025-10-20 17:15:00 0.279 0.279 0.084 0.057 0.112 22 17:30 2025-10-20 17:30:00 0.289 0.289 0.074 0.041 0.081 23 17:45 2025-10-20 17:45:00 0.300 0.300 0.082 0.029 0.058 24 18:00 2025-10-20 18:00:00 0.289 0.289 0.107 0.017 0.035 25 18:15 2025-10-20 18:15:00 0.292 0.292 0.115 0.006 0.011 26 18:30 2025-10-20 18:30:00 0.294 0.294 0.123 0.000 0.000 27 18:45 2025-10-20 18:45:00 0.279 0.279 0.117 0.000 0.000 28 19:00 2025-10-20 19:00:00 0.293 0.293 0.099 0.001 0.002 29 19:15 2025-10-20 19:15:00 0.274 0.274 0.093 0.000 0.000 30 19:30 2025-10-20 19:30:00 0.264 0.264 0.087 0.000 0.000 31 19:45 2025-10-20 19:45:00 0.252 0.252 0.092 0.000 0.000 32 20:00 2025-10-20 20:00:00 0.272 0.272 0.109 0.000 0.000 33 20:15 2025-10-20 20:15:00 0.245 0.245 0.114 0.000 0.000 34 20:30 2025-10-20 20:30:00 0.232 0.232 0.119 0.000 0.000 35 20:45 2025-10-20 20:45:00 0.229 0.229 0.107 0.000 0.000 36 21:00 2025-10-20 21:00:00 0.258 0.258 0.079 0.000 0.000 37 21:15 2025-10-20 21:15:00 0.253 0.253 0.067 0.000 0.000 38 21:30 2025-10-20 21:30:00 0.232 0.232 0.054 0.000 0.000 39 21:45 2025-10-20 21:45:00 0.213 0.213 0.050 0.000 0.000 40 22:00 2025-10-20 22:00:00 0.242 0.242 0.052 0.000 0.000 41 22:15 2025-10-20 22:15:00 0.226 0.226 0.047 0.000 0.000 42 22:30 2025-10-20 22:30:00 0.221 0.221 0.043 0.000 0.000 43 22:45 2025-10-20 22:45:00 0.208 0.208 0.038 0.000 0.000 44 23:00 2025-10-20 23:00:00 0.212 0.212 0.033 0.000 0.000 45 23:15 2025-10-20 23:15:00 0.216 0.216 0.028 0.000 0.000 46 23:30 2025-10-20 23:30:00 0.213 0.213 0.024 0.000 0.000 47 23:45 2025-10-20 23:45:00 0.196 0.196 0.019 0.000 0.000 2025-10-20 12:00:00 info: No reduced hours applied for Batterij 2025-10-20 12:00:00 info: Startwaarde SoC Batterij: 22.0% 2025-10-20 12:00:00 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-10-20 12:00:00 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-10-20 12:00:00 info: Strategie: minimale kosten 2025-10-20 12:00:00 info: Maximale fout (maximal gap): 0.005000 euro 2025-10-20 12:00:02 info: Rekentijd: 1.68 sec 2025-10-20 12:00:02 info: Het programma heeft een optimale oplossing gevonden. 2025-10-20 12:00:02 info: In- en uitgaande energie per kwartier batterij Batterij uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 12:00 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.05 12:15 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.11 12:30 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.17 12:45 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.24 13:00 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.30 13:15 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.38 13:30 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.45 13:45 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.56 14:00 0.00 -- 0.00 0.01 0.01 95.00 0.01 -- 22.70 14:15 -0.01 86.10 -0.02 0.02 0.00 -- 0.00 -- 22.70 14:30 -0.02 86.10 -0.02 0.02 0.00 -- 0.00 -- 22.70 14:45 -0.03 87.30 -0.03 0.03 0.00 -- 0.00 -- 22.70 15:00 -0.05 88.60 -0.05 0.05 0.00 -- 0.00 -- 22.70 15:15 -0.06 88.60 -0.06 0.06 0.00 -- 0.00 -- 22.70 15:30 -0.07 88.60 -0.08 0.08 0.00 -- 0.00 -- 22.70 15:45 -0.06 88.60 -0.07 0.07 0.00 -- 0.00 -- 22.70 16:00 -0.05 88.60 -0.06 0.06 0.00 -- 0.00 -- 22.70 16:15 -0.05 88.60 -0.06 0.06 0.00 -- 0.00 -- 22.70 16:30 -0.05 88.60 -0.06 0.06 0.00 -- 0.00 -- 22.70 16:45 -0.18 89.60 -0.21 0.05 -0.16 93.00 -0.17 108.69 21.01 17:00 -0.03 87.30 -0.04 0.04 0.00 -- 0.00 -- 21.01 17:15 -0.03 87.30 -0.03 0.03 -0.00 93.00 -0.00 3960.97 21.00 17:30 -0.02 86.10 -0.02 0.02 0.00 -- 0.00 -- 21.00 17:45 -0.01 86.10 -0.01 0.01 -0.00 93.00 -0.00 37881.14 21.00 18:00 -0.01 82.50 -0.01 0.01 0.00 -- 0.00 -- 21.00 18:15 -0.00 82.50 -0.00 0.00 0.00 -- 0.00 -- 21.00 18:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 18:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 19:00 -0.00 82.50 -0.00 0.00 0.00 -- 0.00 -- 21.00 19:15 -0.00 82.50 -0.00 0.00 0.00 -- 0.00 -- 21.00 19:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 19:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 20:15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 20:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 20:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 21:15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 21:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 21:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 22:15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 22:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 22:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 23:15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 23:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 23:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 21.00 Totaal -0.73 -- -0.82 0.74 -0.08 -- -0.10 -- 2025-10-20 12:00:08 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 12:00 0.00 0.00 0.00 0.05 -0.04 0.00 0.00 0.00 0.01 0.00 -0.01 20.00 12:15 0.00 0.00 0.00 0.04 -0.03 0.00 0.00 0.00 0.01 0.00 -0.01 20.00 12:30 0.00 0.00 0.00 0.04 -0.03 0.00 0.00 0.00 0.01 0.00 -0.01 20.00 12:45 0.00 0.00 0.00 0.04 -0.02 0.00 0.00 0.00 0.02 0.00 -0.01 20.00 13:00 0.00 0.00 0.00 0.03 -0.02 0.00 0.00 0.00 0.02 0.00 -0.01 20.00 13:15 0.00 0.00 0.00 0.03 -0.01 0.00 0.00 0.00 0.02 0.00 -0.01 20.00 13:30 0.00 0.00 0.00 0.03 -0.01 0.00 0.00 0.00 0.02 0.00 -0.01 20.00 13:45 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.03 0.00 -0.00 20.00 14:00 0.00 0.00 0.00 0.01 0.02 0.00 0.00 0.00 0.03 0.00 -0.00 20.00 14:15 0.00 0.01 0.00 0.02 0.04 0.00 0.00 0.00 0.04 0.00 -0.00 20.00 14:30 0.00 0.02 0.00 0.02 0.05 0.00 0.00 0.00 0.05 0.00 -0.00 20.00 14:45 0.00 0.03 0.00 0.05 0.05 0.00 0.00 0.00 0.08 0.00 -0.01 20.00 15:00 0.00 0.05 0.00 0.15 0.05 0.00 0.00 0.00 0.15 0.00 -0.03 20.00 15:15 0.00 0.06 0.00 0.20 0.05 0.00 0.00 0.00 0.20 0.00 -0.05 20.00 15:30 0.00 0.07 0.00 0.26 0.06 0.00 0.00 0.00 0.25 0.00 -0.07 20.00 15:45 0.00 0.06 0.00 0.26 0.07 0.00 0.00 0.00 0.27 0.00 -0.07 20.00 16:00 0.00 0.05 0.00 0.07 0.11 0.00 0.00 0.00 0.12 0.00 -0.02 20.00 16:15 0.00 0.05 0.00 0.04 0.12 0.00 0.00 0.00 0.12 0.00 -0.01 20.00 16:30 0.00 0.05 0.00 0.02 0.14 0.00 0.00 0.00 0.11 0.00 -0.01 20.00 16:45 0.00 0.18 0.00 0.15 0.13 0.00 0.00 0.00 0.10 0.00 -0.05 20.00 17:00 0.00 0.03 0.00 0.01 0.10 0.00 0.00 0.00 0.07 0.00 -0.00 20.00 17:15 0.00 0.03 0.00 0.00 0.08 0.00 0.00 0.00 0.06 0.00 -0.00 20.00 17:30 0.00 0.02 0.02 0.00 0.07 0.00 0.00 0.00 0.04 0.00 -0.00 20.00 17:45 0.00 0.01 0.04 0.00 0.08 0.00 0.00 0.00 0.03 0.01 -0.00 20.00 18:00 0.00 0.01 0.08 0.00 0.11 0.00 0.00 0.00 0.02 0.02 -0.00 20.00 18:15 0.00 0.00 0.11 0.00 0.12 0.00 0.00 0.00 0.01 0.03 -0.00 20.00 18:30 0.00 0.00 0.12 0.00 0.12 0.00 0.00 0.00 0.00 0.04 -0.00 20.00 18:45 0.00 0.00 0.12 0.00 0.12 0.00 0.00 0.00 0.00 0.03 -0.00 20.00 19:00 0.00 0.00 0.10 0.00 0.10 0.00 0.00 0.00 0.00 0.03 -0.00 20.00 19:15 0.00 0.00 0.09 0.00 0.09 0.00 0.00 0.00 0.00 0.03 -0.00 20.00 19:30 0.00 0.00 0.09 0.00 0.09 0.00 0.00 0.00 0.00 0.02 -0.00 20.00 19:45 0.00 0.00 0.09 0.00 0.09 0.00 0.00 0.00 0.00 0.02 -0.00 20.00 20:00 0.00 0.00 0.11 0.00 0.11 0.00 0.00 0.00 0.00 0.03 -0.00 20.00 20:15 0.00 0.00 0.11 0.00 0.11 0.00 0.00 0.00 0.00 0.03 -0.00 20.00 20:30 0.00 0.00 0.12 0.00 0.12 0.00 0.00 0.00 0.00 0.03 -0.00 20.00 20:45 0.00 0.00 0.11 0.00 0.11 0.00 0.00 0.00 0.00 0.02 -0.00 20.00 21:00 0.00 0.00 0.08 0.00 0.08 0.00 0.00 0.00 0.00 0.02 -0.00 20.00 21:15 0.00 0.00 0.07 0.00 0.07 0.00 0.00 0.00 0.00 0.02 -0.00 20.00 21:30 0.00 0.00 0.05 0.00 0.05 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 21:45 0.00 0.00 0.05 0.00 0.05 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 22:00 0.00 0.00 0.05 0.00 0.05 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 22:15 0.00 0.00 0.05 0.00 0.05 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 22:30 0.00 0.00 0.04 0.00 0.04 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 22:45 0.00 0.00 0.04 0.00 0.04 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 23:00 0.00 0.00 0.03 0.00 0.03 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 23:15 0.00 0.00 0.03 0.00 0.03 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 23:30 0.00 0.00 0.02 0.00 0.02 0.00 0.00 0.00 0.00 0.01 -0.00 20.00 23:45 0.00 0.00 0.02 0.00 0.02 0.00 0.00 0.00 0.00 0.00 -0.00 20.00 Totaal 0.00 0.73 1.84 1.53 2.89 0.00 0.00 0.00 1.85 0.47 -0.38 2025-10-20 12:00:08 info: Consumption 1.84 (kWh) 2025-10-20 12:00:08 info: Cost consumption 0.47 (€) 2025-10-20 12:00:08 info: Tariff consumption 0.258 (€/kWh) 2025-10-20 12:00:08 info: Production 1.53 (kWh) 2025-10-20 12:00:08 info: Profit production -0.38 (€) 2025-10-20 12:00:08 info: Tariff production 0.250 (€/kWh) 2025-10-20 12:00:08 info: Calculation profit after optimize in € Cost before optimize -0.38 Cost consumption 0.47 Profit production -0.38 Cycle cost 0.01 Battery storage 0.02 Boiler storage 0.00 Total 0.12 Cost after optimize 0.12 Profit: -0.49 2025-10-20 12:00:08 info: Doorzetten van alle settings naar HA 2025-10-20 12:00:08 info: Grid set point: -197.0 W 2025-10-20 12:00:08 info: Cycle cost Batterij: 0.01 euro 2025-10-20 12:00:08 info: Netto vermogen naar(+)/uit(-) omvormer Batterij: 0 W 2025-10-20 12:00:08 info: Balanceren: False 2025-10-20 12:00:08 info: Vermogen uit batterij: -21W 2025-10-20 12:00:08 info: Vermogen dat binnenkomt van pv: 21W 2025-10-20 12:00:08 info: Vermogen dat binnenkomt van ac: 0W 2025-10-20 12:00:08 info: Waarde SoC na eerste uur: 22.1%
Naast dat deze op mijn smartphone onbruikbaar is (ik denk soms een kleine tweak te maken, maar kan nooit goed scrollen in die JSON viewer), denk ik dat het bijvoorbeeld heel handig zou zijn als je suggesties krijgt wanneer je entiteiten op moet/kunt geven voor een bepaalde instelling (inclusief eventueel de suggestie om een nieuwe helper aan te maken die aan de verwachtingen van DAO voldoet).
De meeste fouten die ik zelf namelijk heb gemaakt kwamen doordat ik net niet helemaal goed had gelezen welke type/opties DAO verwacht voor een entiteit of doordat ik een tikfoutje maakte in de naam van een entiteit.
Ook andere handige features, zoals bijvoorbeeld het bepalen van de kwartierwaarden voor een machine op basis van historische data uit je HA instance zouden dan geintegreerd kunnen worden (heb hier nu een Python scriptje voor gemaakt.. zal binnenkort eens kijken of ik dit ergens kan delen).
Maar goed, helaas heb ik maar beperkte tijd 😅
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
| 2025-10-21 11:15:00 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
File "/root/dao/prog/da_base.py", line 623, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 561, in calc_optimum
dacalc.calc_optimum()
~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/day_ahead.py", line 93, in calc_optimum
price_data = report.get_price_data(
dt.datetime.fromtimestamp(start_hour), end=None, interval=self.interval
)
File "/root/dao/prog/da_report.py", line 2847, in get_price_data
end = datetime.datetime.strptime(df_da["time"].iloc[-1], "%Y-%m-%d %H:%M")
~~~~~~~~~~~~~~~~~~^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1192, in __getitem__
return self._getitem_axis(maybe_callable, axis=axis)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1753, in _getitem_axis
self._validate_integer(key, axis)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1686, in _validate_integer
raise IndexError("single positional indexer is out-of-bounds")
IndexError: single positional indexer is out-of-bounds
single positional indexer is out-of-bounds
[2025-10-21 11:29:48 +0200] [12] [CRITICAL] WORKER TIMEOUT (pid:22)
[2025-10-21 11:29:48 +0200] [22] [fout] Error handling request /
Traceback (most recent call last):
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/gunicorn/workers/sync.py", line 134, in handle
self.handle_request(listener, req, client, addr)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/gunicorn/workers/sync.py", line 177, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1536, in __call__
return self.wsgi_app(environ, start_response)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/root/dao/webserver/app/routes.py", line 213, in menu
return run_process()
File "/root/dao/webserver/app/routes.py", line 342, in run_process
proc = run(cmd, stdout=PIPE, stderr=PIPE)
File "/usr/lib/python3.13/subprocess.py", line 556, in run
stdout, stderr = process.communicate(input, timeout=timeout)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/subprocess.py", line 1222, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/subprocess.py", line 2128, in _communicate
ready = selector.select(timeout)
File "/usr/lib/python3.13/selectors.py", line 398, in select
fd_event_list = self._selector.poll(timeout)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/gunicorn/workers/base.py", line 204, in handle_abort
sys.exit(1)
~~~~~~~~^^^
SystemExit: 1 |
Fijn. Ik gebruik al een hele tijd DOCS.md en daar staat minder informatie in lijkt het? De Wiki is vele malen duidelijker. Ik kan weer even vooruitTorch1969 schreef op dinsdag 21 oktober 2025 @ 07:52:
[...]
Hoi @Animal we komen hier vast wel uit. Je bent al een heel eind, dus geef de moed niet op. Zou je ten eerste je post willen aanpassen en de code blokken ook nog tussen een quote blok willen opnemen? Dat scheelt de toevallige voorbijganger een hoop gescroll op het scherm
![]()
Je hebt geluk, de instellingen voor zonnepanelen en battery heb ik al uitgebreid beschreven in de wiki van DAO heb je daar ook naar gekeken?
De “rits aan foutmeldingen” is maar één foutmelding en is op “entity set operating mode”, degene waar jij geen idee hebt wat je moet invullen. In de wiki staat: “ Optioneel. Entiteit in HA waarmee je de omvormer aan/uit zet. Type "input_select" met minimaal opties "Aan" en "Uit". Hiermee kun je een automatisering triggeren die de benodigde acties uitvoert.”.
Deze entiteit is optioneel, dus als je hem niet nodig hebt, lekker weg laten, anders vullen met keuzes “Aan” en “Uit”.
De hoge pv opwek komt waarschijnlijk door een te hoge yield. Reken die nog eens goed na (staat ook duidelijk in de wiki). 5x een zelfde yield voor oost, west en zuid is sowieso verdacht. Heb je ook bewust de strings op Oost en West er 2 x in staan? Tip is om zoveel mogelijk gelijke dingen samen te voegen, dat scheelt DAO rekentijd. Dus die 2 op Oost samenvoegen en die 2 op West ook.
Bijna geen errors meer. Alleen een database error maar dat ligt aan de laatste python update duscode:
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 93Logging van bewerking "Optimaliseringsberekening zonder debug": 2025-10-21 12:48:57 info: Day Ahead Optimalisering versie: 2025.10.5.rc6 2025-10-21 12:48:57 info: Day Ahead Optimalisering gestart op: 21-10-2025 12:48:57 2025-10-21 12:48:57 info: Day Ahead Optimalisatie gestart: 21-10-2025 12:48:57 taak: calc_optimum 2025-10-21 12:48:57 info: Debug = False 2025-10-21 12:48:57 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt 2025-10-21 12:48:57 info: Baseload uit instellingen 2025-10-21 12:48:57 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 12:00 2025-10-21 12:00:00 0.205 0.205 0.310 0.405 0 1 13:00 2025-10-21 13:00:00 0.184 0.184 0.330 5.016 0 2 14:00 2025-10-21 14:00:00 0.186 0.186 0.330 3.385 0 3 15:00 2025-10-21 15:00:00 0.215 0.215 0.330 1.153 0 4 16:00 2025-10-21 16:00:00 0.230 0.230 0.330 1.388 0 5 17:00 2025-10-21 17:00:00 0.265 0.265 0.330 0.392 0 6 18:00 2025-10-21 18:00:00 0.292 0.292 0.330 0.039 0 7 19:00 2025-10-21 19:00:00 0.289 0.289 0.330 0.000 0 8 20:00 2025-10-21 20:00:00 0.269 0.269 0.320 0.000 0 9 21:00 2025-10-21 21:00:00 0.245 0.245 0.310 0.000 0 10 22:00 2025-10-21 22:00:00 0.245 0.245 0.310 0.000 0 11 23:00 2025-10-21 23:00:00 0.236 0.236 0.310 0.000 0 2025-10-21 12:48:58 info: No reduced hours applied for Marstek Venus-E 5.12kWh 2025-10-21 12:48:58 info: Startwaarde SoC Marstek Venus-E 5.12kWh: 12.0% 2025-10-21 12:48:58 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-10-21 12:48:58 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-10-21 12:48:58 info: Strategie: minimale kosten 2025-10-21 12:48:58 info: Maximale fout (maximal gap): 0.005000 euro 2025-10-21 12:48:59 info: Rekentijd: 0.07 sec 2025-10-21 12:48:59 info: Het programma heeft een optimale oplossing gevonden. 2025-10-21 12:48:59 info: In- en uitgaande energie per uur batterij Marstek Venus-E 5.12kWh uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 12:00 0.37 90.10 0.33 0.00 0.33 93.50 0.31 84.24 18.06 13:00 2.50 90.17 2.25 0.00 2.25 93.50 2.11 84.31 59.23 14:00 2.48 90.17 2.23 0.00 2.23 93.50 2.09 84.31 100.00 15:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 16:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 17:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 18:00 -2.18 99.28 -2.20 0.00 -2.20 93.50 -2.35 92.83 54.08 19:00 -2.00 99.28 -2.01 0.00 -2.01 93.50 -2.15 92.83 12.00 20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 21:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 22:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 23:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 12.00 Totaal 1.16 -- 0.61 0.00 0.61 -- 0.00 -- 2025-10-21 12:48:59 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 12:00 0.37 0.00 0.02 0.00 0.31 0.00 0.00 0.00 0.40 0.00 -0.00 20.00 13:00 2.50 0.00 0.00 2.19 0.33 0.00 0.00 0.00 5.02 0.00 -0.40 20.00 14:00 2.48 0.00 0.00 0.58 0.33 0.00 0.00 0.00 3.39 0.00 -0.11 20.00 15:00 0.00 0.00 0.00 0.82 0.33 0.00 0.00 0.00 1.15 0.00 -0.18 20.00 16:00 0.00 0.00 0.00 1.06 0.33 0.00 0.00 0.00 1.39 0.00 -0.24 20.00 17:00 0.00 0.00 0.00 0.06 0.33 0.00 0.00 0.00 0.39 0.00 -0.02 20.00 18:00 0.00 2.18 0.00 1.89 0.33 0.00 0.00 0.00 0.04 0.00 -0.55 20.00 19:00 0.00 2.00 0.00 1.67 0.33 0.00 0.00 0.00 0.00 0.00 -0.48 20.00 20:00 0.00 0.00 0.32 0.00 0.32 0.00 0.00 0.00 0.00 0.09 -0.00 20.00 21:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 22:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 23:00 0.00 0.00 0.31 0.00 0.31 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 Totaal 5.34 4.18 1.27 8.27 3.87 0.00 0.00 0.00 11.78 0.32 -1.98 2025-10-21 12:48:59 info: Consumption 1.27 (kWh) 2025-10-21 12:48:59 info: Cost consumption 0.32 (€) 2025-10-21 12:48:59 info: Tariff consumption 0.248 (€/kWh) 2025-10-21 12:48:59 info: Production 8.27 (kWh) 2025-10-21 12:48:59 info: Profit production -1.98 (€) 2025-10-21 12:48:59 info: Tariff production 0.240 (€/kWh) 2025-10-21 12:48:59 info: Calculation profit after optimize in € Cost before optimize -1.40 Cost consumption 0.32 Profit production -1.98 Cycle cost 0.05 Battery storage -0.00 Boiler storage 0.00 Total -1.62 Cost after optimize -1.62 Profit: 0.22 2025-10-21 12:48:59 info: Doorzetten van alle settings naar HA 2025-10-21 12:48:59 info: Grid set point: 111.0 W 2025-10-21 12:48:59 info: Cycle cost Marstek Venus-E 5.12kWh: 0.05 euro 2025-10-21 12:48:59 info: Netto vermogen naar(+)/uit(-) omvormer Marstek Venus-E 5.12kWh: 2000 W 2025-10-21 12:48:59 info: Balanceren: False 2025-10-21 12:48:59 info: Vermogen uit batterij: -1802W 2025-10-21 12:48:59 info: Vermogen dat binnenkomt van pv: 0W 2025-10-21 12:48:59 info: Vermogen dat binnenkomt van ac: 1802W 2025-10-21 12:48:59 info: Waarde SoC na eerste uur: 18.1% <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f530dbb48b0> <sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7f530e38ac50>
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at
[ Voor 64% gewijzigd door Animal op 21-10-2025 13:12 ]
Ondertussen DAO bijna helemaal geconfigureerd met de DOCS.md maar deze Wiki was ik ook nog niet tegengekomen. Die is inderdaad een pak duidelijker.Torch1969 schreef op dinsdag 21 oktober 2025 @ 07:52:
[...]
Hoi @Animal we komen hier vast wel uit. Je bent al een heel eind, dus geef de moed niet op. Zou je ten eerste je post willen aanpassen en de code blokken ook nog tussen een quote blok willen opnemen? Dat scheelt de toevallige voorbijganger een hoop gescroll op het scherm
![]()
Je hebt geluk, de instellingen voor zonnepanelen en battery heb ik al uitgebreid beschreven in de wiki van DAO heb je daar ook naar gekeken?
De “rits aan foutmeldingen” is maar één foutmelding en is op “entity set operating mode”, degene waar jij geen idee hebt wat je moet invullen. In de wiki staat: “ Optioneel. Entiteit in HA waarmee je de omvormer aan/uit zet. Type "input_select" met minimaal opties "Aan" en "Uit". Hiermee kun je een automatisering triggeren die de benodigde acties uitvoert.”.
Deze entiteit is optioneel, dus als je hem niet nodig hebt, lekker weg laten, anders vullen met keuzes “Aan” en “Uit”.
De hoge pv opwek komt waarschijnlijk door een te hoge yield. Reken die nog eens goed na (staat ook duidelijk in de wiki). 5x een zelfde yield voor oost, west en zuid is sowieso verdacht. Heb je ook bewust de strings op Oost en West er 2 x in staan? Tip is om zoveel mogelijk gelijke dingen samen te voegen, dat scheelt DAO rekentijd. Dus die 2 op Oost samenvoegen en die 2 op West ook.
Bedankt voor het maken en het delen @Torch1969 !
We hebben nu al (dis)charge stages, hier zou per item eigenlijk een min_soc bij moeten komen als voorwaarde. Ik denk even hardop hoe dat eruit zou kunnen zien:
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
| "discharge stages": [
{
"power": 0.0,
"efficiency": 1,
"min_soc": 0 (=default)
},
{
"power": 500.0,
"efficiency": 0.94
},
{
"power": 1000.0,
"efficiency": 0.95
},
{
"power": 4000.0,
"efficiency": 0.95,
"min_soc": 30
},
{
"power": 8000.0,
"efficiency": 0.93,
"min_soc": 50 (betekent dat 8kW discharge alleen kan bij een SoC > 50%)
}
] |
Geen idee of dit kan, maar ik zag gisteren dus een gewenste discharge van 10kW, maar de batterij kon maar maar 3kW output leveren.
En nog even een klein applausje voor KC27! Deze maand heb (so far) netto 112 kWh afgenomen en er toch 12,15 voor teruggekregen. Dat zijn de mooie sommetjes.
[ Voor 7% gewijzigd door storeman op 21-10-2025 16:39 ]
"Chaos kan niet uit de hand lopen"
Er klopt inderdaad iets niet.
Het lijkt erop dat de pv_dc tijdens de berekening wordt gereduceerd.
Ik kan er nu even niet naar kijken (laptop kapot ☹️), maar zodra die weer up en running is kom ik erop terug.
[ Voor 5% gewijzigd door KC27 op 21-10-2025 16:39 ]
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
String 1 Hoymiles micro omvormer >> met 4 inputs (2x noord oost en 2x oost west (zo'n dakje zeg maar).Torch1969 schreef op dinsdag 21 oktober 2025 @ 07:52:
[...]
Hoi @Animal we komen hier vast wel uit. Je bent al een heel eind, dus geef de moed niet op. Zou je ten eerste je post willen aanpassen en de code blokken ook nog tussen een quote blok willen opnemen? Dat scheelt de toevallige voorbijganger een hoop gescroll op het scherm
![]()
Je hebt geluk, de instellingen voor zonnepanelen en battery heb ik al uitgebreid beschreven in de wiki van DAO heb je daar ook naar gekeken?
De “rits aan foutmeldingen” is maar één foutmelding en is op “entity set operating mode”, degene waar jij geen idee hebt wat je moet invullen. In de wiki staat: “ Optioneel. Entiteit in HA waarmee je de omvormer aan/uit zet. Type "input_select" met minimaal opties "Aan" en "Uit". Hiermee kun je een automatisering triggeren die de benodigde acties uitvoert.”.
Deze entiteit is optioneel, dus als je hem niet nodig hebt, lekker weg laten, anders vullen met keuzes “Aan” en “Uit”.
De hoge pv opwek komt waarschijnlijk door een te hoge yield. Reken die nog eens goed na (staat ook duidelijk in de wiki). 5x een zelfde yield voor oost, west en zuid is sowieso verdacht. Heb je ook bewust de strings op Oost en West er 2 x in staan? Tip is om zoveel mogelijk gelijke dingen samen te voegen, dat scheelt DAO rekentijd. Dus die 2 op Oost samenvoegen en die 2 op West ook.
Ik heb de yield berekend voor elk zonnepaneel via de berekening (elk paneel van string 1 is 430wp)
String 2 Hoymiles micro omvormer >> is een paneel op zuid oost van 430wp
String 3 Hoymiles micro omvormer >> is een groter paneel op zuid west van 450wp
Mis ik iets?
De Wiki is nog niet compleet, is nog wat Work in progress voor de komende winterBBuilds schreef op dinsdag 21 oktober 2025 @ 12:52:
[...]
Ondertussen DAO bijna helemaal geconfigureerd met de DOCS.md maar deze Wiki was ik ook nog niet tegengekomen. Die is inderdaad een pak duidelijker.
Bedankt voor het maken en het delen @Torch1969 !
( 430Wp x 0,85 ) / 400.000 = 0,00091375Animal schreef op dinsdag 21 oktober 2025 @ 13:23:
[...]
String 1 Hoymiles micro omvormer >> met 4 inputs (2x noord oost en 2x oost west (zo'n dakje zeg maar).
Ik heb de yield berekend voor elk zonnepaneel via de berekening (elk paneel van string 1 is 430wp)
String 2 Hoymiles micro omvormer >> is een paneel op zuid oost van 430wp
String 3 Hoymiles micro omvormer >> is een groter paneel op zuid west van 450wp
Mis ik iets?
Ik zou die 2x430 Wp op noordoost gewoon bij elkaar optellen (dus 860 Wp met yield 0,0018275) en die van zuid west ook
[ Voor 10% gewijzigd door Torch1969 op 21-10-2025 18:44 ]
Ja, ik heb er ook wel eens over nagedacht. Alleen ben ik er technisch niet toe in staat om zoiets te maken. Misschien wel nadenken over hoe het zou kunnen werken.itavero schreef op dinsdag 21 oktober 2025 @ 09:50:
Het is dat ik al zoveel hobbyprojectjes heb, maar anders zou ik denk ik de configuratie UI een keer wat liefde geven.
Naast dat deze op mijn smartphone onbruikbaar is (ik denk soms een kleine tweak te maken, maar kan nooit goed scrollen in die JSON viewer), denk ik dat het bijvoorbeeld heel handig zou zijn als je suggesties krijgt wanneer je entiteiten op moet/kunt geven voor een bepaalde instelling (inclusief eventueel de suggestie om een nieuwe helper aan te maken die aan de verwachtingen van DAO voldoet).
De meeste fouten die ik zelf namelijk heb gemaakt kwamen doordat ik net niet helemaal goed had gelezen welke type/opties DAO verwacht voor een entiteit of doordat ik een tikfoutje maakte in de naam van een entiteit.
Ook andere handige features, zoals bijvoorbeeld het bepalen van de kwartierwaarden voor een machine op basis van historische data uit je HA instance zouden dan geintegreerd kunnen worden (heb hier nu een Python scriptje voor gemaakt.. zal binnenkort eens kijken of ik dit ergens kan delen).
Maar goed, helaas heb ik maar beperkte tijd 😅
Ik heb chatGPT laatst wel om raad gevraagd, en daar kwam wel iets nuttigs uit. Het zou nuttig zijn om de config aan te kunnen passen met een api maar ook via een flashy web interface. En dat beiden wegschrijven naar het zelfde bestand. Ofzoiets.
Super. De voorspelling lijkt een stuk beter te kloppen. Ik ga vavavond aan de slag om de helpers die ik gemaakt heb voor DAO te koppelen aan de lillygo esphome sensoren van mijn Marstek. Mocht iemand nog handige automations hebben of blueprints dan laat zeker weten.Torch1969 schreef op dinsdag 21 oktober 2025 @ 18:41:
[...]
( 430Wp x 0,85 ) / 400.000 = 0,00091375
Ik zou die 2x430 Wp op noordoost gewoon bij elkaar optellen (dus 860 Wp met yield 0,0018275) en die van zuid west ook
Edit: ik ga weer opnieuw starten
[ Voor 145% gewijzigd door Animal op 22-10-2025 18:56 ]
Begin eenvoudig, alleen de noodzakelijke entiteiten. Voor een Sessy thuisbatterij heb ik in feite alleen het power setpoint nodig (weet niet wat er bij Marstek nodig is). Ik heb de volgende configuratie:Animal schreef op woensdag 22 oktober 2025 @ 16:31:
[...]
Super. De voorspelling lijkt een stuk beter te kloppen. Ik ga vavavond aan de slag om de helpers die ik gemaakt heb voor DAO te koppelen aan de lillygo esphome sensoren van mijn Marstek. Mocht iemand nog handige automations hebben of blueprints dan laat zeker weten.
Edit: ik ga weer opnieuw starten
De helpers:
/f/image/2piPNGUJwqdZ7juXgNLLTk6S.png?f=fotoalbum_large)
En in een dashboard:
/f/image/7ePecnaA3nfuUjLuNY0r4n0w.png?f=fotoalbum_large)
En een automatisering die de setpoint helper doorzet naar het power setpoint van mijn Sessy en één die een balanceer automatisering aanzet.
Dankjewel! Ik heb bij mijn Marstek een setpoint voor charge en discharge. Maar mijn input_number.dao_set_power_feedin sensor kan nu zowel negatief als positief zijn.Torch1969 schreef op woensdag 22 oktober 2025 @ 20:10:
[...]
Begin eenvoudig, alleen de noodzakelijke entiteiten. Voor een Sessy thuisbatterij heb ik in feite alleen het power setpoint nodig (weet niet wat er bij Marstek nodig is). Ik heb de volgende configuratie:
De helpers:
[Afbeelding]
En in een dashboard:
[Afbeelding]
En een automatisering die de setpoint helper doorzet naar het power setpoint van mijn Sessy en één die een balanceer automatisering aanzet.
Zodra input_number.dao_set_power_feedin boven de nul komt dan moet de batterij op de charge stand komen
Zodra input_number.dao_set_power_feedin onder de nul is dan moet de batterij die waarde discharge
Dan maak je een automatisering die reageert op wijziging van input_number.dao_set_power_feedinAnimal schreef op woensdag 22 oktober 2025 @ 20:14:
[...]
Dankjewel! Ik heb bij mijn Marstek een setpoint voor charge en discharge. Maar mijn input_number.dao_set_power_feedin sensor kan nu zowel negatief als positief zijn.
Zodra input_number.dao_set_power_feedin boven de nul komt dan moet de batterij op de charge stand komen
Zodra input_number.dao_set_power_feedin onder de nul is dan moet de batterij die waarde discharge
In het actions deel maak je een "Kiezen" actie en daarbinnen maak je drie opties: input_number.dao_set_power_feedin > 0, dan als actie stel charge in (en zet discharge op 0?)
input_number.dao_set_power_feedin < 0, dan als actie stel discharge in (en zet charge op 0?)
input_number.dao_set_power_feedin = 0, dan als actie stel charge en discharge op 0 in.
Top! Al veel stappen verder. Ik heb nu de automation van @Mirabis aangehouden. Daarin worden ook keuzes gemaakt bij waarde boven of onder 0. De device ID's en entity id's heb ik aangepast.Torch1969 schreef op woensdag 22 oktober 2025 @ 20:20:
[...]
Dan maak je een automatisering die reageert op wijziging van input_number.dao_set_power_feedin
In het actions deel maak je een "Kiezen" actie en daarbinnen maak je drie opties: input_number.dao_set_power_feedin > 0, dan als actie stel charge in (en zet discharge op 0?)
input_number.dao_set_power_feedin < 0, dan als actie stel discharge in (en zet charge op 0?)
input_number.dao_set_power_feedin = 0, dan als actie stel charge en discharge op 0 in.
Dank zover!
Fijn, ga je de wekker op vannacht 4 uur zetten om te kijken of het werkt?Animal schreef op woensdag 22 oktober 2025 @ 21:00:
[...]
Top! Al veel stappen verder. Ik heb nu de automation van @Mirabis aangehouden. Daarin worden ook keuzes gemaakt bij waarde boven of onder 0. De device ID's en entity id's heb ik aangepast.
Dank zover!
/f/image/0RIrQz79aFzvzaJbDb0HQPrm.png?f=fotoalbum_large)
@KC27 er lijkt nog een foutje in de balkjes te zitten. Als de teruglevering accu in én teruglevering is (zie morgen 13u), dan is het oranje balkje (accu in) niet lang genoeg. (Versie 2025.10.4)
Ik kan bij reports>>morgen en bij accu in zien dat er om 5:00 2kWh geladen gaat worden.Torch1969 schreef op woensdag 22 oktober 2025 @ 21:24:
[...]
Fijn, ga je de wekker op vannacht 4 uur zetten om te kijken of het werkt?of plant DAO voor jou dan geen laadmomentje.
[Afbeelding]
@KC27 er lijkt nog een foutje in de balkjes te zitten. Als de teruglevering accu in én teruglevering is (zie morgen 13u), dan is het oranje balkje (accu in) niet lang genoeg. (Versie 2025.10.4)
Is een grafisch rapport pas te zien op de nieuwe dag(op de hoofdpagina?)
/f/image/PeqP9G16wsnpHUukimFBmMHJ.png?f=fotoalbum_large)
Ik zet de wekker!
Ja, home pagina selecteren en dan grafiek. En dan blader je eventueel naar de laatste optimalisatie berekening.Animal schreef op woensdag 22 oktober 2025 @ 21:28:
[...]
Ik kan bij reports>>morgen en bij accu in zien dat er om 5:00 2kWh geladen gaat worden.
Is een grafisch rapport pas te zien op de nieuwe dag(op de hoofdpagina?)
[...]
[Afbeelding]
Ik zet de wekker!
Dankje. Bij reports kan ik wel een prognose en plan vinden voor de volgende dag.Torch1969 schreef op woensdag 22 oktober 2025 @ 21:31:
[...]
Ja, home pagina selecteren en dan grafiek. En dan blader je eventueel naar de laatste optimalisatie berekening.
Bij home kan ik alleen het laatste rapport bekijken. Dit is gegenereerd op 22-10-2025 om 21:00 (toen day ahead prijzen etc al bekend waren).
Moet ik de grafiek interpreteren alsof hij voor morgen is? Dus komende uren en vanaf links voor na 0:00?
Niet home maar Reports en dan grafiek en dan morgen selecteren. Wekker staat om 5:00. bedankt voor alle hulp!
[ Voor 11% gewijzigd door Animal op 22-10-2025 21:57 ]
Klopt, links is eerstvolgende uur en loopt zo door naar rechts tot zover de uurprijzen bekend zijn (uren staan er ook onder). Elk uur dat er een nieuwe berekening wordt gemaakt een nieuwe grafiek met een uur minder (links eraf) en om 13u komen er weer 24 uur bij voor de volgende dag aan de rechterkant.Animal schreef op woensdag 22 oktober 2025 @ 21:51:
[...]
Dankje. Bij reports kan ik wel een prognose en plan vinden voor de volgende dag.
Bij home kan ik alleen het laatste rapport bekijken. Dit is gegenereerd op 22-10-2025 om 21:00 (toen day ahead prijzen etc al bekend waren).
Moet ik de grafiek interpreteren alsof hij voor morgen is? Dus komende uren en vanaf links voor na 0:00?
Ik heb het over deze:Animal schreef op woensdag 22 oktober 2025 @ 21:51:
[...]
Dankje. Bij reports kan ik wel een prognose en plan vinden voor de volgende dag.
Bij home kan ik alleen het laatste rapport bekijken. Dit is gegenereerd op 22-10-2025 om 21:00 (toen day ahead prijzen etc al bekend waren).
Moet ik de grafiek interpreteren alsof hij voor morgen is? Dus komende uren en vanaf links voor na 0:00?
Niet home maar Reports en dan grafiek en dan morgen selecteren. Wekker staat om 5:00. bedankt voor alle hulp!
Maar dan zou dus de 21:00 balk hetzelfde moeten zijn? (levering is een klein beetje minder bij de linker 21:00 uur)Torch1969 schreef op woensdag 22 oktober 2025 @ 21:57:
[...]
Klopt, links is eerstvolgende uur en loopt zo door naar rechts tot zover de uurprijzen bekend zijn (uren staan er ook onder). Elk uur dat er een nieuwe berekening wordt gemaakt een nieuwe grafiek met een uur minder (links eraf) en om 13u komen er weer 24 uur bij voor de volgende dag aan de rechterkant.
Of is heel deze grafiek voor morgen en niet voor vandaag?
Overigens kan ik bij Reports>>grafiek wel morgen kiezen en de hele dag bekijken. Maar misschien interpreteer ik de grafiek bij Home niet goed
[ Voor 11% gewijzigd door Animal op 22-10-2025 22:04 ]
Ik zie het.Torch1969 schreef op woensdag 22 oktober 2025 @ 21:24:
[...]
Fijn, ga je de wekker op vannacht 4 uur zetten om te kijken of het werkt?of plant DAO voor jou dan geen laadmomentje.
[Afbeelding]
@KC27 er lijkt nog een foutje in de balkjes te zitten. Als de teruglevering accu in én teruglevering is (zie morgen 13u), dan is het oranje balkje (accu in) niet lang genoeg. (Versie 2025.10.4)
Ik ga ernaar kijken.
Dank voor de tip!
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
entity set operating mode string Optioneel. Entiteit in HA waarmee je de omvormer aan/uit zet. Type "input_select" met minimaal opties "Aan" en "Uit". Hiermee kun je een automatisering triggeren die de benodigde acties uitvoert.
Ik zou graag willen dat de operating mode mijn zendure settings kan aanpassen, dus "aan" zou moeten worden "handmatig" en "uit" "standby". Vanwege het "minimaal opties" dacht ik dat dit te configureren of te mappen was. Of moet ik gewoon een automatisering laten kijken naar de DAO waardes en ze omzetten?
Edit: in de source gevonden dat het wel letterlijk Aan en Uit moeten zijn. Het zou heel tof zijn om in de config een mapping te kunnen opgeven, dan kan de batterij rechtstreeks worden aangestuurd.
dus zoiets als:
"entity set operating mode": "input_select.dao_zendure_operating_mode",
"entity set operating mode on": "Aan",
"entity set operating mode off": "Uit",
Zodat ik ze kan aanpassen.
[ Voor 25% gewijzigd door CopyCatz op 22-10-2025 22:58 ]
Gelukkig werkt mijn laptop weer
Ik heb de fout gevonden en gerepareerd (iets met kwartieren
Wordt in de volgende versie opgeleverd!
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
Links is 21u vandaag, rechts is 21u morgen. Dus grafiek is voor resterende uren van vandaag en heel morgen. Ik vermoed dat het balkje bij vandaag wat korter is omdat dit de grafiek is van een berekening van iets na 21u? Dan berekent DAO maar voor het resterende deel van dat uur, en dat is dus wat minder dan voor een heel uur….Animal schreef op woensdag 22 oktober 2025 @ 22:01:
[...]
Maar dan zou dus de 21:00 balk hetzelfde moeten zijn? (levering is een klein beetje minder bij de linker 21:00 uur)
Of is heel deze grafiek voor morgen en niet voor vandaag?
Overigens kan ik bij Reports>>grafiek wel morgen kiezen en de hele dag bekijken. Maar misschien interpreteer ik de grafiek bij Home niet goed
[Afbeelding]
Je kunt twee dingen in HA doen:CopyCatz schreef op woensdag 22 oktober 2025 @ 22:15:
@KC27 Hoe moet ik deze setting interpreteren?
entity set operating mode string Optioneel. Entiteit in HA waarmee je de omvormer aan/uit zet. Type "input_select" met minimaal opties "Aan" en "Uit". Hiermee kun je een automatisering triggeren die de benodigde acties uitvoert.
Ik zou graag willen dat de operating mode mijn zendure settings kan aanpassen, dus "aan" zou moeten worden "handmatig" en "uit" "standby". Vanwege het "minimaal opties" dacht ik dat dit te configureren of te mappen was. Of moet ik gewoon een automatisering laten kijken naar de DAO waardes en ze omzetten?
- een input_select maken met de opties "Aan" en "Uit" en daar een automation aanhangen,die dat vertaalt naar jouw instellingen en deze doorzet naar jouw batterij
- de "entity set operating mode" helemaal weglaten in de settings en uit de waarde van de entity die je opgeeft bij "entity set power feedin" bepalen of je de omvormer naar "handmatig" (als waarde <>0) of "standby" (als waarde = 0) moet zetten.
mappings klinkt leuk, maar is nu even te veel werk. Ik zet het op het to-do lijstje.
Maar als jij tijd over hebt, "be my guest" : maak een fork, pas het aan en dien een Pull Request in.
[ Voor 7% gewijzigd door KC27 op 22-10-2025 23:04 ]
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
Had het al gezien, thanks. Zie mijn edit hierboven.KC27 schreef op woensdag 22 oktober 2025 @ 22:59:
[...]
Je kunt twee dingen in HA doen:
- een input_select maken met de opties "Aan" en "Uit" en daar een automation aanhangen,die dat vertaalt naar jouw instellingen en deze doorzet naar jouw batterij
- de "entity set operating mode" helemaal weglaten in de settings en uit de waarde van de entity die je opgeeft bij "entity set power feedin" bepalen of je de omvormer naar "handmatig" (als waarde <>0) of "standby" (als waarde = 0) moet zetten.