• Animal
  • Registratie: Maart 2002
  • Laatst online: 04-12 21:49
Zojuist ook mijn vaatwasser, droger en wasmachine in DAO gezet.
DAO geeft keurig een calculated tijd aan (binnen de door mij gestelde time window, die ik trigger naar een switchbot.

Wat een prachtige software! Complimenten!

Is de log ergens nog terug te kijken. De log die je ziet na een run(zonder debug)?
Animal schreef op woensdag 22 oktober 2025 @ 23:50:
Zojuist ook mijn vaatwasser, droger en wasmachine in DAO gezet.
DAO geeft keurig een calculated tijd aan (binnen de door mij gestelde time window, die ik trigger naar een switchbot.

Wat een prachtige software! Complimenten!

Is de log ergens nog terug te kijken. De log die je ziet na een run(zonder debug)?
Ja, via Home en dan Tabel (naast Grafiek).
Daar kun je ook door bladeren met de "pijltjes".

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


  • CopyCatz
  • Registratie: September 2000
  • Laatst online: 00:08
KC27 schreef op woensdag 22 oktober 2025 @ 22:59:
[...]

Edit:
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.
Done :) Hoe werkt het eigenlijk met testen? Ik gebruik dan mijn eigen fork om als addon in HA te zetten, blijven de gegevens bewaard als ik overschrijf?

[ Voor 18% gewijzigd door CopyCatz op 23-10-2025 09:19 ]


  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 06:54
Is het trouwens nodig om elk kwartier een nieuw plan te maken? Of geeft DAO de nieuwe instellingen door aan Home Assistant na elk kwartier?

  • Animal
  • Registratie: Maart 2002
  • Laatst online: 04-12 21:49
Wasmachine ging om 5 uur aan. Batterij werd geladen. helemaal top!

Nu kwam ik het volgende tegen.

Ik heb vandaag om 11:50 een time window aangegeven voor de droger. Namelijk tussen 12:00 en 17:00.
DAO heeft om 12:00 de calculated time aangepast naar 12:00. Alleen miste home assistant automation deze trigger. Iemand een verklaring? Toen ik de calculated start handmatig aanpaste naar 12:05 werkte de trigger wel

[ Voor 60% gewijzigd door Animal op 23-10-2025 12:40 ]


  • storeman
  • Registratie: April 2004
  • Laatst online: 06-12 00:11
Deikke schreef op donderdag 23 oktober 2025 @ 12:10:
Is het trouwens nodig om elk kwartier een nieuw plan te maken? Of geeft DAO de nieuwe instellingen door aan Home Assistant na elk kwartier?
Jazeker! DAO probeert de realiteit te modelleren, maar we weten zeker dat de realiteit anders is dan het model. Dus je wil elk kwartier actualiseren. DAO geeft updates alleen door na een run, geplande waardes worden dus niet doorgezet zonder run.

"Chaos kan niet uit de hand lopen"


  • Animal
  • Registratie: Maart 2002
  • Laatst online: 04-12 21:49
Door een CSV export te maken vanuit Home assistant van mijn energy entity (vannacht tussen 5:00 en 8:00) heb ik Claude dit overzicht laten maken.
Handig om je machines te definiëren in DAO

Afbeeldingslocatie: https://tweakers.net/i/Pi5rxmIjZU8V6-LPn_bAauXHf44=/800x/filters:strip_exif()/f/image/AEuxjAqAQ6k6aKwWcxU8Rmdg.png?f=fotoalbum_large

Dan wordt het dus:
code:
1
2
3
4
5
6
7
"machines" : [
      { "name": "wasmachine",
        "programs":[
          {"name": "off",
           "power": []},
          {"name": "Stand D 40 graden",
           "power": [405, 1782, 398, 158, 142, 123, 104, 253]

[ Voor 20% gewijzigd door Animal op 23-10-2025 12:53 ]


  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 06:54
storeman schreef op donderdag 23 oktober 2025 @ 12:21:
[...]


Jazeker! DAO probeert de realiteit te modelleren, maar we weten zeker dat de realiteit anders is dan het model. Dus je wil elk kwartier actualiseren. DAO geeft updates alleen door na een run, geplande waardes worden dus niet doorgezet zonder run.
Ja, maar die realiteit veranderd toch niet elk kwartier? Hoogstens is de SOC van de batterij een paar procentjes veranderd (naar verwachting). Prijzen veranderen 1x per dag en meteo gegevens worden 4x per dag ververst. Met uurprijzen werd er ook 1x per uur een nieuw plan getrokken.

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 15:14
Animal schreef op donderdag 23 oktober 2025 @ 12:11:
Wasmachine ging om 5 uur aan. Batterij werd geladen. helemaal top!

Nu kwam ik het volgende tegen.

Ik heb vandaag om 11:50 een time window aangegeven voor de droger. Namelijk tussen 12:00 en 17:00.
DAO heeft om 12:00 de calculated time aangepast naar 12:00. Alleen miste home assistant automation deze trigger. Iemand een verklaring? Toen ik de calculated start handmatig aanpaste naar 12:05 werkte de trigger wel
Misschien een offset van een minuut toevoegen aan je HA trigger?
Dan kan DOA nooit de huidige minuut missen.

  • storeman
  • Registratie: April 2004
  • Laatst online: 06-12 00:11
Deikke schreef op donderdag 23 oktober 2025 @ 13:16:
[...]

Ja, maar die realiteit veranderd toch niet elk kwartier? Hoogstens is de SOC van de batterij een paar procentjes veranderd (naar verwachting). Prijzen veranderen 1x per dag en meteo gegevens worden 4x per dag ververst. Met uurprijzen werd er ook 1x per uur een nieuw plan getrokken.
De SoC zal inderdaad de grootste variabele zijn, nu de meeste nog salderen en dus de accu meer als verdien-model hebben dan als netontlasting, zal dat nog meevallen. Als straks het salderen eraf is en er dus veel meer NOM gedraaid wordt, dan is die SoC nog belangrijker. Ook de meteo-gegevens, en dan met name de pv-opbrengsten, wijzigen ook gedurende de dag.

Verder, wat is het probleem van een keertje rekenen?

"Chaos kan niet uit de hand lopen"


  • Gameboy
  • Registratie: April 2000
  • Laatst online: 06-12 17:03
Animal schreef op donderdag 23 oktober 2025 @ 12:11:
Wasmachine ging om 5 uur aan. Batterij werd geladen. helemaal top!

Nu kwam ik het volgende tegen.

Ik heb vandaag om 11:50 een time window aangegeven voor de droger. Namelijk tussen 12:00 en 17:00.
DAO heeft om 12:00 de calculated time aangepast naar 12:00. Alleen miste home assistant automation deze trigger. Iemand een verklaring? Toen ik de calculated start handmatig aanpaste naar 12:05 werkte de trigger wel
HomeAssistant's time-triggers "triggeren" alleen op de exacte opgegeven tijd (de aanvang van de seconde). Dus als een ander proces eerst een trigger-tijd moet instellen (hoe kort ook), dan is die trigger-tijd in HA al voorbij, en zal die flow dus niet worden uitgevoerd.

Als je iets wilt triggeren in HA op een tijd, dan zul je moeten waarborgen dat het proces wat die trigger-tijd instelt, klaar is vòòr die in te stellen trigger-tijd.

[ Voor 8% gewijzigd door Gameboy op 24-10-2025 08:28 ]

6x 405 Wp Oost, 6x 405 Wp West | Zonneplan Day-Ahead | 1x Sessy 5 kWh


  • simnet
  • Registratie: Januari 2020
  • Laatst online: 06-12 23:45
Bugje:
Dao lijkt een issue te hebben met de scheduler als HomeAssistant API niet bereikbaar is. Ik kan het niet helemaal beoordelen; maar het volgende zie ik in de logging van de container terug:

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
Oct 23 05:50:25 hass systemd[1]: Started podman-dao.service.
Oct 23 05:50:25 hass podman-dao-start[467]: e3c8cd35de29fe2d8819b8bdaa6761dde338e0140e1233894da5b01c61167f75
Oct 23 05:50:25 hass dao[562]: => directory dao_data exist
Oct 23 05:50:25 hass dao[562]: => /root/dao/data doesn't exist, made
Oct 23 05:50:25 hass dao[562]: => /root/dao/webserver/app/static/data exist
Oct 23 05:50:28 hass dao[562]: Setting up watches.
Oct 23 05:50:28 hass dao[562]: Watches established.
Oct 23 05:50:29 hass dao[562]: [2025-10-23 05:50:29 +0200] [25] [INFO] Starting gunicorn 23.0.0
Oct 23 05:50:29 hass dao[562]: [2025-10-23 05:50:29 +0200] [25] [INFO] Listening at: http://0.0.0.0:5001 (25)
Oct 23 05:50:29 hass dao[562]: [2025-10-23 05:50:29 +0200] [25] [INFO] Using worker: sync
Oct 23 05:50:29 hass dao[562]: [2025-10-23 05:50:29 +0200] [67] [INFO] Booting worker with pid: 67
Oct 23 05:50:29 hass dao[562]: [2025-10-23 05:50:29 +0200] [68] [INFO] Booting worker with pid: 68
Oct 23 05:50:30 hass dao[562]: Traceback (most recent call last):
Oct 23 05:50:30 hass dao[562]:   File "/root/dao/prog/da_scheduler.py", line 64, in <module>
Oct 23 05:50:30 hass dao[562]:     main()
Oct 23 05:50:30 hass dao[562]:     ~~~~^^
Oct 23 05:50:30 hass dao[562]:   File "/root/dao/prog/da_scheduler.py", line 59, in main
Oct 23 05:50:30 hass dao[562]:     da_sched = DaScheduler("../data/options.json")
Oct 23 05:50:30 hass dao[562]:   File "/root/dao/prog/da_scheduler.py", line 9, in __init__
Oct 23 05:50:30 hass dao[562]:     super().__init__(file_name)
Oct 23 05:50:30 hass dao[562]:     ~~~~~~~~~~~~~~~~^^^^^^^^^^^
Oct 23 05:50:30 hass dao[562]:   File "/root/dao/prog/da_base.py", line 106, in __init__
Oct 23 05:50:30 hass dao[562]:     super().__init__(hassurl=self.hassurl, token=self.hasstoken)
Oct 23 05:50:30 hass dao[562]:     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 23 05:50:30 hass dao[562]:   File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 36, in __init__
Oct 23 05:50:30 hass dao[562]:     self._assert_api_running()
Oct 23 05:50:30 hass dao[562]:     ~~~~~~~~~~~~~~~~~~~~~~~~^^
Oct 23 05:50:30 hass dao[562]:   File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 41, in _assert_api>
Oct 23 05:50:30 hass dao[562]:     raise ClientError("Home Assistant API is not running.")
Oct 23 05:50:30 hass dao[562]: hassapi.exceptions.ClientError: Home Assistant API is not running.
Oct 23 14:41:34 hass dao[562]: ../data/options.json MODIFY
Oct 23 14:41:34 hass dao[562]: ./watchdog.sh: line 6: kill: (27) - No such process
Oct 23 14:41:34 hass dao[562]: Setting up watches.
Oct 23 14:41:34 hass dao[562]: Watches established.


Vervolgens lijkt de scheduler te crashen. Sinds 05:45 is er ook geen enkele actie meer geweest vanuit dao.
Het saven van de config zorgt er voor dat de watchdog de scheduler herstart. Daardoor gaat ie ook weer werken.

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 06-12 19:42

Bravo

Second Best

Deikke schreef op donderdag 23 oktober 2025 @ 12:10:
Is het trouwens nodig om elk kwartier een nieuw plan te maken? Of geeft DAO de nieuwe instellingen door aan Home Assistant na elk kwartier?
DAO geeft de instellingen door aan HA na het maken van het nieuwe plan. Er is nog geen functie om zonder het maken van een optimalisatie de instellingen van het nieuwe kwartier aan HA te sturen, dus ook voor een wijziging van de parameters in HA is een run nodig.

Zoals anderen al aangeven is het ook handig om regelmatig een nieuwe optimalisatie berekening te doen, om zo de afwijkingen ten opzichte van de planning mee te kunnen nemen.
Je hebt de inputs die een of een paar keer per dag wijzigen (prijs, meteo), maar ook je interne zaken zoals verbruik/huisload (nooit gelijk aan berekende of ingegeven load), pv opwek (is nooit gelijk aan meteo forecast), verwarming (wordt indirect gestuurd, dus afwijking), boiler (douche/bad wordt niet gepland waardoor temperatuur ondergrens eerder bereikt kan worden) en daardoor andere SOC-waarden van de batterij.
Machines heb ik buiten beschouwing gelaten wegens de 'instant start' functie.

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


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Gameboy schreef op donderdag 23 oktober 2025 @ 13:32:
[...]


HomeAssistant's time-triggers "triggeren" alleen op de exacte opgegeven tijd (de aanvang dan de seconde). Dus als een ander proces eerst een trigger-tijd moet instellen (hoe kort ook), dan is die trigger-tijd in HA al voorbij, en zal die flow dus niet worden uitgevoerd.

Als je iets wilt triggeren in HA op een tijd, dan zul je moeten waarborgen dat het proces wat die trigger-tijd instelt, klaar is vòòr die in te stellen trigger-tijd.
DAO triggert niet iets in home assistant door middel van een tijd, maar schakelt een gekoppelde helper en via die helper de benodigde actie op een device. Of ik begrijp je niet goed?

  • Gameboy
  • Registratie: April 2000
  • Laatst online: 06-12 17:03
Torch1969 schreef op donderdag 23 oktober 2025 @ 16:59:
[...]

DAO triggert niet iets in home assistant door middel van een tijd, maar schakelt een gekoppelde helper en via die helper de benodigde actie op een device. Of ik begrijp je niet goed?
Het is goed mogelijk dat ik je opmerking niet correct heb geïnterpreteerd ;) Kun je de code van de HA trigger vermelden? En die van de helper die je gebruikt? En hoe dat door DAO wordt gebruikt?

6x 405 Wp Oost, 6x 405 Wp West | Zonneplan Day-Ahead | 1x Sessy 5 kWh


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Gameboy schreef op donderdag 23 oktober 2025 @ 17:29:
[...]


Het is goed mogelijk dat ik je opmerking niet correct heb geïnterpreteerd ;) Kun je de code van de HA trigger vermelden? En die van de helper die je gebruikt? En hoe dat door DAO wordt gebruikt?
De opzet is als volgt:
DAO -> configuratie-item -> | -> HA entiteit/helper -> automatisering -> Device

Bijvoorbeeld (zie mijn een stukje terug)
DAO -> entity_set_power_feedin -> | -> input_number.dao_sessy_dllu_set_power_feedin -> automatisering -> number.sessy_dllu_power_setpoint
Waarin de automatisering bij wijziging van input_number.dao_sessy_dllu_set_power_feedin de waarde doorzet naar number.sessy_dllu_power_setpoint. Dat is de daadwerkelijke entiteit die de accu aan het laden of leveren set met het door DAO berekende wattage.

DAO doet uit zichzelf niets. Die moet je eerst een duw geven (via een operatie in de scheduler). Elke keer dat je dat doet, bekijkt DAO hoe de zaken ervoor staan (prijzen, zonvoorspelling, in DAO geplande acties, actuele SOC, baseload etc.) en berekent dan vanuit die actuele situatie de optimale strategie voor de komende kwartieren of uren (tot zover prijzen bekend zijn). Als laatste geeft DAO dan aan alle geconfigureerde gekoppelde HA entiteiten door wat er op dat moment moet gebeuren. Dit blijft dan de status totdat DAO de volgende operatie moet doen, en dan begint dit riedeltje opnieuw.

Daarom is het dus ook belangrijk om, als je kwartierprijzen hebt, elk kwartier deze optimalisatie berekening te doen, want die zorgt ervoor dat de juiste acties voor dat kwartier (voortkomend uit de prijs) worden gestart.

Ikzelf heb nog uurprijzen en doe deze berekening gewoon per uur.

[ Voor 9% gewijzigd door Torch1969 op 23-10-2025 18:30 ]


  • Gameboy
  • Registratie: April 2000
  • Laatst online: 06-12 17:03
Torch1969 schreef op donderdag 23 oktober 2025 @ 18:25:
[...]

De opzet is als volgt:
DAO -> configuratie-item -> | -> HA entiteit/helper -> automatisering -> Device

Bijvoorbeeld (zie mijn een stukje terug)
DAO -> entity_set_power_feedin -> | -> input_number.dao_sessy_dllu_set_power_feedin -> automatisering -> number.sessy_dllu_power_setpoint
Waarin de automatisering bij wijziging van input_number.dao_sessy_dllu_set_power_feedin de waarde doorzet naar number.sessy_dllu_power_setpoint. Dat is de daadwerkelijke entiteit die de accu aan het laden of leveren set met het door DAO berekende wattage.

DAO doet uit zichzelf niets. Die moet je eerst een duw geven (via een operatie in de scheduler). Elke keer dat je dat doet, bekijkt DAO hoe de zaken ervoor staan (prijzen, zonvoorspelling, in DAO geplande acties, actuele SOC, baseload etc.) en berekent dan vanuit die actuele situatie de optimale strategie voor de komende kwartieren of uren (tot zover prijzen bekend zijn). Als laatste geeft DAO dan aan alle geconfigureerde gekoppelde HA entiteiten door wat er op dat moment moet gebeuren. Dit blijft dan de status totdat DAO de volgende operatie moet doen, en dan begint dit riedeltje opnieuw.

Daarom is het dus ook belangrijk om, als je kwartierprijzen hebt, elk kwartier deze optimalisatie berekening te doen, want die zorgt ervoor dat de juiste acties voor dat kwartier (voortkomend uit de prijs) worden gestart.

Ikzelf heb nog uurprijzen en doe deze berekening gewoon per uur.
Ok, en hoe ziet die automatisering eruit? Wat is daarvan de trigger? Want je zei dat die niet getriggerd was...

6x 405 Wp Oost, 6x 405 Wp West | Zonneplan Day-Ahead | 1x Sessy 5 kWh

CopyCatz schreef op donderdag 23 oktober 2025 @ 01:15:
[...]


Done :) Hoe werkt het eigenlijk met testen? Ik gebruik dan mijn eigen fork om als addon in HA te zetten, blijven de gegevens bewaard als ik overschrijf?
Ik zal vanavond jouw PR goedkeuren en dan neem ik hem mee (samen met andere verbeteringen) naar een nieuwe testversie. Die kun je dan testen.

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


  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 06-12 19:42

Bravo

Second Best

Gameboy schreef op donderdag 23 oktober 2025 @ 18:37:
[...]


Ok, en hoe ziet die automatisering eruit? Wat is daarvan de trigger? Want je zei dat die niet getriggerd was...
In HA kunnen twee soorten entiteiten worden aangestuurd door DAO:
1. Getalwaarden voor entiteiten zoals ontlaadsnelheid etc
2. Tijd/kalenderwaarden voor start/stop momenten, zoals de start van een machine.

Als je een getal stuurt, kan dit als trigger worden gebruikt in een automation, die direct dat getal zal gebruiken. @Torch1969 heeft daar net een mooi voorbeeld voor gegeven.
Als je een kalender/tijd waarde stuurt, is dit vaak niet het moment dat er direct geacteerd moeten worden door een automation. Je bouwt in HA zelf een automation die als het passeren van het genoemde moment gebruikt om te starten.

Nadeel is alleen (en dat is volgens mij de case die door @Gameboy wordt beschreven) is dat als DAO een tijdstip stuurt die nu is, terwijl die daarvoor verder in de toekomst lag. Bijvoorbeeld dat hij om 20.00 uur doorgeeft dat een machine om 20.00 uur moet starten, terwijl deze eerder op 20.30 uur gepland stond.
Tegen de tijd dat die waarde in HA is opgenomen (run van 20.00 + rekentijd DAO + instellen entities in HA), is dat moment (20.00 uur exact, op de seconde nauwkeurig) verstreken en wordt de automation niet getriggerd in HA.

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

Bravo schreef op donderdag 23 oktober 2025 @ 19:50:
[...]

In HA kunnen twee soorten entiteiten worden aangestuurd door DAO:
1. Getalwaarden voor entiteiten zoals ontlaadsnelheid etc
2. Tijd/kalenderwaarden voor start/stop momenten, zoals de start van een machine.

Als je een getal stuurt, kan dit als trigger worden gebruikt in een automation, die direct dat getal zal gebruiken. @Torch1969 heeft daar net een mooi voorbeeld voor gegeven.
Als je een kalender/tijd waarde stuurt, is dit vaak niet het moment dat er direct geacteerd moeten worden door een automation. Je bouwt in HA zelf een automation die als het passeren van het genoemde moment gebruikt om te starten.

Nadeel is alleen (en dat is volgens mij de case die door @Gameboy wordt beschreven) is dat als DAO een tijdstip stuurt die nu is, terwijl die daarvoor verder in de toekomst lag. Bijvoorbeeld dat hij om 20.00 uur doorgeeft dat een machine om 20.00 uur moet starten, terwijl deze eerder op 20.30 uur gepland stond.
Tegen de tijd dat die waarde in HA is opgenomen (run van 20.00 + rekentijd DAO + instellen entities in HA), is dat moment (20.00 uur exact, op de seconde nauwkeurig) verstreken en wordt de automation niet getriggerd in HA.
Dat klinkt heel aannemelijk. Ik vermoed dat het alleen voorkomt bij het starten van machines en de boiler.
In dat geval zou daar door DAO niet 20:00 uur gecommuniceerd moeten worden, maar 20:00 uur plus de verstreken tijd plus nog ca 5 seconden extra verwerking en trigger tijd.
Klinkt dat werkbaar?

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


  • Impossibl3
  • Registratie: November 2012
  • Laatst online: 17:10
Ik vroeg mij af hoe wordt door DAO nu de hysterese bepaald bij het plannen van de warmtepomp? In bijgevoegd figuur zie je de hysterese op en neer gaan en de prijs volgens DAO. De flinke daling in hysterese bij een prijs van €0,25 cent (ex belastingen etc) snap ik. Maar dezelfde wisselingen zie ik als de prijs veel minder scheelt tov de goedkoopste momenten. Zeker op dinsdag had ik de schommeling minder verwacht. Kan mij nog voorstellen dat op de andere dagen er een buffer wordt "opgebouwd" waarna die "leeg loopt" bij het €0,25+ moment en vervolgens weer "aangevuld" wordt.

Het gedrag zal aan de adjustment factor liggen maar ik snap niet helemaal de logica daarvan. Ook niet met de uitleg in de DOCS.
adjustment factor: float K/10% Het aantal graden voor de verschuiving van de stooklijn als de actuele da prijs 10% afwijkt van het daggemiddelde (niet voor on/off warmtepomp).
Afbeeldingslocatie: https://tweakers.net/i/qmBo6lvDwFTMFSkftqIBPQFOsc4=/800x/filters:strip_icc():strip_exif()/f/image/2tchZ5s2uA24myhqBEi4Sfal.jpg?f=fotoalbum_large
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  "heating": {
    "heater present": "True",
    "degree days factor": 4.1,
    "entity adjust heating curve": "input_number.dao_thermostaat_hysterese",
    "adjustment factor": 0.2,
    "stages": [
      { "max_power": 1566, "cop": 3.80 },
      { "max_power": 1387, "cop": 4.05 },
      { "max_power": 1283, "cop": 4.34 },
      { "max_power": 988,  "cop": 4.69 },
      { "max_power": 865,  "cop": 5.05 },
      { "max_power": 748,  "cop": 5.50 },
      { "max_power": 563,  "cop": 5.87 },
      { "max_power": 436,  "cop": 6.84 }
    ]
  },
Jaargegevens waarop de betreffende variabele heb bepaald.
Afbeeldingslocatie: https://tweakers.net/i/OHcIzzy8esXvqU4T6vC80L6Nseg=/232x232/filters:strip_exif()/f/image/RS2qOKjTFy3ZCLawhBJoqtz2.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/VhRxM1dL43B6ty8OaRf078jk5qc=/232x232/filters:strip_exif()/f/image/KaxC7wIP36YIuOYfrA1cKIOD.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/wcs2HzZ2hkIVXj0AeobTOy_LaYg=/232x232/filters:strip_exif()/f/image/0bjVwWvBUSUvl62VUPHnOnrd.png?f=fotoalbum_tile

PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP

Zojuist is testversie 2025.10.6.rc1 gepubliceerd.
Dit staat er in de changelog:
  • Added extra check missing price-data, error-logging and stop calculation (idea from @balk )
  • Extra check op "plugged in" and "home" for warning "te weinig tijd"
  • Correct wrong pv->dc calculation
  • Added mapping for "Aan" and "Uit" for "entity set operating mode" (thanks @CopyCatz )
  • Moved remote resources for webpages to local (thanks @simnet )
  • Updated several used python-modules

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


  • eleet
  • Registratie: Februari 2010
  • Laatst online: 29-11 17:52
Hallo, hoe verhoudt DAO zich tot EMHASS in aanpak en features aub?

https://community.home-as...for-home-assistant/338126

  • Animal
  • Registratie: Maart 2002
  • Laatst online: 04-12 21:49
Heeft iemand al de zonnebonus van Zonneplan kunnen integreren?
Mijn DAO werkt sinds gisteren super goed. Wat een mooie software.

Verder gebruik ik machines in DAO. Dit werkt goed alleen maakt de time window me niet zoveel uit. Ik wil het liefst alleen de helper veranderen van off naar stand 'eco' bijvoorbeeld.
De Start window stel ik in op 0:00 en de end window op 23:59. Dus de hele dag mag DAO de calculated start en end helper instellen.

Alleen de log zegt nu dit
2025-10-24 03:00:03 info: Machine wasmachine wordt niet ingepland, want het planning-window ligt voorbij einde optimalisering
Hoe kan ik dit het beste aanpakken zonder telkens mijn time window te hoeven aanpassen?

Verder krijg ik reports vaak:
code:
1
2
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

[ Voor 82% gewijzigd door Animal op 24-10-2025 03:21 ]


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Animal schreef op vrijdag 24 oktober 2025 @ 02:26:
Heeft iemand al de zonnebonus van Zonneplan kunnen integreren?
Mijn DAO werkt sinds gisteren super goed. Wat een mooie software.

Verder gebruik ik machines in DAO. Dit werkt goed alleen maakt de time window me niet zoveel uit. Ik wil het liefst alleen de helper veranderen van off naar stand 'eco' bijvoorbeeld.
De Start window stel ik in op 0:00 en de end window op 23:59. Dus de hele dag mag DAO de calculated start en end helper instellen.

Alleen de log zegt nu dit
2025-10-24 03:00:03 info: Machine wasmachine wordt niet ingepland, want het planning-window ligt voorbij einde optimalisering
Hoe kan ik dit het beste aanpakken zonder telkens mijn time window te hoeven aanpassen?

Verder krijg ik reports vaak:
code:
1
2
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Fijn dat het goed werkt en je enthousiast bent. De zonnebonus is in dit topic al een paar keer voorbij gekomen, als je even een zoekactie doet, vindt je een paar keer deze vraag en antwoord ;)

Die machine instelling die je doet klinkt logisch, wat er denk ik gebeurd is dat DAO steeds het volgende hele tijdblok zoekt, en dat is steeds één dag verder dan dat de prijzen bekend zijn. Denk dat @KC27 hier het beste op kan antwoorden, net als de server error.

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
eleet schreef op donderdag 23 oktober 2025 @ 23:49:
Hallo, hoe verhoudt DAO zich tot EMHASS in aanpak en features aub?

https://community.home-as...for-home-assistant/338126
Toen ik me een jaar geleden op een EMS in home assistant oriënteerde was mijn beeld dat EMHASS meer internationaal gericht is, meer geconfigureerd kan worden, maar daardoor ook een stuk complexer. DAO is op Nederland gericht en wat eenvoudiger (maar voor de beginner nog steeds niet makkelijk) en voldeed aan mijn wensen. Als instap voor een EMS dus mijn keuze. Tot nu toe doet het nog steeds uitstekend wat ik wil.

  • Impossibl3
  • Registratie: November 2012
  • Laatst online: 17:10
eleet schreef op donderdag 23 oktober 2025 @ 23:49:
Hallo, hoe verhoudt DAO zich tot EMHASS in aanpak en features aub?

https://community.home-as...for-home-assistant/338126
Wat ik begrijp heeft EMHASS niet een optie om een warmtepomp slim in te zetten op basis van cop curves bijvoorbeeld. De boiler zit er ook wat suffer in op basis van een elektrisch element. Dat zit in DAO beter in elkaar.

PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP


  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 06-12 19:42

Bravo

Second Best

KC27 schreef op donderdag 23 oktober 2025 @ 21:50:
[...]

Dat klinkt heel aannemelijk. Ik vermoed dat het alleen voorkomt bij het starten van machines en de boiler.
In dat geval zou daar door DAO niet 20:00 uur gecommuniceerd moeten worden, maar 20:00 uur plus de verstreken tijd plus nog ca 5 seconden extra verwerking en trigger tijd.
Klinkt dat werkbaar?
Is het mogelijk om naast het berekende tijdstip ook een bolean aan te maken met de berekende aan/uit van de machine of boiler? Ergens weet DAO al dat een machine aan staat (want dan wordt hij niet opnieuw ingepland). Dan kan de automation vrij simpel de trigger gebruiken dat de status van uit naar aan gaat.
Dan hoef je ook geen rekening te houden met de verschillen in rekentijd op de verschillende platformen en hoe lang het duurt om het te pushen naar HA.

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

Bravo schreef op vrijdag 24 oktober 2025 @ 16:07:
[...]

Is het mogelijk om naast het berekende tijdstip ook een bolean aan te maken met de berekende aan/uit van de machine of boiler? Ergens weet DAO al dat een machine aan staat (want dan wordt hij niet opnieuw ingepland). Dan kan de automation vrij simpel de trigger gebruiken dat de status van uit naar aan gaat.
Dan hoef je ook geen rekening te houden met de verschillen in rekentijd op de verschillende platformen en hoe lang het duurt om het te pushen naar HA.
Goed idee, neem ik mee!

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


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Heel apart, sinds 18:00 doet dit api-endpoint het niet meer
http://<ip>:<port>/api/report/pv_ac/vandaag_en_morgen

Geeft een 500 internal server error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Alleen "vandaag" werkt wel, alleen "morgen": werkt ook, vandaag_en_morgen voor bat_in en bat_out en ev werkt wel gewoon....
In DAO bij report/balans kan ik ook gewoon vandaag en morgen opvragen en zie ik gewoon de data voor pv_ac?
Helemaal niets aangepast..Rara???

[ Voor 11% gewijzigd door Torch1969 op 24-10-2025 22:17 ]


  • CopyCatz
  • Registratie: September 2000
  • Laatst online: 00:08
Afbeeldingslocatie: https://tweakers.net/i/B4A7Z9nFGlc2fvXNoWhlwi3pH0Q=/x800/filters:strip_exif()/f/image/4PLmXVqIFPDBd4bSNNSdUKGF.png?f=fotoalbum_large

Ik snap niet zo goed waarom de accu morgen een heel klein beetje gaat terugleveren en daar zelfs mee onder mijn minimale soc komt, kan iemand dat verklaren? En kan ik ergens een marge instellen zodat dit niet gebeurt?

  • Impossibl3
  • Registratie: November 2012
  • Laatst online: 17:10
Ik ga mogelijk mezelf weer een paar slapeloze nachten bezorgen, want ik dacht: met mijn beperkte programmeerervaring wil ik eens kijken of ik de module voor de warmtepomp kan uitbreiden met een comfortmodus (of het lukt is een tweede).

Achtergrond over mijn warmtepomp-situatie:
Mijn warmtepomp (lucht-water) is aan te sturen via de stooklijn en/of een aan/uit-signaal. Omdat de pomp in principe zelfstandig moet kunnen werken met de ingestelde stooklijn, wil ik zo min mogelijk aan de interne instellingen komen. Wel kan ik het relais dat de aan/uit-sturing naar de pomp verzorgt slimmer aansturen dan ik nu doe (nu: aan/uit op basis van ruimtetemperatuur buiten het doeltemperatuurbereik ± hysterese).

De reden hiervoor is simpel: mocht ik onder de bus komen — of iets realistischer, mocht Home Assistant er opeens mee ophouden terwijl ik niet thuis ben — dan moet mijn vrouw gewoon de verwarming aan de praat kunnen houden.

Ik gebruik de warmtepomp dus via een aan/uit-schakeling + stooklijn, omdat ik een grote pui op het zuidwesten heb. In de winter kan een beetje zon al genoeg zijn om de woning op temperatuur te brengen, waardoor de pomp tijdelijk uit kan. In het voor- en naseizoen gebeurt dat regelmatig, waardoor uitsluitend sturen op buitentemperatuur (zelfs met een interne correctie, zoals mijn pomp ondersteunt) niet altijd voldoende is.

Het idee:
Mijn idee voor de aanvullende warmtepomp-module is om de pomp optimaal in te plannen op basis van:

* warmteverlies van de woning (berekend via graaddagen),
* spotmarktprijs,
* verwachte buitentemperatuur,
* COP-curves verdeeld in *N* temperatuur-bins (waarbij *N* variabel is zodat de regeling vloeiender kan worden gemaakt),
* doel-binnentemperatuur (vanuit thermostaat),
* actuele binnentemperatuur (ook vanuit thermostaat),
* en een instelbare comfortbandbreedte (hysterese).

Het resultaat moet zijn dat de thermostaat-doeltemperatuur dynamisch wordt bijgesteld op basis van deze parameters — zonder dat deze buiten ingestelde minimum- en maximumwaarden komt. Zo bepaalt het proces de optimale inzet van de warmtepomp op basis van prijs én comfort.

Kort gezegd: een verfijning van de bestaande *heating curve*-modus, maar dan met een extra comfortweging.

Wat al bestaat (volgens de DAO-code):
* Warmtevraag via graaddagen,
* Spotprijs (hoofdfunctie van DAO),
* Verwachte buitentemperatuur (nodig voor graaddagenberekening).

Wat nog ontbreekt:
* Koppeling van COP-curves aan temperatuur-bins (nu zijn er wel acht COP_power-waarden, maar niet gekoppeld aan de meteo-verwachting, enkel aan totaal warmteverlies),
* Integratie van het binnenklimaat (thermostaat met dynamische setpoint-band binnen min/max).

Het gewenste resultaat is dat DAO niet alleen bepaalt hoeveel warmtevraag er in een periode is, maar ook wanneer die vraag het best ingevuld kan worden, op basis van de buitentemperatuur-afhankelijke COP.
Zo kan het bijvoorbeeld gunstiger zijn om tijdens duurdere uren te verwarmen met een hoge COP, dan tijdens goedkope uren met een lage COP.

In de JSON zou dan — naast de bestaande `power_stages` — ook een set `COP_stages` (of iets vergelijkbaars) verschijnen, gebaseerd op de voorspelde buitentemperatuur.

De vragen aan jullie:
1. Wat vinden jullie van deze gedachtengang — en is dit een gewenste uitbreiding? (Specifiek ook aan @KC27, als bedenker van DAO.)
2. Wat is de handigste manier om dit te testen?

Mijn eerste idee was om DAO in Docker op mijn laptop te draaien, zodat ik lokaal kan experimenteren voordat ik @KC27 via GitHub lastigval.

Maar wat is dan het meest praktisch:
- DAO in Docker draaien en laten verwijzen naar de entiteiten op mijn HA-machine (die op HAOS draait),
- of HA lokaal naast DAO installeren met een paar test-entiteiten om de simulatie uit te voeren?

Of is er misschien nog een betere route — bijvoorbeeld het draaien als losse Python-bestanden in VS Code?

Tot nu toe heb ik alleen losse Python-scripts geschreven en getest, nooit met meerdere modules en een eigen database. Vandaar mijn vraag wat in dit geval de handigste aanpak is.

Ik hoor graag jullie ideeën.

PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP


  • simnet
  • Registratie: Januari 2020
  • Laatst online: 06-12 23:45
Impossibl3 schreef op vrijdag 24 oktober 2025 @ 23:06:
Mijn eerste idee was om DAO in Docker op mijn laptop te draaien, zodat ik lokaal kan experimenteren voordat ik @KC27 via GitHub lastigval.

Maar wat is dan het meest praktisch:
- DAO in Docker draaien en laten verwijzen naar de entiteiten op mijn HA-machine (die op HAOS draait),
- of HA lokaal naast DAO installeren met een paar test-entiteiten om de simulatie uit te voeren?

Of is er misschien nog een betere route — bijvoorbeeld het draaien als losse Python-bestanden in VS Code?

Tot nu toe heb ik alleen losse Python-scripts geschreven en getest, nooit met meerdere modules en een eigen database. Vandaar mijn vraag wat in dit geval de handigste aanpak is.

Ik hoor graag jullie ideeën.
Heel toevallig heb ik zojuist een PR geopend om documentatie voor developers toe te voegen. Het is geheel mogelijk om DAO in een python venv te draaien zonder docker. het enige waar je rekening mee moet houden is dat wijzigingen in je options niet automatisch opgepakt worden zoals in de container. Je moet dan dus even de server stoppen en opnieuw starten. Verder zou alles moeten functioneren (voor zover ik weet).

Ik zou het op prijs stellen als iemand die documentatie kritisch bekijkt en checkt of het ook echt klopt... bij mij werkt het (tm) :P

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Torch1969 schreef op vrijdag 24 oktober 2025 @ 19:37:
Heel apart, sinds 18:00 doet dit api-endpoint het niet meer
http://<ip>:<port>/api/report/pv_ac/vandaag_en_morgen

Geeft een 500 internal server error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Alleen "vandaag" werkt wel, alleen "morgen": werkt ook, vandaag_en_morgen voor bat_in en bat_out en ev werkt wel gewoon....
In DAO bij report/balans kan ik ook gewoon vandaag en morgen opvragen en zie ik gewoon de data voor pv_ac?
Helemaal niets aangepast..Rara???
En inmiddels sinds 0:00 doen ook de EV, bat_in en bat_out endpoints op “vandaag_en_morgen” het niet meer 😕🤔….
Niemand anders die de api gebruikt hier last van? Ik draai 2025.10.4

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
simnet schreef op zaterdag 25 oktober 2025 @ 00:31:
[...]


Heel toevallig heb ik zojuist een PR geopend om documentatie voor developers toe te voegen. Het is geheel mogelijk om DAO in een python venv te draaien zonder docker. het enige waar je rekening mee moet houden is dat wijzigingen in je options niet automatisch opgepakt worden zoals in de container. Je moet dan dus even de server stoppen en opnieuw starten. Verder zou alles moeten functioneren (voor zover ik weet).

Ik zou het op prijs stellen als iemand die documentatie kritisch bekijkt en checkt of het ook echt klopt... bij mij werkt het (tm) :P
Is het ook een idee om die documentatie meteen in de wiki op te nemen? Ik had daar al een hoofdstuk voor gereserveerd: https://github.com/corneel27/day-ahead/wiki/7.-Ontwikkeling

  • simnet
  • Registratie: Januari 2020
  • Laatst online: 06-12 23:45
Torch1969 schreef op zaterdag 25 oktober 2025 @ 08:39:
[...]

En inmiddels sinds 0:00 doen ook de EV, bat_in en bat_out endpoints op “vandaag_en_morgen” het niet meer 😕🤔….
Niemand anders die de api gebruikt hier last van? Ik draai 2025.10.4
Ik heb hetzelfde. Bij mij is hij gisteravond om 22:30 gestopt met werken. Ik zie niet direct iets waardoor het niet meer werkt.

  • xarow
  • Registratie: Februari 2011
  • Laatst online: 12:12
simnet schreef op zaterdag 25 oktober 2025 @ 09:57:
[...]


Ik heb hetzelfde. Bij mij is hij gisteravond om 22:30 gestopt met werken. Ik zie niet direct iets waardoor het niet meer werkt.
Hier ook hetzelfde probleem sinds gisteravond.

  • Impossibl3
  • Registratie: November 2012
  • Laatst online: 17:10
Torch1969 schreef op zaterdag 25 oktober 2025 @ 08:41:
[...]

Is het ook een idee om die documentatie meteen in de wiki op te nemen? Ik had daar al een hoofdstuk voor gereserveerd: https://github.com/corneel27/day-ahead/wiki/7.-Ontwikkeling
De wiki is nog niet te vinden op de hoofdpagina van DAO op GIthub of ik kijk er tig keer overheen. Misschien wel een idee om deze daar ook te linken omdat er veel meer informatie in staat dan in de docks voor bepaalde onderdelen. Er kan dan een waarschuwing bij dat de wiki nog in ontwikkeling is.

PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Impossibl3 schreef op zaterdag 25 oktober 2025 @ 10:38:
[...]


De wiki is nog niet te vinden op de hoofdpagina van DAO op GIthub of ik kijk er tig keer overheen. Misschien wel een idee om deze daar ook te linken omdat er veel meer informatie in staat dan in de docks voor bepaalde onderdelen. Er kan dan een waarschuwing bij dat de wiki nog in ontwikkeling is.
Klopt, dat is ook de bedoeling, en ook meer info uit docs.md verwijderen en daar ook verwijzen naar de wiki. Maar daarvoor moet de wiki nog iets verder zijn (lees nog wat uurtjes tijd “over” nodig 😉). Ook moet ik (of iemand anders) dan met een PR de hoofdpagina en docs.md bijwerken. Voor mij is dat nieuw, dus moet ik nog uitvogelen. Ben nu zover dat ik vanuit codeserver de wiki op GitHub kan bijwerken, dat is net wat eenvoudiger.

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Torch1969 schreef op zaterdag 25 oktober 2025 @ 08:39:
[...]

En inmiddels sinds 0:00 doen ook de EV, bat_in en bat_out endpoints op “vandaag_en_morgen” het niet meer 😕🤔….
Niemand anders die de api gebruikt hier last van? Ik draai 2025.10.4
Ik heb de docker container herstart, maar helaas, nog steeds een 500.
@KC27 kun jij meekijken? Er zijn dus meer gebruikers met zelfde probleem.

  • ebbz
  • Registratie: Maart 2010
  • Laatst online: 15:40
Ik denk dat het te maken heeft met dat er vannacht meer uren zijn als op andere dagen

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
ebbz schreef op zaterdag 25 oktober 2025 @ 12:03:
Ik denk dat het te maken heeft met dat er vannacht meer uren zijn als op andere dagen
Scherp, ik dacht al, wat is er anders dan anders…. 😂
Dat moet het zijn @KC27 ? Wat mij betreft kom ik de nacht wel door zonder deze info.

[ Voor 9% gewijzigd door Torch1969 op 25-10-2025 12:05 ]


  • simnet
  • Registratie: Januari 2020
  • Laatst online: 06-12 23:45
ebbz schreef op zaterdag 25 oktober 2025 @ 12:03:
Ik denk dat het te maken heeft met dat er vannacht meer uren zijn als op andere dagen
Dat is mogelijk wel iets. DST is altijd een lastige!
Torch1969 schreef op zaterdag 25 oktober 2025 @ 11:57:
[...]

Ik heb de docker container herstart, maar helaas, nog steeds een 500.
@KC27 kun jij meekijken? Er zijn dus meer gebruikers met zelfde probleem.
Ik ga ernaar kijken. Gisteren nog opstart perikelen gehad met mijn laptop, maar die zijn (voorlopig?) 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


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
KC27 schreef op zaterdag 25 oktober 2025 @ 12:06:
[...]

Ik ga ernaar kijken. Gisteren nog opstart perikelen gehad met mijn laptop, maar die zijn (voorlopig?) opgelost. 😊
De reports in DAO zelf voor morgen hebben er ook niet echt zin in….. zal vast iets met dat extra uurtje te maken hebben….

Als je een nieuwe laptop nodig hebt, kunnen we misschien een kleine inzameling starten voor een steuntje in de rug?
Er zat een storende fout in versie 2025.10.6 ivm de naderende wintertijd.
Er is een nieuwe versie die deze fout repareert.
Voor de testers: versie 2025.10.6.rc2
Productieversie: versie 2025.20.6 (beschikbaar vanaf ca 14:15)
Helaas is de fout gemeld door @Torch1969 nog niet gerepareerd.

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


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
KC27 schreef op zaterdag 25 oktober 2025 @ 13:59:
Er zat een storende fout in versie 2025.10.6 ivm de naderende wintertijd.
Er is een nieuwe versie die deze fout repareert.
Voor de testers: versie 2025.10.6.rc2
Productieversie: versie 2025.20.6 (beschikbaar vanaf ca 14:15)
Helaas is de fout gemeld door @Torch1969 nog niet gerepareerd.
Ik heb beide versies al draaien, zit er nog verschil tussen? Iets specifieks waar we op moeten letten?
Wat me opvalt is dat bij reports het extra uur van 2-3 er niet in staat (niet in tabel en grafiek). In de grafiek op home wel.
Torch1969 schreef op zaterdag 25 oktober 2025 @ 14:35:
[...]

Ik heb beide versies al draaien, zit er nog verschil tussen? Iets specifieks waar we op moeten letten?
Wat me opvalt is dat bij reports het extra uur van 2-3 er niet in staat (niet in tabel en grafiek). In de grafiek op home wel.
Beide versies zijn identiek.
Ik kreeg vanaf 13 uur op mijn RPi5 foutmeldingen bij de optimalisering berekening. Op mijn laptop met x86 processor niet. Dus ik heb het zekere voor het onzekere genomen.
De fout die jij ziet bij de reports moet ook nog gerepareerd worden.

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


  • simnet
  • Registratie: Januari 2020
  • Laatst online: 06-12 23:45
Ik heb deze log fout @KC27
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
2025-10-25 17:01:20,233 fout dao.webserver.app MainThread : Exception on /api/report/consumption/vandaag_en_morgen [GET]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/series.py", line 251, in wrapper
    raise TypeError(f"cannot convert the series to {converter}")
TypeError: cannot convert the series to <class 'float'>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/frame.py", line 4574, in _set_value
    self._mgr.column_setitem(icol, iindex, value, inplace_only=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/internals/managers.py", line 1354, in column_setitem
    col_mgr.setitem_inplace(idx, value)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/internals/managers.py", line 2063, in setitem_inplace
    super().setitem_inplace(indexer, value)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/internals/base.py", line 363, in setitem_inplace
    arr[indexer] = value
    ~~~^^^^^^^^^
ValueError: setting an array element with a sequence.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 602, in api_report
    result = report.get_api_data(fld, periode, cumulate=cumulate)
  File "/root/dao/prog/da_report.py", line 2973, in get_api_data
    df_grid = self.get_grid_data(periode, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2087, in get_grid_data
    df_ha = self.copy_col_df(df_prices, df_ha, "da_cons")
  File "/root/dao/prog/da_report.py", line 1062, in copy_col_df
    copy_to.at[row.tijd, col_name] = copy_from.at[row.tijd, col_name]
    ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 2603, in __setitem__
    return super().__setitem__(key, value)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 2543, in __setitem__
    self.obj._set_value(*key, value=value, takeable=self._takeable)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/frame.py", line 4586, in _set_value
    self.loc[index, col] = value
    ~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 912, in __setitem__
    iloc._setitem_with_indexer(indexer, value, self.name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1943, in _setitem_with_indexer
    self._setitem_with_indexer_split_path(indexer, value, name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1964, in _setitem_with_indexer_split_path
    value = self._align_series(indexer, Series(value))
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 2456, in _align_series
    raise ValueError("Incompatible indexer with Series")
ValueError: Incompatible indexer with Series
2025-10-25 17:01:20,616 fout dao.webserver.app MainThread : Exception on /api/report/production/vandaag_en_morgen [GET]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/series.py", line 251, in wrapper
    raise TypeError(f"cannot convert the series to {converter}")
TypeError: cannot convert the series to <class 'float'>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/frame.py", line 4574, in _set_value
    self._mgr.column_setitem(icol, iindex, value, inplace_only=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/internals/managers.py", line 1354, in column_setitem
    col_mgr.setitem_inplace(idx, value)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/internals/managers.py", line 2063, in setitem_inplace
    super().setitem_inplace(indexer, value)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/internals/base.py", line 363, in setitem_inplace
    arr[indexer] = value
    ~~~^^^^^^^^^
ValueError: setting an array element with a sequence.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 602, in api_report
    result = report.get_api_data(fld, periode, cumulate=cumulate)
  File "/root/dao/prog/da_report.py", line 2973, in get_api_data
    df_grid = self.get_grid_data(periode, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2087, in get_grid_data
    df_ha = self.copy_col_df(df_prices, df_ha, "da_cons")
  File "/root/dao/prog/da_report.py", line 1062, in copy_col_df
    copy_to.at[row.tijd, col_name] = copy_from.at[row.tijd, col_name]
    ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 2603, in __setitem__
    return super().__setitem__(key, value)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 2543, in __setitem__
    self.obj._set_value(*key, value=value, takeable=self._takeable)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/frame.py", line 4586, in _set_value
    self.loc[index, col] = value
    ~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 912, in __setitem__
    iloc._setitem_with_indexer(indexer, value, self.name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1943, in _setitem_with_indexer
    self._setitem_with_indexer_split_path(indexer, value, name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1964, in _setitem_with_indexer_split_path
    value = self._align_series(indexer, Series(value))
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 2456, in _align_series
    raise ValueError("Incompatible indexer with Series")
ValueError: Incompatible indexer with Series

  • bartzzz
  • Registratie: December 2009
  • Laatst online: 06-12 03:09
Ik gebruik DAO nu al een paar weken en loop nu tegen iets vreemds aan.
In mijn Config heb ik mijn PV-installaties gedefineerd, echter zie ik in de grafieken geen PV productie/ (groene staven)

Wat gaat er mis, of waar zit mijn fout?

Afbeeldingslocatie: https://tweakers.net/i/BeDs6TII_pHSeyyd1ONMF7Yrea4=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/bQRv1G4IyjzKtaG9fOeufyo3.jpg?f=user_large
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
JSON Editor

{
  "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,
      "2025-10-07": 0.00826
    },
    "cost supplier production": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2025-10-07": 0.00826
    },
    "vat consumption": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2025-01-01": 21
    },
    "vat production": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
   "last invoice": "2025-10-07",
    "tax refund": "True"
  },
  "logging level" : "info",
  "use_calc_baseload": "True",
  "baseload calc periode": 14,
  "baseload": [
    0.386, 
    0.37, 
    0.368, 
    0.401, 
    0.396, 
    0.392, 
    0.409, 
    -0.211, 
    -1.958, 
    -3.805, 
    -5.983, 
    -7.363, 
    -7.054, 
    -7.484, 
    -6.718, 
    -6.189, 
    -5.222, 
    -3.589, 
     -1.74, 
    -0.547, 
    -0.052, 
     0.644, 
     0.482, 
     0.419
  ],
  "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": {
    "notification entity": "input_text.dao_notificatie",
    "opstarten": "True",
    "berekening": "False",
    "last activity entity": "input_datetime.dao_laatste_activiteit"
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "",
    "entity setpoint": "",
    "entity hysterese": "",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": ""
  },
  "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": "",
    "adjustment factor": 0.04
  },
  "battery": [
  {
    "name": "Thuisbatterij",
    "entity actual level": "sensor.ss_battery_1_soc",
    "capacity": 50,                  
    "lower limit": 12,               
    "upper limit": 90,              
    "optimal lower level": 20,       
    "charge stages": [
      { "power": 0.0,   "efficiency": 1.0 },
      { "power": 17000,  "efficiency": 0.95 }   
    ],
    "discharge stages": [
      { "power": 0.0,   "efficiency": 1.0 },
      { "power": 17000,  "efficiency": 0.95 }   
    ],
    "minimum power": 500,             
    "dc_to_bat efficiency": 0.95,
    "bat_to_dc efficiency": 0.95,
    "cycle cost": 0.013,                
    "entity set power feedin": "input_number.batterij_power_feedin",
    "entity calculated soc": "input_number.batterij_calculated_soc",    
    "entity set operating mode": "input_select.batterij_operation_mode",
    "entity stop inverter": "input_datetime.batterij_stop_inverter",
    "entity balance switch": "input_boolean.batterij_balance_switch",
    "solar": []
  } ],

  "solar": [
    {
      "name": "pv woning",
      "tilt": 35,
      "orientation": 85,
      "capacity": 4.8,
      "yield": 0.010, 
      "entity pv switch": "input_boolean.pv_woning_aan_uit"
  },
  {
     "name": "pv garage",
     "tilt": 25,
     "orientation": -5,
     "capacity": 12.95,
     "yield": 0.010, 
     "entity pv switch": "input_boolean.pv_garage_aan_uit"
  },
  {
     "name": "pv tuinhuis",
     "tilt": 5,
     "orientation": -85,
     "capacity": 0.42,
     "yield": 0.010,
     "entity pv switch": ""
  }
],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.energy_consumption_tarif_1",
      "sensor.energy_consumption_tarif_2"
    ],
    "entities grid production": [
      "sensor.energy_production_tarif_1",
      "sensor.energy_production_tarif_2"
    ],
    "entities solar production ac": [
      "sensor.pv_productie"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : ["sensor.peblar_ev_charger_lifetime_energy"],
    "entities wp consumption" : ["sensor.kwh_meter_warmtepomp_1_total_power_import"],
    "entities boiler consumption": [],
    "entities battery consumption": ["sensor.ss_total_battery_charge"],
    "entities battery production": ["sensor.ss_total_battery_discharge"]
  },
  "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",
    "2230": "calc_baseloads",
    "xx00": "calc_optimum",
    "2359": "clean_data"
  }
}
 

 © 2025: Apache 2.0   Day Ahead Optimizer version: 2025.10.6

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
bartzzz schreef op zondag 26 oktober 2025 @ 08:51:
Ik gebruik DAO nu al een paar weken en loop nu tegen iets vreemds aan.
In mijn Config heb ik mijn PV-installaties gedefineerd, echter zie ik in de grafieken geen PV productie/ (groene staven)

Wat gaat er mis, of waar zit mijn fout?

[Afbeelding]
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
JSON Editor

{
  "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,
      "2025-10-07": 0.00826
    },
    "cost supplier production": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2025-10-07": 0.00826
    },
    "vat consumption": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2025-01-01": 21
    },
    "vat production": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
   "last invoice": "2025-10-07",
    "tax refund": "True"
  },
  "logging level" : "info",
  "use_calc_baseload": "True",
  "baseload calc periode": 14,
  "baseload": [
    0.386, 
    0.37, 
    0.368, 
    0.401, 
    0.396, 
    0.392, 
    0.409, 
    -0.211, 
    -1.958, 
    -3.805, 
    -5.983, 
    -7.363, 
    -7.054, 
    -7.484, 
    -6.718, 
    -6.189, 
    -5.222, 
    -3.589, 
     -1.74, 
    -0.547, 
    -0.052, 
     0.644, 
     0.482, 
     0.419
  ],
  "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": {
    "notification entity": "input_text.dao_notificatie",
    "opstarten": "True",
    "berekening": "False",
    "last activity entity": "input_datetime.dao_laatste_activiteit"
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "",
    "entity setpoint": "",
    "entity hysterese": "",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": ""
  },
  "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": "",
    "adjustment factor": 0.04
  },
  "battery": [
  {
    "name": "Thuisbatterij",
    "entity actual level": "sensor.ss_battery_1_soc",
    "capacity": 50,                  
    "lower limit": 12,               
    "upper limit": 90,              
    "optimal lower level": 20,       
    "charge stages": [
      { "power": 0.0,   "efficiency": 1.0 },
      { "power": 17000,  "efficiency": 0.95 }   
    ],
    "discharge stages": [
      { "power": 0.0,   "efficiency": 1.0 },
      { "power": 17000,  "efficiency": 0.95 }   
    ],
    "minimum power": 500,             
    "dc_to_bat efficiency": 0.95,
    "bat_to_dc efficiency": 0.95,
    "cycle cost": 0.013,                
    "entity set power feedin": "input_number.batterij_power_feedin",
    "entity calculated soc": "input_number.batterij_calculated_soc",    
    "entity set operating mode": "input_select.batterij_operation_mode",
    "entity stop inverter": "input_datetime.batterij_stop_inverter",
    "entity balance switch": "input_boolean.batterij_balance_switch",
    "solar": []
  } ],

  "solar": [
    {
      "name": "pv woning",
      "tilt": 35,
      "orientation": 85,
      "capacity": 4.8,
      "yield": 0.010, 
      "entity pv switch": "input_boolean.pv_woning_aan_uit"
  },
  {
     "name": "pv garage",
     "tilt": 25,
     "orientation": -5,
     "capacity": 12.95,
     "yield": 0.010, 
     "entity pv switch": "input_boolean.pv_garage_aan_uit"
  },
  {
     "name": "pv tuinhuis",
     "tilt": 5,
     "orientation": -85,
     "capacity": 0.42,
     "yield": 0.010,
     "entity pv switch": ""
  }
],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.energy_consumption_tarif_1",
      "sensor.energy_consumption_tarif_2"
    ],
    "entities grid production": [
      "sensor.energy_production_tarif_1",
      "sensor.energy_production_tarif_2"
    ],
    "entities solar production ac": [
      "sensor.pv_productie"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : ["sensor.peblar_ev_charger_lifetime_energy"],
    "entities wp consumption" : ["sensor.kwh_meter_warmtepomp_1_total_power_import"],
    "entities boiler consumption": [],
    "entities battery consumption": ["sensor.ss_total_battery_charge"],
    "entities battery production": ["sensor.ss_total_battery_discharge"]
  },
  "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",
    "2230": "calc_baseloads",
    "xx00": "calc_optimum",
    "2359": "clean_data"
  }
}
 

 © 2025: Apache 2.0   Day Ahead Optimizer version: 2025.10.6
Wil je als eerste je code blok even in een quote blok zetten? Dat scheelt de niet geïnteresseerde lezer wat scrollen.

De grafiek ziet er sowieso raar uit. De teruglevering en accu in blokken mogen niet boven de nul-lijn komen.
Wil je de yield voor solar per installatie goed uitrekenen en invullen (zie https://github.com/cornee...t-alle-instellingen#solar)? Weet niet of het daar aan ligt, maar dan klopt dat in ieder geval.
De formule is niet moeilijk: (capaciteit in Wp x 0,85) / 400.000.
Dus b.v. 12,95 x1.000=12.950 x 0,85 = 11.000,75 / 400.000 = 0,02751875

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 04-12 20:56
Torch1969 schreef op zaterdag 25 oktober 2025 @ 12:13:
Als je een nieuwe laptop nodig hebt, kunnen we misschien een kleine inzameling starten voor een steuntje in de rug?
Ik doe mee hoor, als het zover komt.
DAO levert me harde euro's op, als ik een deel daarvan afsta ben ik nog steeds beter af dan wanneer ik het niet zou gebruiken. En dan zijn er twee blij.

Back to business; ik gebruik de API voor de prijzen welke verder verwerkt worden in automaties. Dat is bij mij ook stuk; internal server error op /api/report/da/vandaag_en_morgen, ook met 2025.10.6.rc2

  • balk
  • Registratie: Januari 2000
  • Laatst online: 16:54
Ik heb een vraag over de setting "entity min soc end opt". Is dit alleen om de laatste waarde van de reken-window van 24 uur in te stellen? Hiermee til je dus de hele grafiek op indien de waarde hoger is dan 0? Kan de waarde tussendoor nog wel lager zijn dan deze waarde? Ik neem aan dat hetzelfde (maar omgekeerd) waar is voor de "entity max soc end opt"?
Nevermind, volgende keer even zoeken @me

[ Voor 15% gewijzigd door balk op 26-10-2025 11:24 ]

Ik heb dit voorjaar alle rapportages op de schop gehad o.a. voor het berekenen van "savings".
Ik heb toen niet gedacht dat het ook een keer wintertijd gaat worden en dat bij de overgang daarnaar toe het twee keer twee uur wordt. 8)7 Daar gaan nu alle rapportages en api's fout op.
Ik krijg dat alleen niet meer op zo'n korte termijn gerepareerd.
Na morgen gaan alle rapportages weer goed en neem ik de tijd om alles voor de volgende "transitie" te repareren.
Sorry voor al het ongemak.

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


  • CopyCatz
  • Registratie: September 2000
  • Laatst online: 00:08
Ik zoek eigenlijk naar een mogelijkheid om DAO op pauze te kunnen zetten; wanneer de zon nog doorbreekt in de winter zou ik nom willen doen op de huis accu. Op dat moment wil ik DAO in een soort van standby kunnen zetten; ik kan natuurlijk de hele addon disablen, maar is het niet handiger om de integratie wel te laten lopen en dan geen acties uit te voeren? Een soort strategy: standby dus waarbij wel het ophalen en berekenen van gegevens doorloopt. Of is het zo dat wanneer je de addon enabled alle berekeningen en meteo sowieso gedaan worden?

  • konehead
  • Registratie: Januari 2005
  • Laatst online: 06-12 18:10
KC27 schreef op zondag 26 oktober 2025 @ 11:45:
Ik heb dit voorjaar alle rapportages op de schop gehad o.a. voor het berekenen van "savings".
Ik heb toen niet gedacht dat het ook een keer wintertijd gaat worden en dat bij de overgang daarnaar toe het twee keer twee uur wordt. 8)7 Daar gaan nu alle rapportages en api's fout op.
Ik krijg dat alleen niet meer op zo'n korte termijn gerepareerd.
Na morgen gaan alle rapportages weer goed en neem ik de tijd om alles voor de volgende "transitie" te repareren.
Sorry voor al het ongemak.
No worries, dank voor het uitleggen

  • simnet
  • Registratie: Januari 2020
  • Laatst online: 06-12 23:45
CopyCatz schreef op zondag 26 oktober 2025 @ 12:02:
Ik zoek eigenlijk naar een mogelijkheid om DAO op pauze te kunnen zetten; wanneer de zon nog doorbreekt in de winter zou ik nom willen doen op de huis accu. Op dat moment wil ik DAO in een soort van standby kunnen zetten; ik kan natuurlijk de hele addon disablen, maar is het niet handiger om de integratie wel te laten lopen en dan geen acties uit te voeren? Een soort strategy: standby dus waarbij wel het ophalen en berekenen van gegevens doorloopt. Of is het zo dat wanneer je de addon enabled alle berekeningen en meteo sowieso gedaan worden?
Je kunt de strategy aanpassen dmv een flex setting. Check even de docs hierover. Je kunt dan vanuit HA de strategy op minimize consumption zetten; dat komt denk ik heel dicht in de buurt van NoM.

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
CopyCatz schreef op zondag 26 oktober 2025 @ 12:02:
Ik zoek eigenlijk naar een mogelijkheid om DAO op pauze te kunnen zetten; wanneer de zon nog doorbreekt in de winter zou ik nom willen doen op de huis accu. Op dat moment wil ik DAO in een soort van standby kunnen zetten; ik kan natuurlijk de hele addon disablen, maar is het niet handiger om de integratie wel te laten lopen en dan geen acties uit te voeren? Een soort strategy: standby dus waarbij wel het ophalen en berekenen van gegevens doorloopt. Of is het zo dat wanneer je de addon enabled alle berekeningen en meteo sowieso gedaan worden?
Of, als je DAO netjes ontkoppelt hebt van je devices, zet je je automatiseringen voor de aansturingen die je wilt pauzeren even uit (zie https://github.com/cornee...nt-voor-koppeling-met-dao).

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
KC27 schreef op zondag 26 oktober 2025 @ 11:45:
Ik heb dit voorjaar alle rapportages op de schop gehad o.a. voor het berekenen van "savings".
Ik heb toen niet gedacht dat het ook een keer wintertijd gaat worden en dat bij de overgang daarnaar toe het twee keer twee uur wordt. 8)7 Daar gaan nu alle rapportages en api's fout op.
Ik krijg dat alleen niet meer op zo'n korte termijn gerepareerd.
Na morgen gaan alle rapportages weer goed en neem ik de tijd om alles voor de volgende "transitie" te repareren.
Sorry voor al het ongemak.
Geen probleem voor mij. Je hebt een jaar om het te fixen. Misschien voor de zekerheid ook de ingang van zomertijd nog even checken? Dan missen we een uur 😀

  • bartzzz
  • Registratie: December 2009
  • Laatst online: 06-12 03:09
Ik heb hem aangepast, bedankt voor die tip.

De yield heb ik nagekeken en die staan goed.
Ik snap niet waarom hij de PV niet laat zien in de grafiek.
Torch1969 schreef op zondag 26 oktober 2025 @ 10:06:
[...]


Wil je als eerste je code blok even in een quote blok zetten? Dat scheelt de niet geïnteresseerde lezer wat scrollen.

De grafiek ziet er sowieso raar uit. De teruglevering en accu in blokken mogen niet boven de nul-lijn komen.
Wil je de yield voor solar per installatie goed uitrekenen en invullen (zie https://github.com/cornee...t-alle-instellingen#solar)? Weet niet of het daar aan ligt, maar dan klopt dat in ieder geval.
De formule is niet moeilijk: (capaciteit in Wp x 0,85) / 400.000.
Dus b.v. 12,95 x1.000=12.950 x 0,85 = 11.000,75 / 400.000 = 0,02751875

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
bartzzz schreef op zondag 26 oktober 2025 @ 17:26:
De yield heb ik nagekeken en die staan goed.
In de config die je deelde zie ik 3x "yield": 0.010,
Volgens mij klopt dat (bij benadering) alleen voor de eerste, de 2e zou hetzelfde moeten zijn als mijn rekenvoorbeeld. De derde veeeel lager…..

En ik zie dat je de Calc baseload gebruikt, die mag geen negatieve waarden bevatten. Hoe ziet die eruit? Je geconfigureerde baseload staat ook vol met negatieve waarden, wat is daar het doel van?

[ Voor 21% gewijzigd door Torch1969 op 26-10-2025 17:42 ]


  • bartzzz
  • Registratie: December 2009
  • Laatst online: 06-12 03:09
Torch1969 schreef op zondag 26 oktober 2025 @ 17:35:
[...]

In de config die je deelde zie ik 3x "yield": 0.010,
Volgens mij klopt dat (bij benadering) alleen voor de eerste, de 2e zou hetzelfde moeten zijn als mijn rekenvoorbeeld. De derde veeeel lager…..

En ik zie dat je de Calc baseload gebruikt, die mag geen negatieve waarden bevatten. Hoe ziet die eruit? Je geconfigureerde baseload staat ook vol met negatieve waarden, wat is daar het doel van?
Waarom zou de yield lager meten zijn bij de 2de of 3de PV Installtie.
Elke installatie heeft toch zijn eigen yield?

De base load heb ik DAO zelf laten uitreken na een paar weken te hebben gedraaid.
Ik ga deze wel even op de default waarden zetten en kijken hoe hij daarop reageert.

  • bartzzz
  • Registratie: December 2009
  • Laatst online: 06-12 03:09
Torch1969 schreef op zondag 26 oktober 2025 @ 17:35:
[...]

In de config die je deelde zie ik 3x "yield": 0.010,
Volgens mij klopt dat (bij benadering) alleen voor de eerste, de 2e zou hetzelfde moeten zijn als mijn rekenvoorbeeld. De derde veeeel lager…..

En ik zie dat je de Calc baseload gebruikt, die mag geen negatieve waarden bevatten. Hoe ziet die eruit? Je geconfigureerde baseload staat ook vol met negatieve waarden, wat is daar het doel van?
Nu een nieuwe berekening gemaakt en dat ziet veel beter uit.
Afbeeldingslocatie: https://tweakers.net/i/Ipv2bAhNyeFtN7W-_KW_PjzwG9Y=/800x/filters:strip_icc():strip_exif()/f/image/SwLsxAzKhlVjg4BnVb2fTqJF.jpg?f=fotoalbum_large

Dus door de baseload berekening te laten doen door DAO waar negatieve waarden uitkwam ging het mis denk ik.

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
bartzzz schreef op zondag 26 oktober 2025 @ 17:58:
[...]


Waarom zou de yield lager meten zijn bij de 2de of 3de PV Installtie.
Elke installatie heeft toch zijn eigen yield?

De base load heb ik DAO zelf laten uitreken na een paar weken te hebben gedraaid.
Ik ga deze wel even op de default waarden zetten en kijken hoe hij daarop reageert.
Omdat de opbrengst voor een installatie met één paneel van 420 Wp anders is dan voor je installatie van 12950Wp.Hoe ben je gekomen op 0,010?

DAO berekent de baseload op basis van de sensoren die jij configureert, als daar iets niet goed in zit of out of sync rapporteert (lees maar een stukje terug) dan gaat die berekening niet goed en krijg je negatieve getallen (oftewel uren met teruggave ipv verbruik). De baseload in je configuratie bevat ook veel negatieve getallen, als ik jou was zou ik die aanpassen naar je daadwerkelijke basisverbruik.

  • Batavia
  • Registratie: Mei 2011
  • Laatst online: 14:49
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
[2025-10-26 21:13:11,678] fout in app: Exception on /api/report/da/vandaag_en_morgen [GET]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 602, in api_report
    result = report.get_api_data(fld, periode, cumulate=cumulate)
  File "/root/dao/prog/da_report.py", line 3024, in get_api_data
    df["time_ts"] = df["time"].dt.tz_localize(time_zone)
                    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/accessor.py", line 112, in f
    return self._delegate_method(name, *args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexes/accessors.py", line 132, in _delegate_method
    result = method(*args, **kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexes/datetimes.py", line 293, in tz_localize
    arr = self._data.tz_localize(tz, ambiguous, nonexistent)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/arrays/_mixins.py", line 81, in method
    return meth(self, *args, **kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/arrays/datetimes.py", line 1090, in tz_localize
    new_dates = tzconversion.tz_localize_to_utc(
        self.asi8,
    ...<3 lines>...
        creso=self._creso,
    )
  File "pandas/_libs/tslibs/tzconversion.pyx", line 371, in pandas._libs.tslibs.tzconversion.tz_localize_to_utc
pytz.exceptions.AmbiguousTimeError: Cannot infer dst time from 2025-10-26 02:00:00, try using the 'ambiguous' argument


My apis seem to be producing the following error

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Batavia schreef op zondag 26 oktober 2025 @ 21:15:
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
[2025-10-26 21:13:11,678] fout in app: Exception on /api/report/da/vandaag_en_morgen [GET]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 602, in api_report
    result = report.get_api_data(fld, periode, cumulate=cumulate)
  File "/root/dao/prog/da_report.py", line 3024, in get_api_data
    df["time_ts"] = df["time"].dt.tz_localize(time_zone)
                    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/accessor.py", line 112, in f
    return self._delegate_method(name, *args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexes/accessors.py", line 132, in _delegate_method
    result = method(*args, **kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexes/datetimes.py", line 293, in tz_localize
    arr = self._data.tz_localize(tz, ambiguous, nonexistent)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/arrays/_mixins.py", line 81, in method
    return meth(self, *args, **kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/arrays/datetimes.py", line 1090, in tz_localize
    new_dates = tzconversion.tz_localize_to_utc(
        self.asi8,
    ...<3 lines>...
        creso=self._creso,
    )
  File "pandas/_libs/tslibs/tzconversion.pyx", line 371, in pandas._libs.tslibs.tzconversion.tz_localize_to_utc
pytz.exceptions.AmbiguousTimeError: Cannot infer dst time from 2025-10-26 02:00:00, try using the 'ambiguous' argument


My apis seem to be producing the following error
Must be Daylight saving time error. See KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"
Torch1969 schreef op woensdag 22 oktober 2025 @ 21:24:

[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 heb het bewuste stukje code 5 keer overlopen en ik kan de fout niet vinden.
Heb je voor mij de logging van die berekening en de volledige grafiek (mag ook per dm)?
Overigens : in versie 2025.10.5 is zo'n soort fout in de grafieken gefixed: "fixed error second graph".

[ Voor 7% gewijzigd door KC27 op 27-10-2025 00:10 ]

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


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
KC27 schreef op zondag 26 oktober 2025 @ 23:24:
[...]

Ik heb het bewuste stukje code 5 keer overlopen en ik kan de fout niet vinden.
Heb je voor mij de logging van die berekening en de volledige grafiek (mag ook per dm)?
Overigens : in versie 2025.10.5 is zo'n soort fout in de grafieken gefixed: "fixed error second graph".
Ik heb inmiddels 2025.10.6 draaien, als de situatie zich weer voordoet (meer Zonopbrengst dan accu in, dus ook nog wat teruglevering), dan check ik de grafiek. Is het dan nog niet goed dan stuur ik de logging en grafiek.

  • Undertilted
  • Registratie: Augustus 2021
  • Laatst online: 06-12 18:18
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
Logging van bewerking "Optimaliseringsberekening met debug":
2025-10-27 08:46:46 info: Day Ahead Optimalisering versie: 2025.10.6
2025-10-27 08:46:46 info: Day Ahead Optimalisering gestart op: 27-10-2025 08:46:46
2025-10-27 08:46:46 info: Day Ahead Optimalisatie gestart: 27-10-2025 08:46:46 taak: calc_optimum_met_debug
2025-10-27 08:46:46 fout: Check your settings for Home Assistant database
2025-10-27 08:46:46 info: Debug = True
2025-10-27 08:46:46 fout: Check your settings for Home Assistant database
2025-10-27 08:46:46 info: Baseload uit instellingen
2025-10-27 08:46:46 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 268, in calc_optimum
    prod = self.calc_prod_solar(
        self.battery_options[b]["solar"][s],
    ...<2 lines>...
        hour_fraction[-1],
    )
  File "/root/dao/prog/da_base.py", line 402, in calc_prod_solar
    self.meteo.calc_solar_rad(solar_opt, act_time, act_gr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_meteo.py", line 616, in calc_solar_rad
    tilt = solar_opt["tilt"]
           ~~~~~~~~~^^^^^^^^
KeyError: 'tilt'
fout:root:Check your settings for Home Assistant database
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3980, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 3954, 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 268, in calc_optimum
    prod = self.calc_prod_solar(
        self.battery_options[b]["solar"][s],
    ...<2 lines>...
        hour_fraction[-1],
    )
  File "/root/dao/prog/da_base.py", line 402, in calc_prod_solar
    self.meteo.calc_solar_rad(solar_opt, act_time, act_gr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_meteo.py", line 616, in calc_solar_rad
    tilt = solar_opt["tilt"]
           ~~~~~~~~~^^^^^^^^
KeyError: 'tilt'
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x728b26602d40>


Ik krijg deze foutmelding (negeer ff de DB fout, die haal ik er wel uit).

meteoprognoses runnen gaat perfect.

Optimaliseringsberekening met debug geeft deze fout

config:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"solar": [
  {
    "name": "pv_roof_sw",
    "entity pv switch": "input_boolean.pv_roof_sw_enable",
    "tilt": 5,
    "orientation": 69,
    "yield": 0.0085,
    "capacity": 4.56
  },
  {
    "name": "pv_roof_se",
    "entity pv switch": "input_boolean.pv_roof_se_enable",
    "tilt": 15,
    "orientation": -22,
    "yield": 0.0063,
    "capacity": 3.36
  }
],

  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 06:54
Ik heb vanochtend om 8 uur gehad dat DAO operating mode op uit ging, en From PV gaf 0 aan. Terwijl zowel om 7:45 als om 8:15 er wel een waarde voor From PV was. Iemand enig idee waarom de omvormer wordt uitgezet?
2025-10-27 08:00:00 info: Day Ahead Optimalisering versie: 2025.10.6
2025-10-27 08:00:00 info: Day Ahead Optimalisering gestart op: 27-10-2025 08:00:00
2025-10-27 08:00:00 info: Day Ahead Optimalisatie gestart: 27-10-2025 08:00:00 taak: calc_optimum
2025-10-27 08:00:00 info: Debug = False
2025-10-27 08:00:00 info: Zelf berekende baseload
2025-10-27 08:00:00 info: Start waarden:
uur tijd p_l p_t base pv_ac pv_dc
0 08:00 2025-10-27 08:00:00 0.262 0.262 0.128 0.000 0.000
1 08:15 2025-10-27 08:15:00 0.262 0.262 0.095 0.007 0.014
2 08:30 2025-10-27 08:30:00 0.265 0.265 0.061 0.020 0.036
3 08:45 2025-10-27 08:45:00 0.257 0.257 0.062 0.032 0.058
4 09:00 2025-10-27 09:00:00 0.271 0.271 0.089 0.043 0.077
5 09:15 2025-10-27 09:15:00 0.269 0.269 0.090 0.055 0.099
6 09:30 2025-10-27 09:30:00 0.264 0.264 0.091 0.067 0.121
7 09:45 2025-10-27 09:45:00 0.245 0.245 0.094 0.084 0.153
8 10:00 2025-10-27 10:00:00 0.267 0.267 0.104 0.111 0.202
9 10:15 2025-10-27 10:15:00 0.259 0.259 0.107 0.130 0.234
10 10:30 2025-10-27 10:30:00 0.251 0.251 0.110 0.150 0.265
11 10:45 2025-10-27 10:45:00 0.243 0.243 0.090 0.147 0.260
12 11:00 2025-10-27 11:00:00 0.255 0.255 0.051 0.122 0.220
13 11:15 2025-10-27 11:15:00 0.252 0.252 0.031 0.119 0.215
14 11:30 2025-10-27 11:30:00 0.247 0.247 0.011 0.116 0.210
15 11:45 2025-10-27 11:45:00 0.242 0.242 -0.002 0.134 0.239
16 12:00 2025-10-27 12:00:00 0.244 0.244 -0.014 0.178 0.306
17 12:15 2025-10-27 12:15:00 0.233 0.233 -0.027 0.199 0.335
18 12:30 2025-10-27 12:30:00 0.234 0.234 -0.040 0.222 0.364
19 12:45 2025-10-27 12:45:00 0.234 0.234 -0.040 0.209 0.342
20 13:00 2025-10-27 13:00:00 0.234 0.234 -0.034 0.166 0.279
21 13:15 2025-10-27 13:15:00 0.233 0.233 -0.034 0.154 0.257
22 13:30 2025-10-27 13:30:00 0.231 0.231 -0.034 0.141 0.235
23 13:45 2025-10-27 13:45:00 0.230 0.230 -0.015 0.139 0.227
24 14:00 2025-10-27 14:00:00 0.230 0.230 0.022 0.154 0.240
25 14:15 2025-10-27 14:15:00 0.230 0.230 0.041 0.155 0.232
26 14:30 2025-10-27 14:30:00 0.234 0.234 0.060 0.159 0.224
27 14:45 2025-10-27 14:45:00 0.243 0.243 0.068 0.132 0.182
28 15:00 2025-10-27 15:00:00 0.228 0.228 0.065 0.071 0.103
29 15:15 2025-10-27 15:15:00 0.230 0.230 0.073 0.041 0.059
30 15:30 2025-10-27 15:30:00 0.246 0.246 0.081 0.007 0.014
31 15:45 2025-10-27 15:45:00 0.261 0.261 0.103 0.001 0.003
32 16:00 2025-10-27 16:00:00 0.246 0.246 0.147 0.007 0.014
33 16:15 2025-10-27 16:15:00 0.257 0.257 0.169 0.001 0.003
34 16:30 2025-10-27 16:30:00 0.269 0.269 0.191 0.000 0.000
35 16:45 2025-10-27 16:45:00 0.304 0.304 0.169 0.000 0.000
36 17:00 2025-10-27 17:00:00 0.261 0.261 0.105 0.000 0.000
37 17:15 2025-10-27 17:15:00 0.273 0.273 0.083 0.000 0.000
38 17:30 2025-10-27 17:30:00 0.288 0.288 0.061 0.000 0.000
39 17:45 2025-10-27 17:45:00 0.300 0.300 0.069 0.000 0.000
40 18:00 2025-10-27 18:00:00 0.287 0.287 0.103 0.000 0.000
41 18:15 2025-10-27 18:15:00 0.294 0.294 0.111 0.000 0.000
42 18:30 2025-10-27 18:30:00 0.313 0.313 0.119 0.000 0.000
43 18:45 2025-10-27 18:45:00 0.313 0.313 0.115 0.000 0.000
44 19:00 2025-10-27 19:00:00 0.314 0.314 0.099 0.000 0.000
45 19:15 2025-10-27 19:15:00 0.299 0.299 0.095 0.000 0.000
46 19:30 2025-10-27 19:30:00 0.284 0.284 0.091 0.000 0.000
47 19:45 2025-10-27 19:45:00 0.274 0.274 0.096 0.000 0.000
48 20:00 2025-10-27 20:00:00 0.277 0.277 0.111 0.000 0.000
49 20:15 2025-10-27 20:15:00 0.279 0.279 0.116 0.000 0.000
50 20:30 2025-10-27 20:30:00 0.260 0.260 0.121 0.000 0.000
51 20:45 2025-10-27 20:45:00 0.239 0.239 0.107 0.000 0.000
52 21:00 2025-10-27 21:00:00 0.288 0.288 0.077 0.000 0.000
53 21:15 2025-10-27 21:15:00 0.254 0.254 0.063 0.000 0.000
54 21:30 2025-10-27 21:30:00 0.241 0.241 0.049 0.000 0.000
55 21:45 2025-10-27 21:45:00 0.243 0.243 0.046 0.000 0.000
56 22:00 2025-10-27 22:00:00 0.284 0.284 0.051 0.000 0.000
57 22:15 2025-10-27 22:15:00 0.252 0.252 0.048 0.000 0.000
58 22:30 2025-10-27 22:30:00 0.251 0.251 0.045 0.000 0.000
59 22:45 2025-10-27 22:45:00 0.236 0.236 0.040 0.000 0.000
60 23:00 2025-10-27 23:00:00 0.245 0.245 0.035 0.000 0.000
61 23:15 2025-10-27 23:15:00 0.240 0.240 0.031 0.000 0.000
62 23:30 2025-10-27 23:30:00 0.244 0.244 0.027 0.000 0.000
63 23:45 2025-10-27 23:45:00 0.244 0.244 0.022 0.000 0.000
2025-10-27 08:00:00 info: No reduced hours applied for Batterij
2025-10-27 08:00:02 info: Startwaarde SoC Batterij: 100.0%

2025-10-27 08:00:02 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2025-10-27 08:00:02 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland

2025-10-27 08:00:02 info: Strategie: minimale kosten
2025-10-27 08:00:02 info: Maximale fout (maximal gap): 0.005000 euro
2025-10-27 08:00:03 info: Rekentijd: 1.31 sec
2025-10-27 08:00:03 info: Het programma heeft een optimale oplossing gevonden.
2025-10-27 08:00:04 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 % %
08:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00
08:15 -0.01 86.10 -0.01 0.01 -0.00 93.00 -0.00 -- 99.99
08:30 -0.04 88.60 -0.04 0.04 -0.01 93.00 -0.01 -- 99.92
08:45 -0.05 88.60 -0.06 0.06 0.00 -- 0.00 -- 99.92
09:00 -0.07 88.60 -0.08 0.08 0.00 -- 0.00 -- 99.92
09:15 -0.09 89.30 -0.10 0.10 0.00 -- 0.00 -- 99.92
09:30 -0.11 89.30 -0.12 0.12 0.00 -- 0.00 -- 99.92
09:45 -0.14 89.30 -0.15 0.15 0.00 -- 0.00 -- 99.92
10:00 -0.18 89.60 -0.20 0.20 0.00 -- 0.00 -- 99.92
10:15 -0.21 89.60 -0.23 0.23 0.00 -- 0.00 -- 99.92
10:30 -0.24 89.60 -0.27 0.27 0.00 -- 0.00 -- 99.92
10:45 -0.23 89.60 -0.26 0.26 0.00 -- 0.00 -- 99.92
11:00 -0.20 89.60 -0.22 0.22 0.00 -- 0.00 -- 99.92
11:15 -0.19 89.60 -0.21 0.21 0.00 -- 0.00 -- 99.92
11:30 -0.19 89.60 -0.21 0.21 0.00 -- 0.00 -- 99.92
11:45 -0.21 89.60 -0.24 0.24 0.00 -- 0.00 -- 99.92
12:00 -0.27 89.60 -0.31 0.31 0.00 -- 0.00 -- 99.92
12:15 -0.30 89.70 -0.34 0.34 0.00 -- 0.00 -- 99.92
12:30 -0.33 89.70 -0.36 0.36 0.00 -- 0.00 -- 99.92
12:45 -0.31 89.70 -0.34 0.34 0.00 -- 0.00 -- 99.92
13:00 -0.25 89.60 -0.28 0.28 0.00 -- 0.00 -- 99.92
13:15 -0.23 89.60 -0.26 0.26 0.00 -- 0.00 -- 99.92
13:30 -0.21 89.60 -0.23 0.23 0.00 -- 0.00 -- 99.92
13:45 -0.20 89.60 -0.23 0.23 0.00 -- 0.00 -- 99.92
14:00 -0.21 89.60 -0.24 0.24 0.00 -- 0.00 -- 99.92
14:15 -0.21 89.60 -0.23 0.23 0.00 -- 0.00 -- 99.92
14:30 -0.20 89.60 -0.22 0.22 0.00 -- 0.00 -- 99.92
14:45 -0.16 89.60 -0.18 0.18 0.00 -- 0.00 -- 99.92
15:00 -0.09 89.30 -0.10 0.10 0.00 -- 0.00 -- 99.92
15:15 -0.05 88.60 -0.06 0.06 0.00 -- 0.00 -- 99.92
15:30 -0.01 86.10 -0.01 0.01 -0.00 93.00 -0.00 -- 99.91
15:45 -0.00 82.50 -0.00 0.00 0.00 -- 0.00 -- 99.91
16:00 -0.01 86.10 -0.01 0.01 -0.00 93.00 -0.00 -- 99.91
16:15 -0.00 82.50 -0.00 0.00 0.00 -- 0.00 -- 99.91
16:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 99.91
16:45 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 91.85
17:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 91.85
17:15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 91.85
17:30 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 83.78
17:45 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 75.72
18:00 -0.53 89.80 -0.59 0.00 -0.59 93.00 -0.63 83.51 69.39
18:15 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 61.32
18:30 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 53.26
18:45 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 45.19
19:00 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 37.13
19:15 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 29.06
19:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 29.06
19:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 29.06
20:00 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 29.06
20:15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 29.06
20:30 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 29.06
20:45 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 29.06
21:00 -0.67 89.80 -0.75 0.00 -0.75 93.00 -0.81 83.51 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 -11.81 -- -13.17 5.82 -7.35 -- -7.90 --
2025-10-27 08:00:11 info: Berekende prognoses:
uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem
08:00 0.00 0.00 0.13 0.00 0.13 0.00 0.00 0.00 0.00 0.03 -0.00 20.00
08:15 0.00 0.01 0.08 0.00 0.09 0.00 0.00 0.00 0.01 0.02 -0.00 20.00
08:30 0.00 0.04 0.00 0.00 0.06 0.00 0.00 0.00 0.02 0.00 -0.00 20.00
08:45 0.00 0.05 0.00 0.02 0.06 0.00 0.00 0.00 0.03 0.00 -0.01 20.00
09:00 0.00 0.07 0.00 0.02 0.09 0.00 0.00 0.00 0.04 0.00 -0.01 20.00
09:15 0.00 0.09 0.00 0.05 0.09 0.00 0.00 0.00 0.05 0.00 -0.01 20.00
09:30 0.00 0.11 0.00 0.08 0.09 0.00 0.00 0.00 0.07 0.00 -0.02 20.00
09:45 0.00 0.14 0.00 0.13 0.09 0.00 0.00 0.00 0.08 0.00 -0.03 20.00
10:00 0.00 0.18 0.00 0.19 0.10 0.00 0.00 0.00 0.11 0.00 -0.05 20.00
10:15 0.00 0.21 0.00 0.23 0.11 0.00 0.00 0.00 0.13 0.00 -0.06 20.00
10:30 0.00 0.24 0.00 0.28 0.11 0.00 0.00 0.00 0.15 0.00 -0.07 20.00
10:45 0.00 0.23 0.00 0.29 0.09 0.00 0.00 0.00 0.15 0.00 -0.07 20.00
11:00 0.00 0.20 0.00 0.27 0.05 0.00 0.00 0.00 0.12 0.00 -0.07 20.00
11:15 0.00 0.19 0.00 0.28 0.03 0.00 0.00 0.00 0.12 0.00 -0.07 20.00
11:30 0.00 0.19 0.00 0.29 0.01 0.00 0.00 0.00 0.12 0.00 -0.07 20.00
11:45 0.00 0.21 0.00 0.35 -0.00 0.00 0.00 0.00 0.13 0.00 -0.09 20.00
12:00 0.00 0.27 0.00 0.47 -0.01 0.00 0.00 0.00 0.18 0.00 -0.11 20.00
12:15 0.00 0.30 0.00 0.53 -0.03 0.00 0.00 0.00 0.20 0.00 -0.12 20.00
12:30 0.00 0.33 0.00 0.59 -0.04 0.00 0.00 0.00 0.22 0.00 -0.14 20.00
12:45 0.00 0.31 0.00 0.56 -0.04 0.00 0.00 0.00 0.21 0.00 -0.13 20.00
13:00 0.00 0.25 0.00 0.45 -0.03 0.00 0.00 0.00 0.17 0.00 -0.11 20.00
13:15 0.00 0.23 0.00 0.42 -0.03 0.00 0.00 0.00 0.15 0.00 -0.10 20.00
13:30 0.00 0.21 0.00 0.39 -0.03 0.00 0.00 0.00 0.14 0.00 -0.09 20.00
13:45 0.00 0.20 0.00 0.36 -0.01 0.00 0.00 0.00 0.14 0.00 -0.08 20.00
14:00 0.00 0.21 0.00 0.35 0.02 0.00 0.00 0.00 0.15 0.00 -0.08 20.00
14:15 0.00 0.21 0.00 0.32 0.04 0.00 0.00 0.00 0.16 0.00 -0.07 20.00
14:30 0.00 0.20 0.00 0.30 0.06 0.00 0.00 0.00 0.16 0.00 -0.07 20.00
14:45 0.00 0.16 0.00 0.23 0.07 0.00 0.00 0.00 0.13 0.00 -0.06 20.00
15:00 0.00 0.09 0.00 0.10 0.06 0.00 0.00 0.00 0.07 0.00 -0.02 20.00
15:15 0.00 0.05 0.00 0.02 0.07 0.00 0.00 0.00 0.04 0.00 -0.00 20.00
15:30 0.00 0.01 0.06 0.00 0.08 0.00 0.00 0.00 0.01 0.02 -0.00 20.00
15:45 0.00 0.00 0.10 0.00 0.10 0.00 0.00 0.00 0.00 0.03 -0.00 20.00
16:00 0.00 0.01 0.13 0.00 0.15 0.00 0.00 0.00 0.01 0.03 -0.00 20.00
16:15 0.00 0.00 0.17 0.00 0.17 0.00 0.00 0.00 0.00 0.04 -0.00 20.00
16:30 0.00 0.00 0.19 0.00 0.19 0.00 0.00 0.00 0.00 0.05 -0.00 20.00
16:45 0.00 0.67 0.00 0.50 0.17 0.00 0.00 0.00 0.00 0.00 -0.15 20.00
17: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
17:15 0.00 0.00 0.08 0.00 0.08 0.00 0.00 0.00 0.00 0.02 -0.00 20.00
17:30 0.00 0.67 0.00 0.61 0.06 0.00 0.00 0.00 0.00 0.00 -0.18 20.00
17:45 0.00 0.67 0.00 0.60 0.07 0.00 0.00 0.00 0.00 0.00 -0.18 20.00
18:00 0.00 0.53 0.00 0.43 0.10 0.00 0.00 0.00 0.00 0.00 -0.12 20.00
18:15 0.00 0.67 0.00 0.56 0.11 0.00 0.00 0.00 0.00 0.00 -0.17 20.00
18:30 0.00 0.67 0.00 0.55 0.12 0.00 0.00 0.00 0.00 0.00 -0.17 20.00
18:45 0.00 0.67 0.00 0.56 0.11 0.00 0.00 0.00 0.00 0.00 -0.17 20.00
19:00 0.00 0.67 0.00 0.57 0.10 0.00 0.00 0.00 0.00 0.00 -0.18 20.00
19:15 0.00 0.67 0.00 0.58 0.10 0.00 0.00 0.00 0.00 0.00 -0.17 20.00
19:30 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:45 0.00 0.00 0.10 0.00 0.10 0.00 0.00 0.00 0.00 0.03 -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.12 0.00 0.12 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.03 -0.00 20.00
21:00 0.00 0.67 0.00 0.60 0.08 0.00 0.00 0.00 0.00 0.00 -0.17 20.00
21:15 0.00 0.00 0.06 0.00 0.06 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.04 0.00 0.04 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.03 0.00 0.03 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.01 -0.00 20.00
Totaal 0.00 11.81 2.14 13.13 4.29 0.00 0.00 0.00 3.48 0.56 -3.48

2025-10-27 08:00:11 info: Consumption 2.14 (kWh)
2025-10-27 08:00:11 info: Cost consumption 0.56 (€)
2025-10-27 08:00:11 info: Tariff consumption 0.261 (€/kWh)
2025-10-27 08:00:11 info: Production 13.13 (kWh)
2025-10-27 08:00:11 info: Profit production -3.48 (€)
2025-10-27 08:00:11 info: Tariff production 0.265 (€/kWh)

2025-10-27 08:00:11 info:
Calculation profit after optimize in €
Cost before optimize -0.93
Cost consumption 0.56
Profit production -3.48
Cycle cost 0.22
Battery storage 1.67
Boiler storage 0.00
Total -1.04
Cost after optimize -1.04
Profit: 0.11
2025-10-27 08:00:11 info: Doorzetten van alle settings naar HA
2025-10-27 08:00:11 info: Grid set point: 512.0 W
2025-10-27 08:00:11 info: Cycle cost Batterij: 0.22 euro
2025-10-27 08:00:11 info: Netto vermogen naar(+)/uit(-) omvormer Batterij: 0 W
2025-10-27 08:00:11 info: Balanceren: False
2025-10-27 08:00:11 info: Vermogen uit batterij: 0W
2025-10-27 08:00:11 info: Vermogen dat binnenkomt van pv: 0W
2025-10-27 08:00:11 info: Vermogen dat binnenkomt van ac: 0W
2025-10-27 08:00:11 info: Waarde SoC na eerste uur: 100.0%
Afbeeldingslocatie: https://tweakers.net/i/w8D7MmuBhd9Uxl-5ASQhEvsFMlo=/800x/filters:strip_exif()/f/image/gGZ8SMEKApvv4N1LtXNWjc1Z.png?f=fotoalbum_large

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 12:22
Impossibl3 schreef op vrijdag 24 oktober 2025 @ 23:06:
Ik ga mogelijk mezelf weer een paar slapeloze nachten bezorgen, want ik dacht: met mijn beperkte programmeerervaring wil ik eens kijken of ik de module voor de warmtepomp kan uitbreiden met een comfortmodus (of het lukt is een tweede).

Achtergrond over mijn warmtepomp-situatie:
Mijn warmtepomp (lucht-water) is aan te sturen via de stooklijn en/of een aan/uit-signaal. Omdat de pomp in principe zelfstandig moet kunnen werken met de ingestelde stooklijn, wil ik zo min mogelijk aan de interne instellingen komen. Wel kan ik het relais dat de aan/uit-sturing naar de pomp verzorgt slimmer aansturen dan ik nu doe (nu: aan/uit op basis van ruimtetemperatuur buiten het doeltemperatuurbereik ± hysterese).

De reden hiervoor is simpel: mocht ik onder de bus komen — of iets realistischer, mocht Home Assistant er opeens mee ophouden terwijl ik niet thuis ben — dan moet mijn vrouw gewoon de verwarming aan de praat kunnen houden.

Ik gebruik de warmtepomp dus via een aan/uit-schakeling + stooklijn, omdat ik een grote pui op het zuidwesten heb. In de winter kan een beetje zon al genoeg zijn om de woning op temperatuur te brengen, waardoor de pomp tijdelijk uit kan. In het voor- en naseizoen gebeurt dat regelmatig, waardoor uitsluitend sturen op buitentemperatuur (zelfs met een interne correctie, zoals mijn pomp ondersteunt) niet altijd voldoende is.

Het idee:
Mijn idee voor de aanvullende warmtepomp-module is om de pomp optimaal in te plannen op basis van:

* warmteverlies van de woning (berekend via graaddagen),
* spotmarktprijs,
* verwachte buitentemperatuur,
* COP-curves verdeeld in *N* temperatuur-bins (waarbij *N* variabel is zodat de regeling vloeiender kan worden gemaakt),
* doel-binnentemperatuur (vanuit thermostaat),
* actuele binnentemperatuur (ook vanuit thermostaat),
* en een instelbare comfortbandbreedte (hysterese).

Het resultaat moet zijn dat de thermostaat-doeltemperatuur dynamisch wordt bijgesteld op basis van deze parameters — zonder dat deze buiten ingestelde minimum- en maximumwaarden komt. Zo bepaalt het proces de optimale inzet van de warmtepomp op basis van prijs én comfort.

Kort gezegd: een verfijning van de bestaande *heating curve*-modus, maar dan met een extra comfortweging.

Wat al bestaat (volgens de DAO-code):
* Warmtevraag via graaddagen,
* Spotprijs (hoofdfunctie van DAO),
* Verwachte buitentemperatuur (nodig voor graaddagenberekening).

Wat nog ontbreekt:
* Koppeling van COP-curves aan temperatuur-bins (nu zijn er wel acht COP_power-waarden, maar niet gekoppeld aan de meteo-verwachting, enkel aan totaal warmteverlies),
* Integratie van het binnenklimaat (thermostaat met dynamische setpoint-band binnen min/max).

Het gewenste resultaat is dat DAO niet alleen bepaalt hoeveel warmtevraag er in een periode is, maar ook wanneer die vraag het best ingevuld kan worden, op basis van de buitentemperatuur-afhankelijke COP.
Zo kan het bijvoorbeeld gunstiger zijn om tijdens duurdere uren te verwarmen met een hoge COP, dan tijdens goedkope uren met een lage COP.

In de JSON zou dan — naast de bestaande `power_stages` — ook een set `COP_stages` (of iets vergelijkbaars) verschijnen, gebaseerd op de voorspelde buitentemperatuur.

De vragen aan jullie:
1. Wat vinden jullie van deze gedachtengang — en is dit een gewenste uitbreiding? (Specifiek ook aan @KC27, als bedenker van DAO.)
2. Wat is de handigste manier om dit te testen?

Mijn eerste idee was om DAO in Docker op mijn laptop te draaien, zodat ik lokaal kan experimenteren voordat ik @KC27 via GitHub lastigval.

Maar wat is dan het meest praktisch:
- DAO in Docker draaien en laten verwijzen naar de entiteiten op mijn HA-machine (die op HAOS draait),
- of HA lokaal naast DAO installeren met een paar test-entiteiten om de simulatie uit te voeren?

Of is er misschien nog een betere route — bijvoorbeeld het draaien als losse Python-bestanden in VS Code?

Tot nu toe heb ik alleen losse Python-scripts geschreven en getest, nooit met meerdere modules en een eigen database. Vandaar mijn vraag wat in dit geval de handigste aanpak is.

Ik hoor graag jullie ideeën.
Prima plan lijkt me!

Wat voor warmtepomp heb je staan waarmee je kunt sturen via de stooklijn en/of een aan/uit-signaal?

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


  • Impossibl3
  • Registratie: November 2012
  • Laatst online: 17:10
hemertje schreef op maandag 27 oktober 2025 @ 09:24:
[...]


Prima plan lijkt me!

Wat voor warmtepomp heb je staan waarmee je kunt sturen via de stooklijn en/of een aan/uit-signaal?
Ik heb een Itho Daalderop Amber staan. Via modbus kan ik de stooklijn schuiven. Via 1 vaste waarde of een 5 punts stooklijn.

Ik kan hem sturen op basis van buitentemperatuur (aan onder een bepaalde waarde), aan/uit signaal (thermostaat) en ik kan hem laten corrigeren op de stooklijn via de ruimtetemperatuur sensor.

PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Undertilted schreef op maandag 27 oktober 2025 @ 08:49:
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
Logging van bewerking "Optimaliseringsberekening met debug":
2025-10-27 08:46:46 info: Day Ahead Optimalisering versie: 2025.10.6
2025-10-27 08:46:46 info: Day Ahead Optimalisering gestart op: 27-10-2025 08:46:46
2025-10-27 08:46:46 info: Day Ahead Optimalisatie gestart: 27-10-2025 08:46:46 taak: calc_optimum_met_debug
2025-10-27 08:46:46 fout: Check your settings for Home Assistant database
2025-10-27 08:46:46 info: Debug = True
2025-10-27 08:46:46 fout: Check your settings for Home Assistant database
2025-10-27 08:46:46 info: Baseload uit instellingen
2025-10-27 08:46:46 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 268, in calc_optimum
    prod = self.calc_prod_solar(
        self.battery_options[b]["solar"][s],
    ...<2 lines>...
        hour_fraction[-1],
    )
  File "/root/dao/prog/da_base.py", line 402, in calc_prod_solar
    self.meteo.calc_solar_rad(solar_opt, act_time, act_gr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_meteo.py", line 616, in calc_solar_rad
    tilt = solar_opt["tilt"]
           ~~~~~~~~~^^^^^^^^
KeyError: 'tilt'
fout:root:Check your settings for Home Assistant database
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3980, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 3954, 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 268, in calc_optimum
    prod = self.calc_prod_solar(
        self.battery_options[b]["solar"][s],
    ...<2 lines>...
        hour_fraction[-1],
    )
  File "/root/dao/prog/da_base.py", line 402, in calc_prod_solar
    self.meteo.calc_solar_rad(solar_opt, act_time, act_gr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_meteo.py", line 616, in calc_solar_rad
    tilt = solar_opt["tilt"]
           ~~~~~~~~~^^^^^^^^
KeyError: 'tilt'
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x728b26602d40>


Ik krijg deze foutmelding (negeer ff de DB fout, die haal ik er wel uit).

meteoprognoses runnen gaat perfect.

Optimaliseringsberekening met debug geeft deze fout

config:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"solar": [
  {
    "name": "pv_roof_sw",
    "entity pv switch": "input_boolean.pv_roof_sw_enable",
    "tilt": 5,
    "orientation": 69,
    "yield": 0.0085,
    "capacity": 4.56
  },
  {
    "name": "pv_roof_se",
    "entity pv switch": "input_boolean.pv_roof_se_enable",
    "tilt": 15,
    "orientation": -22,
    "yield": 0.0063,
    "capacity": 3.36
  }
],
Deze is bijzonder, error verwijst naar tilt, maar ik zie niets vreemds aan die config optie…

  • Mirabis
  • Registratie: Juli 2013
  • Niet online
Ik ben een tijdje op vakantie geweest en dacht dat DAO mooi door zou draaien..maar dat viel een beetje tegen. Er zijn meerdere momenten geweest dat het stopt met berekenen. Iemand daar ook ervaringen mee en tips om dat op te lossen? Uit de logs word ik niet wijzer. Lijkt er gewoon op dat de timer niet triggert of dat iets uit-sync loopt.
Afbeeldingslocatie: https://tweakers.net/i/IQ9SECwJhq-SOmwSoXIBdIV-wV0=/800x/filters:strip_exif()/f/image/UaRXWkOwPUIgooQvD5DydSEb.png?f=fotoalbum_large

Komt namelijk steeds vaker voor dat de planning goed is, maar dat einde dag er vrij weinig is gebeurd.

[ Voor 7% gewijzigd door Mirabis op 27-10-2025 13:06 ]

1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Tibber, 3x25A, Easee Charge Lite | EV 98kWh

Undertilted schreef op maandag 27 oktober 2025 @ 08:49:
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
Logging van bewerking "Optimaliseringsberekening met debug":
2025-10-27 08:46:46 info: Day Ahead Optimalisering versie: 2025.10.6
2025-10-27 08:46:46 info: Day Ahead Optimalisering gestart op: 27-10-2025 08:46:46
2025-10-27 08:46:46 info: Day Ahead Optimalisatie gestart: 27-10-2025 08:46:46 taak: calc_optimum_met_debug
2025-10-27 08:46:46 fout: Check your settings for Home Assistant database
2025-10-27 08:46:46 info: Debug = True
2025-10-27 08:46:46 fout: Check your settings for Home Assistant database
2025-10-27 08:46:46 info: Baseload uit instellingen
2025-10-27 08:46:46 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 268, in calc_optimum
    prod = self.calc_prod_solar(
        self.battery_options[b]["solar"][s],
    ...<2 lines>...
        hour_fraction[-1],
    )
  File "/root/dao/prog/da_base.py", line 402, in calc_prod_solar
    self.meteo.calc_solar_rad(solar_opt, act_time, act_gr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_meteo.py", line 616, in calc_solar_rad
    tilt = solar_opt["tilt"]
           ~~~~~~~~~^^^^^^^^
KeyError: 'tilt'
fout:root:Check your settings for Home Assistant database
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3980, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 3954, 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 268, in calc_optimum
    prod = self.calc_prod_solar(
        self.battery_options[b]["solar"][s],
    ...<2 lines>...
        hour_fraction[-1],
    )
  File "/root/dao/prog/da_base.py", line 402, in calc_prod_solar
    self.meteo.calc_solar_rad(solar_opt, act_time, act_gr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_meteo.py", line 616, in calc_solar_rad
    tilt = solar_opt["tilt"]
           ~~~~~~~~~^^^^^^^^
KeyError: 'tilt'
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x728b26602d40>


Ik krijg deze foutmelding (negeer ff de DB fout, die haal ik er wel uit).

meteoprognoses runnen gaat perfect.

Optimaliseringsberekening met debug geeft deze fout

config:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"solar": [
  {
    "name": "pv_roof_sw",
    "entity pv switch": "input_boolean.pv_roof_sw_enable",
    "tilt": 5,
    "orientation": 69,
    "yield": 0.0085,
    "capacity": 4.56
  },
  {
    "name": "pv_roof_se",
    "entity pv switch": "input_boolean.pv_roof_se_enable",
    "tilt": 15,
    "orientation": -22,
    "yield": 0.0063,
    "capacity": 3.36
  }
],
Aan de foutmelding te zien heb je de zonnepanelen ondergebracht onder de omvormer van je thuisbatterij.
Heb je voor mij de gehele configuratie van je "battery".
Doe de setting van je "solar" er ook maar bij.

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

Mirabis schreef op maandag 27 oktober 2025 @ 13:06:
Ik ben een tijdje op vakantie geweest en dacht dat DAO mooi door zou draaien..maar dat viel een beetje tegen. Er zijn meerdere momenten geweest dat het stopt met berekenen. Iemand daar ook ervaringen mee en tips om dat op te lossen? Uit de logs word ik niet wijzer. Lijkt er gewoon op dat de timer niet triggert of dat iets uit-sync loopt.
[Afbeelding]

Komt namelijk steeds vaker voor dat de planning goed is, maar dat einde dag er vrij weinig is gebeurd.
Bij mij draaide DAO in de vakantie gewoon door (addon van HA).
Ik zie dat jij DAO als losse container onder proxmox draait.
Kun je daar nog iets van prioriteit instellen.
Ik heb geen ervaring met proxmox, maar misschien kun gebruikers van DAO onder promox hun ervaringen en instellingen met je delen?

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


  • Mirabis
  • Registratie: Juli 2013
  • Niet online
Ik kan wel prioriteit instellen maar ik geloof niet dat resource beschikbaarheid het probleem is. Mijn server is eigenlijk oversized/overpowered voor het luttele wat ik draai. Als ik naar de grafieken kijk gaat dat allemaal prima. Ik heb voor nu in ChangeDetection een monitor gemaakt voor DAO die kijkt of de calculatie image aangepast wordt. Zodra hij een change ziet (dus er is een nieuwe berekening) stuurt ChangeDetection een notificatie naar UptimeKuma. UptimeKuma is dan weer zo ingesteld dat het mij een notificatie op mijn mobiel stuurt als hij geen enkele notificatie ontvangt binnen 901 seconde (15 min).

Hoop zo notificatie's te ontvangen voor wanneer het weer stopt zodat ik dat naast de logs en homeassistant kan houden. De monitoring loopt dan ook buiten HA/DAO om. Mijn eerste gok is nu dat als HomeAssistant restart i.v.m. een addon/integratie update de actieve timers ook stoppen.

1x Venus-E v153 +LilyGo HA, CT003 V117 | 5040Wp ZO + 4200Wp NW | Tibber, 3x25A, Easee Charge Lite | EV 98kWh


  • sipjan
  • Registratie: Juni 2013
  • Laatst online: 16:38
N.a.v. Animal donderdag 23 oktober 2025 12:49

Geweldig idee. Dat ik daar niet opgekomen ben. In die manuals van die apparaten kan het niet duidelijker staan (meestal niet)

[ Voor 16% gewijzigd door sipjan op 28-10-2025 14:27 ]

Mirabis schreef op maandag 27 oktober 2025 @ 23:23:
Ik kan wel prioriteit instellen maar ik geloof niet dat resource beschikbaarheid het probleem is. Mijn server is eigenlijk oversized/overpowered voor het luttele wat ik draai. Als ik naar de grafieken kijk gaat dat allemaal prima. Ik heb voor nu in ChangeDetection een monitor gemaakt voor DAO die kijkt of de calculatie image aangepast wordt. Zodra hij een change ziet (dus er is een nieuwe berekening) stuurt ChangeDetection een notificatie naar UptimeKuma. UptimeKuma is dan weer zo ingesteld dat het mij een notificatie op mijn mobiel stuurt als hij geen enkele notificatie ontvangt binnen 901 seconde (15 min).

Hoop zo notificatie's te ontvangen voor wanneer het weer stopt zodat ik dat naast de logs en homeassistant kan houden. De monitoring loopt dan ook buiten HA/DAO om. Mijn eerste gok is nu dat als HomeAssistant restart i.v.m. een addon/integratie update de actieve timers ook stoppen.
Ik heb om deze redenen juist automatische updates in HA uit staan. Nooit restarts op het hele uur/kwartier en ik lees eerst de release notes m.n. de breaking changes.

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


  • Undertilted
  • Registratie: Augustus 2021
  • Laatst online: 06-12 18:18
KC27 schreef op maandag 27 oktober 2025 @ 22:55:
[...]

Aan de foutmelding te zien heb je de zonnepanelen ondergebracht onder de omvormer van je thuisbatterij.
Heb je voor mij de gehele configuratie van je "battery".
Doe de setting van je "solar" er ook maar bij.
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
"battery": [
  {
    "name": "BYD",
    "capacity": 11.0,                              
    "entity actual level": "sensor.battery_state_of_charge",   
    "upper limit": 0.95,                           
    "lower limit": 0.10,                           
    "optimal lower level": 0.20,                   

    "charge stages": [
      { "power": 300,  "efficiency": 0.88 },
      { "power": 1000, "efficiency": 0.93 },
      { "power": 2000, "efficiency": 0.95 },
      { "power": 3000, "efficiency": 0.955 },
      { "power": 4000, "efficiency": 0.95 },
      { "power": 5000, "efficiency": 0.94 }
    ],
    "discharge stages": [
      { "power": 300,  "efficiency": 0.90 },
      { "power": 1000, "efficiency": 0.94 },
      { "power": 2000, "efficiency": 0.955 },
      { "power": 3000, "efficiency": 0.96 },
      { "power": 4000, "efficiency": 0.955 },
      { "power": 5000, "efficiency": 0.95 }
    ],

    "reduced hours": {},
    "minimum power": 200,

    "dc_to_bat efficiency": 0.98,
    "bat_to_dc efficiency": 0.99,
    "bat_to_dc max power": 10000,

    "cycle cost": 0.05,

    "entity set power feedin": "input_number.goodwe_feed_in_limit_w",
    "entity set operating mode": "input_select.goodwe_operating_mode",
    "entity set operating mode on": "Self-consumption",
    "entity set operating mode off": "Off",
    "entity stop inverter": "input_datetime.goodwe_stop_until",
    "entity balance switch": "input_boolean.goodwe_cell_balance",

    "solar": [
      { "ref": "pv_roof_sw", "type": "pv_ac" },
      { "ref": "pv_roof_se", "type": "pv_ac" }
    ],

    "_comment_limits": "upper/lower/optimal zijn fracties (0..1).",
    "_comment_power": "minimum power ~300 W voorkomt nerveus pendelen.",
    "_comment_max": "bat_to_dc max power = 2 × 5 kW voorstel; pas aan als je inverter 5 kW max ontlaadt.",
    "_comment_modes": "operating mode strings moeten overeenkomen met je HA helper opties."
  }
]
,
"solar": [
  {
    "name": "pv_roof_sw",
    "entity pv switch": "input_boolean.pv_roof_sw_enable",
    "tilt": 5,
    "orientation": 69,
    "yield": 0.0085,
    "capacity": 4.56
  },
  {
    "name": "pv_roof_se",
    "entity pv switch": "input_boolean.pv_roof_se_enable",
    "tilt": 15,
    "orientation": -22,
    "yield": 0.0063,
    "capacity": 3.36
  }
],



//edit: lijkt te werken nu.

acces en DB acces is ook in orde. Ik krijg nog niet alle kwartierwaarden binnen, zal voor morgen zijn denk ik.
Undertilted schreef op dinsdag 28 oktober 2025 @ 21:46:
[...]

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
"battery": [
  {
    "name": "BYD",
    "capacity": 11.0,                              
    "entity actual level": "sensor.battery_state_of_charge",   
    "upper limit": 0.95,                           
    "lower limit": 0.10,                           
    "optimal lower level": 0.20,                   

    "charge stages": [
      { "power": 300,  "efficiency": 0.88 },
      { "power": 1000, "efficiency": 0.93 },
      { "power": 2000, "efficiency": 0.95 },
      { "power": 3000, "efficiency": 0.955 },
      { "power": 4000, "efficiency": 0.95 },
      { "power": 5000, "efficiency": 0.94 }
    ],
    "discharge stages": [
      { "power": 300,  "efficiency": 0.90 },
      { "power": 1000, "efficiency": 0.94 },
      { "power": 2000, "efficiency": 0.955 },
      { "power": 3000, "efficiency": 0.96 },
      { "power": 4000, "efficiency": 0.955 },
      { "power": 5000, "efficiency": 0.95 }
    ],

    "reduced hours": {},
    "minimum power": 200,

    "dc_to_bat efficiency": 0.98,
    "bat_to_dc efficiency": 0.99,
    "bat_to_dc max power": 10000,

    "cycle cost": 0.05,

    "entity set power feedin": "input_number.goodwe_feed_in_limit_w",
    "entity set operating mode": "input_select.goodwe_operating_mode",
    "entity set operating mode on": "Self-consumption",
    "entity set operating mode off": "Off",
    "entity stop inverter": "input_datetime.goodwe_stop_until",
    "entity balance switch": "input_boolean.goodwe_cell_balance",

    "solar": [
      { "ref": "pv_roof_sw", "type": "pv_ac" },
      { "ref": "pv_roof_se", "type": "pv_ac" }
    ],

    "_comment_limits": "upper/lower/optimal zijn fracties (0..1).",
    "_comment_power": "minimum power ~300 W voorkomt nerveus pendelen.",
    "_comment_max": "bat_to_dc max power = 2 × 5 kW voorstel; pas aan als je inverter 5 kW max ontlaadt.",
    "_comment_modes": "operating mode strings moeten overeenkomen met je HA helper opties."
  }
]
,
"solar": [
  {
    "name": "pv_roof_sw",
    "entity pv switch": "input_boolean.pv_roof_sw_enable",
    "tilt": 5,
    "orientation": 69,
    "yield": 0.0085,
    "capacity": 4.56
  },
  {
    "name": "pv_roof_se",
    "entity pv switch": "input_boolean.pv_roof_se_enable",
    "tilt": 15,
    "orientation": -22,
    "yield": 0.0063,
    "capacity": 3.36
  }
],



//edit: lijkt te werken nu.

acces en DB acces is ook in orde. Ik krijg nog niet alle kwartierwaarden binnen, zal voor morgen zijn denk ik.
Ok, dus de pv is pv_ac met een eigen omvormer direct op je ac-net en niet gekoppeld aan de dc van je batterij.
Maar dan kunnen de regels:
code:
1
2
3
4
    "solar": [
      { "ref": "pv_roof_sw", "type": "pv_ac" },
      { "ref": "pv_roof_se", "type": "pv_ac" }
    ],

ook uit je instellingen, want die veroorzaakten die foutmelding.

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


  • Undertilted
  • Registratie: Augustus 2021
  • Laatst online: 06-12 18:18
Als ik de prijzen ophaal van vandaag krijg ik dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
2025-10-29 08:31:39 info: Day ahead prijzen van Nordpool:
 [ { 'end': datetime.datetime(2025, 10, 28, 23, 15, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 0, tzinfo=tzutc()),
    'value': 65.45},
  { 'end': datetime.datetime(2025, 10, 28, 23, 30, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 15, tzinfo=tzutc()),
    'value': 62.31},
  { 'end': datetime.datetime(2025, 10, 28, 23, 45, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 30, tzinfo=tzutc()),
    'value': 56.48},
  { 'end': datetime.datetime(2025, 10, 29, 0, 0, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 45, tzinfo=tzutc()),
    'value': 51.94},


is de data van Nord Pool in UTC of zit het fout aan mijn kant?

  • Undertilted
  • Registratie: Augustus 2021
  • Laatst online: 06-12 18:18
KC27 schreef op dinsdag 28 oktober 2025 @ 23:37:

ook uit je instellingen, want die veroorzaakten die foutmelding.
Dankjewel!
Undertilted schreef op woensdag 29 oktober 2025 @ 08:33:
Als ik de prijzen ophaal van vandaag krijg ik dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
2025-10-29 08:31:39 info: Day ahead prijzen van Nordpool:
 [ { 'end': datetime.datetime(2025, 10, 28, 23, 15, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 0, tzinfo=tzutc()),
    'value': 65.45},
  { 'end': datetime.datetime(2025, 10, 28, 23, 30, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 15, tzinfo=tzutc()),
    'value': 62.31},
  { 'end': datetime.datetime(2025, 10, 28, 23, 45, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 30, tzinfo=tzutc()),
    'value': 56.48},
  { 'end': datetime.datetime(2025, 10, 29, 0, 0, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 10, 28, 23, 45, tzinfo=tzutc()),
    'value': 51.94},


is de data van Nord Pool in UTC of zit het fout aan mijn kant?
Nordpool levert de prijzen met utc timestamp:
tzinfo=tzutc())
DAO slaat alles in de database ook op in utc-tijd en presenteert alles in lokale tijd.
Niks fout dus.

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


  • Undertilted
  • Registratie: Augustus 2021
  • Laatst online: 06-12 18:18
Ik heb ff in HA alles apart gezet, zonder controls

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
input_number:
  dao_goodwe_feed_in_limit_w:
    name: GoodWe feed-in limit (W)
    unit_of_measurement: W
    min: 0
    max: 5000
    step: 50
    mode: box
    icon: mdi:transmission-tower-export

input_select:
  dao_goodwe_operating_mode:
    name: GoodWe operating mode
    options:
      - general
      - off_grid
      - backup
      - eco
      - peak_shaving
      - eco_charge
      - eco_discharge
    icon: mdi:cog

input_datetime:
  dao_goodwe_stop_until:
    name: GoodWe stop until
    has_date: true
    has_time: true
    icon: mdi:power

input_boolean:
  dao_goodwe_cell_balance:
    name: GoodWe cell balancing enable
    icon: mdi:scale-balance
  dao_pv_roof_sw_enable:
    name: PV Roof SW enable
    icon: mdi:solar-power
    initial: on
  dao_pv_roof_se_enable:
    name: PV Roof SE enable
    icon: mdi:solar-power
    initial: on


Vraagje: wat is "entity set operating mode off"? Ik heb de modi van goodwe gecopy paste.

//edit: baseload berekenen eindigt altijd op een
code:
1
2
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.


als ik op home click, dan op "tabel" kom ik deze fout tegen

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
 2025-10-29 22:19:34,154 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 22:19:34,182 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 22:19:47,350 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 22:19:47,356 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 23:04:12,943 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 23:04:12,953 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 23:06:59,790 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 23:06:59,797 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 23:36:06,640 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 23:36:06,645 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'


Nog een vraagje: mijn warmtepomp valt niet echt te regelen. Of liever: mijn warmtevraag valt niet echt te regelen. Is het dan de moeite ze te configureren?

Mijn auto laadt ook 1 fasig. Is dat de moeite om te configureren? ik dacht een simpele te bepalen threshold te bouwen: bv laden als de stroomprijs onder de 20 cent/kWh is, anders niet laden, zoiets. Moet die dan ook in DAO?

[ Voor 255% gewijzigd door Undertilted op 29-10-2025 23:58 . Reden: not to flood the zone with stupid questions ]


  • robbinonline
  • Registratie: September 2007
  • Laatst online: 15:28
Ik heb nu met de input en de opmerkingen van @Animal en @Mirabis geprobeerd mijn marstek batterij toe te voegen aan DAO. Ik gebruik daar nu de volgende basic configuratie voor:

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
"battery": [
    {
      "name": "Marstek1",
      "entity actual level": "sensor.marstek1_marstek_battery_state_of_charge",
      "capacity": 5.12,
      "lower_limit": 12,
      "upper_limit": 100,
      "optimal_lower_level": 12,
      "entity min soc end opt": "input_number.dao_marstek1_min_soc_einde_opt",
      "entity_max_soc_end_opt": "input_number.dao_marstek1_max_soc_einde_opt",
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 2500.0,
          "efficiency": 0.95
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 2500.0,
          "efficiency": 0.95
        }
      ],
      "reduced_hours": {},
      "minimum power": 15,
      "dc_to_bat efficiency": 0.95,
      "bat_to_dc efficiency": 0.95,
      "dc_to_bat max power" : 2000.0,
      "bat_to_dc max power" : 800.0,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.dao_marstek1_set_power_feedin",
      "entity set operating mode": "input_select.dao_marstek1_mode",
      "entity balance switch": "input_boolean.dao_marstek1_balance_grid",
      "entity calculated soc": "input_number.dao_marstek1_calculates_soc",
      "entity stop inverter": "input_datetime.dao_marstek1_stop",
      "solar": []
    }
  ],


en dit is de automatisering die ik heb, verder geen vinkjes gezet of andere automatisering hier voor.

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
alias: DAO Marstek1 batterij aansturing
description: Day Ahead Optimizer batterij aansturing voor marstek1
triggers:
  - trigger: state
    entity_id:
      - input_number.dao_marstek1_set_power_feedin
    from: null
  - trigger: state
    entity_id:
      - input_boolean.dao_marstek1_balance_grid
    enabled: true
    from: null
  - trigger: state
    entity_id:
      - input_select.dao_marstek1_mode
    enabled: true
    from: null
  - at: input_datetime.dao_marstek1_stop
    id: dao_stop_timer_trigger
    trigger: time
conditions: []
actions:
  - choose:
      - conditions:
          - condition: state
            entity_id: input_boolean.dao_marstek1_balance_grid
            state: "on"
        sequence:
          - device_id: 9917c7bf5f1814740d5acee4d47bb55d
            domain: select
            entity_id: select.marstek1_marstek_forcible_charge_discharge
            type: select_option
            option: stop
          - device_id: 9917c7bf5f1814740d5acee4d47bb55d
            domain: select
            entity_id: select.marstek1_marstek_rs485_control_mode
            type: select_option
            option: disable
          - device_id: 9917c7bf5f1814740d5acee4d47bb55d
            domain: select
            entity_id: select.marstek1_marstek_user_work_mode
            type: select_option
            option: anti-feed
        alias: IF DAO Balance is ON, Marstek Anti-feed Mode
      - conditions:
          - condition: state
            entity_id: input_boolean.dao_marstek1_balance_grid
            state: "off"
          - condition: state
            entity_id: input_select.dao_marstek1_mode
            state: Aan
          - condition: template
            value_template: >-
              {{ states('input_number.dao_marstek1_set_power_feedin') | int(0)
              == 0 }}
        sequence:
          - if:
              - condition: device
                device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_rs485_control_mode
                type: selected_option
                option: disable
                alias: IF Control Mode = Disabled
            then:
              - device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_rs485_control_mode
                type: select_option
                option: enable
            alias: Enable Control Mode if not enabled
          - device_id: 9917c7bf5f1814740d5acee4d47bb55d
            domain: select
            entity_id: select.marstek1_marstek_forcible_charge_discharge
            type: select_option
            option: stop
          - action: number.set_value
            data:
              value: "0"
            target:
              entity_id:
                - number.marstek1_marstek_forcible_discharge_power
                - number.marstek1_marstek_forcible_charge_power
        alias: if Balance=Off AND DAO setpoint is 0
      - conditions:
          - condition: state
            entity_id: input_boolean.dao_marstek1_balance_grid
            state: "off"
          - condition: state
            entity_id: input_select.dao_marstek1_mode
            state: Aan
          - condition: template
            value_template: >-
              {{ states('input_number.dao_marstek1_set_power_feedin') | int(0)
              >= 0 }}
        sequence:
          - if:
              - condition: device
                device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_rs485_control_mode
                type: selected_option
                option: disable
                alias: IF Control Mode = Disabled
            then:
              - device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_rs485_control_mode
                type: select_option
                option: enable
            alias: Enable Control Mode if not enabled
          - action: number.set_value
            data:
              value: >-
                {{ states('input_number.dao_marstek1_set_power_feedin') |
                float(0) }}
            target:
              entity_id:
                - number.marstek1_marstek_forcible_charge_power
          - device_id: 9917c7bf5f1814740d5acee4d47bb55d
            domain: select
            entity_id: select.marstek1_marstek_forcible_charge_discharge
            type: select_option
            option: charge
        alias: IF Balance=Off AND DAO wants to charge > 0
      - conditions:
          - condition: state
            entity_id: input_boolean.dao_marstek1_balance_grid
            state: "off"
          - condition: state
            entity_id: input_select.dao_marstek1_mode
            state: Aan
          - condition: template
            value_template: >-
              {{ states('input_number.dao_marstek1_set_power_feedin') | int(0) <
              0 }}
        sequence:
          - if:
              - condition: device
                device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_rs485_control_mode
                type: selected_option
                option: disable
                alias: IF Control Mode = Disabled
            then:
              - device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_rs485_control_mode
                type: select_option
                option: enable
            alias: Enable Control Mode if not enabled
          - action: number.set_value
            data:
              value: >-
                {{ states('input_number.dao_marstek1_set_power_feedin') |
                float(0) | abs }}
            target:
              entity_id:
                - number.marstek1_marstek_forcible_discharge_power
          - device_id: 9917c7bf5f1814740d5acee4d47bb55d
            domain: select
            entity_id: select.marstek1_marstek_forcible_charge_discharge
            type: select_option
            option: discharge
        alias: if Balance=Off AND DAO wants to discharge < 0
      - conditions:
          - condition: trigger
            id:
              - dao_stop_timer_trigger
        sequence:
          - alias: Stop on timer trigger if still controlling
            if:
              - alias: IF Control Mode = Enabled
                condition: device
                device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_rs485_control_mode
                type: selected_option
                option: enable
            then:
              - device_id: 9917c7bf5f1814740d5acee4d47bb55d
                domain: select
                entity_id: select.marstek1_marstek_forcible_charge_discharge
                type: select_option
                option: stop
mode: single


Nu werkt het oplaad gedeelte _/-\o_ de batterij is de afgelopen dagen op de goedkoopste uren 2x gaan laden, alleen ontladen doet die niet. Ook al stond dat in de prognose tabel toen wel gepland. Kan iemand mij vertellen wat ik nog moet veranderen?

Ga niet uit van het haalbare, maar van het denkbare


  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 06:54
Ik heb regelmatig een timeout in de verbinding met HA. Ik weet niet waarom dit precies gebeurd, maar het is erg vervelend dat hierdoor de schedule gemist wordt. Regelmatig staat de accu nu onnodig langer te laden of ontladen of niet te laden. Kan hier wellicht een retry ingebouwd worden? Er is ook niks om dit te detecteren mogelijk, omdat de eventuele foutmelding ook niet naar HA gezet kan worden...

Zowieso is het misschien een idee om de communicatie van deze add-on betrouwbaarder te maken door de info via MQTT te versturen? Dan kan er ook met auto discovery gewerkt worden om entities in Home Assistant aan te maken, ipv de helpers die nu handmatig gemaakt moeten worden. Als ik binnenkort wat tijd heb wil ik hier eventueel ook wel eens naar kijken.
2025-10-30 08:45:00 info: Day Ahead Optimalisering versie: 2025.10.6
2025-10-30 08:45:00 info: Day Ahead Optimalisering gestart op: 30-10-2025 08:45:00
2025-10-30 08:45:00 info: Day Ahead Optimalisatie gestart: 30-10-2025 08:45:00 taak: calc_optimum
2025-10-30 08:45:03 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/connectionpool.py", line 534, in _make_request
response = conn.getresponse()
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/connection.py", line 565, in getresponse
httplib_response = super().getresponse()
File "/usr/lib/python3.13/http/client.py", line 1430, in getresponse
response.begin()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 331, in begin
version, status, reason = self._read_status()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 292, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib/python3.13/socket.py", line 719, in readinto
return self._sock.recv_into(b)
~~~~~~~~~~~~~~~~~~~~^^^
TimeoutError: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/requests/adapters.py", line 644, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/util/retry.py", line 474, in increment
raise reraise(type(error), error, _stacktrace)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/util/util.py", line 39, in reraise
raise value
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/connectionpool.py", line 536, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout
raise ReadTimeoutError(
self, url, f"Read timed out. (read timeout={timeout_value})"
) from err
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='supervisor', port=80): Read timed out. (read timeout=3)

During handling of the above exception, another exception occurred:

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 559, in calc_optimum
dacalc = DaCalc(self.file_name)
File "/root/dao/prog/day_ahead.py", line 29, in __init__
super().__init__(file_name=file_name)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_base.py", line 106, in __init__
super().__init__(hassurl=self.hassurl, token=self.hasstoken)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 36, in __init__
self._assert_api_running()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 40, in _assert_api_running
if not self._api_is_running():
~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 46, in _api_is_running
return self._get("/")["message"] == "API running." # type: ignore
~~~~~~~~~^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 55, in _get
requests.get(
~~~~~~~~~~~~^
url=self._get_url(endpoint),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
verify=self._verify,
^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/requests/adapters.py", line 690, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='supervisor', port=80): Read timed out. (read timeout=3)

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 06-12 19:42

Bravo

Second Best

Vandaag lijkt DAO het spoor bijster, kwartier na kwartier nemen de kosten toe in plaats van af.
Profit: -0.77
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
2025-10-30 13:45:00 info: Day Ahead Optimalisering versie: 2025.10.6
2025-10-30 13:45:00 info: Day Ahead Optimalisering gestart op: 30-10-2025 13:45:00
2025-10-30 13:45:00 info: Day Ahead Optimalisatie gestart: 30-10-2025 13:45:00 taak: calc_optimum
2025-10-30 13:45:00 info: Debug = False
2025-10-30 13:45:00 info: Baseload uit instellingen
2025-10-30 13:45:00 info: Start waarden: 
       uur                tijd   p_l   p_t  base  pv_ac  pv_dc
0    13:45 2025-10-30 13:45:00 0.241 0.093 0.056  0.385      0
1    14:00 2025-10-30 14:00:00 0.193 0.045 0.066  0.309      0
2    14:15 2025-10-30 14:15:00 0.185 0.037 0.071  0.252      0
3    14:30 2025-10-30 14:30:00 0.246 0.098 0.075  0.196      0
4    14:45 2025-10-30 14:45:00 0.355 0.207 0.078  0.212      0
5    15:00 2025-10-30 15:00:00 0.175 0.027 0.083  0.261      0
6    15:15 2025-10-30 15:15:00 0.236 0.088 0.086  0.262      0
7    15:30 2025-10-30 15:30:00 0.304 0.156 0.089  0.267      0
8    15:45 2025-10-30 15:45:00 0.349 0.201 0.082  0.109      0
9    16:00 2025-10-30 16:00:00 0.203 0.055 0.067  0.066      0
10   16:15 2025-10-30 16:15:00 0.241 0.093 0.060  0.042      0
11   16:30 2025-10-30 16:30:00 0.296 0.148 0.053  0.019      0
12   16:45 2025-10-30 16:45:00 0.397 0.250 0.051  0.011      0
13   17:00 2025-10-30 17:00:00 0.273 0.125 0.051  0.012      0
14   17:15 2025-10-30 17:15:00 0.283 0.135 0.049  0.002      0
15   17:30 2025-10-30 17:30:00 0.294 0.146 0.048  0.000      0
16   17:45 2025-10-30 17:45:00 0.306 0.158 0.052  0.000      0
17   18:00 2025-10-30 18:00:00 0.288 0.140 0.063  0.000      0
18   18:15 2025-10-30 18:15:00 0.289 0.142 0.068  0.000      0
19   18:30 2025-10-30 18:30:00 0.292 0.144 0.072  0.000      0
20   18:45 2025-10-30 18:45:00 0.292 0.144 0.068  0.000      0
21   19:00 2025-10-30 19:00:00 0.294 0.147 0.055  0.000      0
22   19:15 2025-10-30 19:15:00 0.292 0.144 0.051  0.000      0
23   19:30 2025-10-30 19:30:00 0.285 0.137 0.046  0.000      0
24   19:45 2025-10-30 19:45:00 0.272 0.124 0.048  0.000      0
25   20:00 2025-10-30 20:00:00 0.291 0.143 0.057  0.000      0
26   20:15 2025-10-30 20:15:00 0.269 0.121 0.059  0.000      0
27   20:30 2025-10-30 20:30:00 0.271 0.124 0.061  0.000      0
28   20:45 2025-10-30 20:45:00 0.251 0.103 0.053  0.000      0
29   21:00 2025-10-30 21:00:00 0.271 0.124 0.037  0.000      0
30   21:15 2025-10-30 21:15:00 0.264 0.116 0.029  0.000      0
31   21:30 2025-10-30 21:30:00 0.255 0.108 0.022  0.000      0
32   21:45 2025-10-30 21:45:00 0.238 0.091 0.022  0.000      0
33   22:00 2025-10-30 22:00:00 0.264 0.116 0.028  0.000      0
34   22:15 2025-10-30 22:15:00 0.257 0.110 0.028  0.000      0
35   22:30 2025-10-30 22:30:00 0.262 0.114 0.028  0.000      0
36   22:45 2025-10-30 22:45:00 0.245 0.097 0.028  0.000      0
37   23:00 2025-10-30 23:00:00 0.262 0.115 0.028  0.000      0
38   23:15 2025-10-30 23:15:00 0.245 0.097 0.028  0.000      0
39   23:30 2025-10-30 23:30:00 0.235 0.087 0.028  0.000      0
40   23:45 2025-10-30 23:45:00 0.217 0.069 0.027  0.000      0
41   00:00 2025-10-31 00:00:00 0.259 0.111 0.026  0.000      0
42   00:15 2025-10-31 00:15:00 0.243 0.096 0.025  0.000      0
43   00:30 2025-10-31 00:30:00 0.234 0.086 0.024  0.000      0
44   00:45 2025-10-31 00:45:00 0.228 0.080 0.025  0.000      0
45   01:00 2025-10-31 01:00:00 0.241 0.093 0.027  0.000      0
46   01:15 2025-10-31 01:15:00 0.235 0.087 0.027  0.000      0
47   01:30 2025-10-31 01:30:00 0.227 0.079 0.028  0.000      0
48   01:45 2025-10-31 01:45:00 0.221 0.073 0.028  0.000      0
49   02:00 2025-10-31 02:00:00 0.234 0.087 0.027  0.000      0
50   02:15 2025-10-31 02:15:00 0.226 0.079 0.027  0.000      0
51   02:30 2025-10-31 02:30:00 0.226 0.078 0.027  0.000      0
52   02:45 2025-10-31 02:45:00 0.225 0.077 0.028  0.000      0
53   03:00 2025-10-31 03:00:00 0.224 0.076 0.029  0.000      0
54   03:15 2025-10-31 03:15:00 0.226 0.078 0.030  0.000      0
55   03:30 2025-10-31 03:30:00 0.230 0.083 0.031  0.000      0
56   03:45 2025-10-31 03:45:00 0.232 0.084 0.030  0.000      0
57   04:00 2025-10-31 04:00:00 0.224 0.076 0.028  0.000      0
58   04:15 2025-10-31 04:15:00 0.227 0.079 0.028  0.000      0
59   04:30 2025-10-31 04:30:00 0.239 0.092 0.027  0.000      0
60   04:45 2025-10-31 04:45:00 0.237 0.090 0.027  0.000      0
61   05:00 2025-10-31 05:00:00 0.235 0.088 0.026  0.000      0
62   05:15 2025-10-31 05:15:00 0.238 0.090 0.025  0.000      0
63   05:30 2025-10-31 05:30:00 0.251 0.104 0.024  0.000      0
64   05:45 2025-10-31 05:45:00 0.254 0.106 0.025  0.000      0
65   06:00 2025-10-31 06:00:00 0.257 0.110 0.023  0.000      0
66   06:15 2025-10-31 06:15:00 0.277 0.130 0.024  0.000      0
67   06:30 2025-10-31 06:30:00 0.287 0.139 0.024  0.000      0
68   06:45 2025-10-31 06:45:00 0.285 0.137 0.039  0.000      0
69   07:00 2025-10-31 07:00:00 0.287 0.140 0.072  0.000      0
70   07:15 2025-10-31 07:15:00 0.287 0.140 0.087  0.000      0
71   07:30 2025-10-31 07:30:00 0.274 0.126 0.102  0.001      0
72   07:45 2025-10-31 07:45:00 0.259 0.111 0.088  0.010      0
73   08:00 2025-10-31 08:00:00 0.294 0.147 0.049  0.019      0
74   08:15 2025-10-31 08:15:00 0.275 0.127 0.035  0.026      0
75   08:30 2025-10-31 08:30:00 0.254 0.106 0.021  0.034      0
76   08:45 2025-10-31 08:45:00 0.240 0.092 0.025  0.047      0
77   09:00 2025-10-31 09:00:00 0.265 0.117 0.045  0.066      0
78   09:15 2025-10-31 09:15:00 0.247 0.099 0.050  0.079      0
79   09:30 2025-10-31 09:30:00 0.245 0.097 0.054  0.093      0
80   09:45 2025-10-31 09:45:00 0.228 0.080 0.050  0.096      0
81   10:00 2025-10-31 10:00:00 0.253 0.106 0.039  0.088      0
82   10:15 2025-10-31 10:15:00 0.242 0.094 0.035  0.090      0
83   10:30 2025-10-31 10:30:00 0.235 0.088 0.032  0.092      0
84   10:45 2025-10-31 10:45:00 0.232 0.085 0.034  0.091      0
85   11:00 2025-10-31 11:00:00 0.237 0.090 0.039  0.090      0
86   11:15 2025-10-31 11:15:00 0.233 0.085 0.040  0.089      0
87   11:30 2025-10-31 11:30:00 0.232 0.085 0.042  0.089      0
88   11:45 2025-10-31 11:45:00 0.232 0.085 0.049  0.087      0
89   12:00 2025-10-31 12:00:00 0.232 0.084 0.060  0.081      0
90   12:15 2025-10-31 12:15:00 0.233 0.086 0.067  0.079      0
91   12:30 2025-10-31 12:30:00 0.236 0.088 0.073  0.077      0
92   12:45 2025-10-31 12:45:00 0.241 0.094 0.070  0.085      0
93   13:00 2025-10-31 13:00:00 0.231 0.084 0.058  0.104      0
94   13:15 2025-10-31 13:15:00 0.233 0.085 0.055  0.113      0
95   13:30 2025-10-31 13:30:00 0.238 0.090 0.052  0.124      0
96   13:45 2025-10-31 13:45:00 0.249 0.102 0.056  0.125      0
97   14:00 2025-10-31 14:00:00 0.232 0.084 0.066  0.118      0
98   14:15 2025-10-31 14:15:00 0.252 0.105 0.071  0.121      0
99   14:30 2025-10-31 14:30:00 0.269 0.121 0.075  0.125      0
100  14:45 2025-10-31 14:45:00 0.286 0.138 0.078  0.126      0
101  15:00 2025-10-31 15:00:00 0.262 0.114 0.083  0.130      0
102  15:15 2025-10-31 15:15:00 0.280 0.132 0.086  0.129      0
103  15:30 2025-10-31 15:30:00 0.296 0.149 0.089  0.124      0
104  15:45 2025-10-31 15:45:00 0.298 0.151 0.082  0.049      0
105  16:00 2025-10-31 16:00:00 0.288 0.140 0.067  0.030      0
106  16:15 2025-10-31 16:15:00 0.289 0.142 0.060  0.018      0
107  16:30 2025-10-31 16:30:00 0.290 0.142 0.053  0.006      0
108  16:45 2025-10-31 16:45:00 0.286 0.139 0.051  0.002      0
109  17:00 2025-10-31 17:00:00 0.293 0.145 0.051  0.005      0
110  17:15 2025-10-31 17:15:00 0.285 0.137 0.049  0.001      0
111  17:30 2025-10-31 17:30:00 0.284 0.136 0.048  0.000      0
112  17:45 2025-10-31 17:45:00 0.263 0.116 0.052  0.000      0
113  18:00 2025-10-31 18:00:00 0.288 0.141 0.063  0.000      0
114  18:15 2025-10-31 18:15:00 0.272 0.125 0.068  0.000      0
115  18:30 2025-10-31 18:30:00 0.262 0.114 0.072  0.000      0
116  18:45 2025-10-31 18:45:00 0.247 0.099 0.068  0.000      0
117  19:00 2025-10-31 19:00:00 0.257 0.109 0.055  0.000      0
118  19:15 2025-10-31 19:15:00 0.240 0.092 0.051  0.000      0
119  19:30 2025-10-31 19:30:00 0.253 0.105 0.046  0.000      0
120  19:45 2025-10-31 19:45:00 0.243 0.095 0.048  0.000      0
121  20:00 2025-10-31 20:00:00 0.254 0.106 0.057  0.000      0
122  20:15 2025-10-31 20:15:00 0.247 0.100 0.059  0.000      0
123  20:30 2025-10-31 20:30:00 0.236 0.088 0.061  0.000      0
124  20:45 2025-10-31 20:45:00 0.225 0.078 0.053  0.000      0
125  21:00 2025-10-31 21:00:00 0.252 0.105 0.037  0.000      0
126  21:15 2025-10-31 21:15:00 0.246 0.098 0.029  0.000      0
127  21:30 2025-10-31 21:30:00 0.236 0.089 0.022  0.000      0
128  21:45 2025-10-31 21:45:00 0.227 0.080 0.022  0.000      0
129  22:00 2025-10-31 22:00:00 0.247 0.099 0.028  0.000      0
130  22:15 2025-10-31 22:15:00 0.237 0.090 0.028  0.000      0
131  22:30 2025-10-31 22:30:00 0.235 0.088 0.028  0.000      0
132  22:45 2025-10-31 22:45:00 0.225 0.077 0.028  0.000      0
133  23:00 2025-10-31 23:00:00 0.249 0.102 0.028  0.000      0
134  23:15 2025-10-31 23:15:00 0.225 0.077 0.028  0.000      0
135  23:30 2025-10-31 23:30:00 0.208 0.060 0.028  0.000      0
136  23:45 2025-10-31 23:45:00 0.191 0.044 0.028  0.000      0
2025-10-30 13:45:00 info: No reduced hours applied for Victron 16kWh
2025-10-30 13:45:00 info: Startwaarde SoC Victron 16kWh: 16.0%

2025-10-30 13:45:00 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2025-10-30 13:45:00 info: Instellingen voor laden van EV: Ioniq 6
2025-10-30 13:45:00 info: Direct laden is uit
2025-10-30 13:45:00 info:  Ampere  Effic. Grid kW Accu kW
2025-10-30 13:45:00 info:    0.00    0.10    0.00    0.00
2025-10-30 13:45:00 info:    6.00    0.91    1.38    1.26
2025-10-30 13:45:00 info:   10.00    0.92    2.30    2.12
2025-10-30 13:45:00 info:   12.00    0.79    2.76    2.18
2025-10-30 13:45:00 info: Capaciteit accu: 74 kWh
2025-10-30 13:45:00 info: Maximaal laadvermogen: 2.76 kW
2025-10-30 13:45:00 info: Klaar met laden op: 30-10-2025 08:00:00
2025-10-30 13:45:00 info: Huidig laadniveau: 75.0 %
2025-10-30 13:45:00 info: Gewenst laadniveau:75.0 %
2025-10-30 13:45:00 info: Marge voor het laden: 1 %
2025-10-30 13:45:00 info: Locatie: home
2025-10-30 13:45:00 info: Ingeplugged:True
2025-10-30 13:45:00 info: Benodigde netto energie: 0.000 kWh
2025-10-30 13:45:00 info: Tijd nodig om te laden: 0:0 uur
2025-10-30 13:45:00 info: Afgerond naar hele intervallen: 0 kwartier
2025-10-30 13:45:00 info: Stand laden schakelaar: off
2025-10-30 13:45:00 info: Stand aantal ampere laden: 0.0 A
2025-10-30 13:45:00 info: Opladen wordt niet ingepland, omdat werkelijk niveau (75.0%) hoger is of gelijk aan gewenst niveau (75.0% minus de marge 1%), opgegeven tijdstip (2025-10-30 08:00:00) is verouderd.
2025-10-30 13:45:00 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland

2025-10-30 13:45:00 info: Apparaat vaatwasser direct starten staat uit
2025-10-30 13:45:00 info: Machine vaatwasser wordt niet ingepland, want de berekende planning wordt nu uitgevoerd
2025-10-30 13:45:00 info: Apparaat washing_machine direct starten staat uit
2025-10-30 13:45:00 info: Apparaat washing_machine met programma '40 graden' wordt ingepland tussen 2025-10-31 09:00 en 2025-10-31 13:00.
2025-10-30 13:45:00 info: Strategie: minimale kosten
2025-10-30 13:45:00 info: Maximale fout (maximal gap): 0.005000 euro
2025-10-30 13:46:30 info: Rekentijd: 90.18 sec
2025-10-30 13:46:30 info: Het programma heeft een optimale oplossing gevonden.
2025-10-30 13:46:30 info: In- en uitgaande energie per kwartier batterij Victron 16kWh
   uur   ac->    eff   ->dc pv->dc   dc->    eff  ->bat  o_eff    SoC
          kWh      %    kWh    kWh    kWh      %    kWh      %      %
 13:45   0.38  89.70   0.34   0.00   0.34 100.00   0.34  89.70  18.10
 14:00   0.38  89.70   0.34   0.00   0.34 100.00   0.34  89.70  20.20
 14:15   0.63  89.80   0.56   0.00   0.56 100.00   0.56  89.80  23.71
 14:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  25.08
 14:45   0.00     --   0.00   0.00   0.00     --   0.00     --  25.08
 15:00   0.75  89.20   0.67   0.00   0.67 100.00   0.67  89.20  29.26
 15:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  30.62
 15:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  31.98
 15:45   0.00     --   0.00   0.00   0.00     --   0.00     --  31.98
 16:00   0.00     --   0.00   0.00   0.00     --   0.00     --  31.98
 16:15   0.00     --   0.00   0.00   0.00     --   0.00     --  31.98
 16:30  -0.03  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  31.74
 16:45  -0.50  95.00  -0.53   0.00  -0.53 100.00  -0.53  95.00  28.45
 17:00  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  28.18
 17:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  29.54
 17:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  30.90
 17:45  -0.05  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  30.55
 18:00  -0.06  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  30.13
 18:15  -0.07  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  29.68
 18:30  -0.07  93.50  -0.08   0.00  -0.08 100.00  -0.08  93.50  29.20
 18:45  -0.07  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  28.75
 19:00  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  28.38
 19:15  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  28.04
 19:30  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  27.71
 19:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  29.07
 20:00  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  28.69
 20:15  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  28.30
 20:30  -0.06  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  27.89
 20:45  -0.05  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  27.53
 21:00  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  27.28
 21:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  27.07
 21:30  -0.02  89.10  -0.02   0.00  -0.02 100.00  -0.02  89.10  26.92
 21:45   0.00     --   0.00   0.00   0.00     --   0.00     --  26.92
 22:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  26.72
 22:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  26.53
 22:30  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  26.34
 22:45   0.00     --   0.00   0.00   0.00     --   0.00     --  26.34
 23:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  26.14
 23:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  25.95
 23:30   0.00     --   0.00   0.00   0.00     --   0.00     --  25.95
 23:45   0.00     --   0.00   0.00   0.00     --   0.00     --  25.95
 00:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  25.77
 00:15   0.00     --   0.00   0.00   0.00     --   0.00     --  25.77
 00:30  -0.38  95.00  -0.39   0.00  -0.39 100.00  -0.39  95.00  23.30
 00:45   0.00     --   0.00   0.00   0.00     --   0.00     --  23.30
 01:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  23.11
 01:15  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  21.06
 01:30  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  19.01
 01:45   0.00     --   0.00   0.00   0.00     --   0.00     --  19.01
 02:00   0.00     --   0.00   0.00   0.00     --   0.00     --  19.01
 02:15   0.00     --   0.00   0.00   0.00     --   0.00     --  19.01
 02:30   0.00     --   0.00   0.00   0.00     --   0.00     --  19.01
 02:45   0.00     --   0.00   0.00   0.00     --   0.00     --  19.01
 03:00   0.00     --   0.00   0.00   0.00     --   0.00     --  19.01
 03:15   0.00     --   0.00   0.00   0.00     --   0.00     --  19.01
 03:30  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  16.96
 03:45  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  14.91
 04:00   0.00     --   0.00   0.00   0.00     --   0.00     --  14.91
 04:15  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  12.86
 04:30   0.00     --   0.00   0.00   0.00     --   0.00     --  12.86
 04:45   0.00     --   0.00   0.00   0.00     --   0.00     --  12.86
 05:00   0.00     --   0.00   0.00   0.00     --   0.00     --  12.86
 05:15   0.00     --   0.00   0.00   0.00     --   0.00     --  12.86
 05:30   0.00     --   0.00   0.00   0.00     --   0.00     --  12.86
 05:45  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  12.68
 06:00  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  12.52
 06:15  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  12.35
 06:30  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  12.18
 06:45  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  11.91
 07:00  -0.07  93.50  -0.08   0.00  -0.08 100.00  -0.08  93.50  11.43
 07:15  -0.09  93.50  -0.09   0.00  -0.09 100.00  -0.09  93.50  10.85
 07:30  -0.10  93.50  -0.11   0.00  -0.11 100.00  -0.11  93.50  10.17
 07:45  -0.08  93.50  -0.08   0.00  -0.08 100.00  -0.08  93.50   9.64
 08:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10   9.44
 08:15  -0.01  89.10  -0.01   0.00  -0.01 100.00  -0.01  89.10   9.37
 08:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  10.74
 08:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  12.10
 09:00   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  13.46
 09:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  14.82
 09:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  16.19
 09:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  17.55
 10:00   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  18.91
 10:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  20.27
 10:30  -0.44  95.00  -0.46   0.00  -0.46 100.00  -0.46  95.00  17.38
 10:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  18.74
 11:00   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  20.10
 11:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  21.47
 11:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  22.83
 11:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  24.19
 12:00   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  25.55
 12:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  26.92
 12:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  28.28
 12:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  29.64
 13:00   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  31.00
 13:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  32.37
 13:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  33.73
 13:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  35.09
 14:00   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  36.45
 14:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  37.82
 14:30   0.00     --   0.00   0.00   0.00     --   0.00     --  37.82
 14:45   0.00     --   0.00   0.00   0.00     --   0.00     --  37.82
 15:00   0.00     --   0.00   0.00   0.00     --   0.00     --  37.82
 15:15   0.00     --   0.00   0.00   0.00     --   0.00     --  37.82
 15:30  -0.50  95.00  -0.53   0.00  -0.53 100.00  -0.53  95.00  34.53
 15:45  -0.50  95.00  -0.53   0.00  -0.53 100.00  -0.53  95.00  31.24
 16:00  -0.40  95.00  -0.43   0.00  -0.43 100.00  -0.43  95.00  28.58
 16:15  -0.31  96.20  -0.32   0.00  -0.32 100.00  -0.32  96.20  26.55
 16:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  27.91
 16:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  29.27
 17:00  -0.75  92.50  -0.81   0.00  -0.81 100.00  -0.81  92.50  24.20
 17:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  25.57
 17:30   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  26.93
 17:45  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  24.88
 18:00  -0.63  92.50  -0.68   0.00  -0.68 100.00  -0.68  92.50  20.65
 18:15  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  18.60
 18:30   0.00     --   0.00   0.00   0.00     --   0.00     --  18.60
 18:45  -0.07  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  18.15
 19:00  -0.05  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  17.78
 19:15  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  17.45
 19:30  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  17.11
 19:45   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  18.47
 20:00  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  18.09
 20:15  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  17.70
 20:30  -0.12  95.20  -0.13   0.00  -0.13 100.00  -0.13  95.20  16.88
 20:45  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  14.83
 21:00  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  14.57
 21:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  14.36
 21:30  -0.02  89.10  -0.02   0.00  -0.02 100.00  -0.02  89.10  14.21
 21:45  -0.31  95.20  -0.33   0.00  -0.33 100.00  -0.33  95.20  12.16
 22:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.96
 22:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.77
 22:30  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.58
 22:45  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.39
 23:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.19
 23:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.00
 23:30  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  10.81
 23:45  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  10.61
Totaal   1.06     --  -0.86   0.00  -0.86     --  -0.86     --       
2025-10-30 13:46:33 info: Berekende prognoses: 
   uur  bat_in  bat_out   cons   prod   base   boil     wp     ev  pv_ac   cost  profit  b_tem   mach
 13:45    0.38     0.00   0.05   0.00   0.06   0.00   0.00   0.00   0.38   0.01   -0.00  20.00   0.00
 14:00    0.38     0.00   0.13   0.00   0.07   0.00   0.00   0.00   0.31   0.03   -0.00  20.00   0.00
 14:15    0.63     0.00   0.44   0.00   0.07   0.00   0.00   0.00   0.25   0.08   -0.00  20.00   0.00
 14:30    0.25     0.00   0.13   0.00   0.07   0.00   0.00   0.00   0.20   0.03   -0.00  20.00   0.00
 14:45    0.00     0.00   0.00   0.13   0.08   0.00   0.00   0.00   0.21   0.00   -0.03  20.00   0.00
 15:00    0.75     0.00   0.57   0.00   0.08   0.00   0.00   0.00   0.26   0.10   -0.00  20.00   0.00
 15:15    0.25     0.00   0.07   0.00   0.09   0.00   0.00   0.00   0.26   0.02   -0.00  20.00   0.00
 15:30    0.25     0.00   0.07   0.00   0.09   0.00   0.00   0.00   0.27   0.02   -0.00  20.00   0.00
 15:45    0.00     0.00   0.00   0.03   0.08   0.00   0.00   0.00   0.11   0.00   -0.01  20.00   0.00
 16:00    0.00     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.07   0.00   -0.00  20.00   0.00
 16:15    0.00     0.00   0.02   0.00   0.06   0.00   0.00   0.00   0.04   0.00   -0.00  20.00   0.00
 16:30    0.00     0.03   0.00   0.00   0.05   0.00   0.00   0.00   0.02   0.00   -0.00  20.00   0.00
 16:45    0.00     0.50   0.00   0.46   0.05   0.00   0.00   0.00   0.01   0.00   -0.11  20.00   0.00
 17:00    0.00     0.04   0.00   0.00   0.05   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 17:15    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.00   0.08   -0.00  20.00   0.00
 17:30    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.00   0.09   -0.00  20.00   0.00
 17:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:15    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:30    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:45    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:15    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:30    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:45    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.00   0.08   -0.00  20.00   0.00
 20:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:15    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:30    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:00    0.00     0.04   0.00   0.00   0.04   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:30    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:45    0.00     0.00   0.02   0.00   0.02   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 22:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:30    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 23:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 23:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 00:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 00:15    0.00     0.00   0.02   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 00:30    0.00     0.38   0.00   0.35   0.02   0.00   0.00   0.00   0.00   0.00   -0.03  20.00   0.00
 00:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 01:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 01:15    0.00     0.31   0.00   0.29   0.03   0.00   0.00   0.00   0.00   0.00   -0.02  20.00   0.00
 01:30    0.00     0.31   0.00   0.28   0.03   0.00   0.00   0.00   0.00   0.00   -0.02  20.00   0.00
 01:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 02: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   0.00
 02: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   0.00
 02:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 02:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 03: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   0.00
 03: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   0.00
 03:30    0.00     0.31   0.00   0.28   0.03   0.00   0.00   0.00   0.00   0.00   -0.02  20.00   0.00
 03:45    0.00     0.31   0.00   0.28   0.03   0.00   0.00   0.00   0.00   0.00   -0.02  20.00   0.00
 04: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   0.00
 04:15    0.00     0.31   0.00   0.28   0.03   0.00   0.00   0.00   0.00   0.00   -0.02  20.00   0.00
 04:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 04:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 05: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   0.00
 05: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   0.00
 05: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   0.00
 05:45    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:00    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:15    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:30    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:45    0.00     0.04   0.00   0.00   0.04   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:00    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:15    0.00     0.09   0.00   0.00   0.09   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:30    0.00     0.10   0.00   0.00   0.10   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:45    0.00     0.08   0.00   0.00   0.09   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 08:00    0.00     0.03   0.00   0.00   0.05   0.00   0.00   0.00   0.02   0.00   -0.00  20.00   0.00
 08:15    0.00     0.01   0.00   0.00   0.03   0.00   0.00   0.00   0.03   0.00   -0.00  20.00   0.00
 08:30    0.25     0.00   0.24   0.00   0.02   0.00   0.00   0.00   0.03   0.06   -0.00  20.00   0.00
 08:45    0.25     0.00   0.23   0.00   0.03   0.00   0.00   0.00   0.05   0.05   -0.00  20.00   0.00
 09:00    0.25     0.00   0.23   0.00   0.05   0.00   0.00   0.00   0.07   0.06   -0.00  20.00   0.00
 09:15    0.25     0.00   0.22   0.00   0.05   0.00   0.00   0.00   0.08   0.05   -0.00  20.00   0.00
 09:30    0.25     0.00   0.21   0.00   0.05   0.00   0.00   0.00   0.09   0.05   -0.00  20.00   0.00
 09:45    0.25     0.00   0.20   0.00   0.05   0.00   0.00   0.00   0.10   0.05   -0.00  20.00   0.00
 10:00    0.25     0.00   0.20   0.00   0.04   0.00   0.00   0.00   0.09   0.05   -0.00  20.00   0.00
 10:15    0.25     0.00   0.41   0.00   0.04   0.00   0.00   0.00   0.09   0.10   -0.00  20.00   0.22
 10:30    0.00     0.44   0.00   0.00   0.03   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.50
 10:45    0.25     0.00   0.22   0.00   0.03   0.00   0.00   0.00   0.09   0.05   -0.00  20.00   0.03
 11:00    0.25     0.00   0.22   0.00   0.04   0.00   0.00   0.00   0.09   0.05   -0.00  20.00   0.03
 11:15    0.25     0.00   0.23   0.00   0.04   0.00   0.00   0.00   0.09   0.05   -0.00  20.00   0.03
 11:30    0.25     0.00   0.23   0.00   0.04   0.00   0.00   0.00   0.09   0.05   -0.00  20.00   0.03
 11:45    0.25     0.00   0.24   0.00   0.05   0.00   0.00   0.00   0.09   0.06   -0.00  20.00   0.03
 12:00    0.25     0.00   0.26   0.00   0.06   0.00   0.00   0.00   0.08   0.06   -0.00  20.00   0.03
 12:15    0.25     0.00   0.27   0.00   0.07   0.00   0.00   0.00   0.08   0.06   -0.00  20.00   0.03
 12:30    0.25     0.00   0.25   0.00   0.07   0.00   0.00   0.00   0.08   0.06   -0.00  20.00   0.00
 12:45    0.25     0.00   0.24   0.00   0.07   0.00   0.00   0.00   0.08   0.06   -0.00  20.00   0.00
 13:00    0.25     0.00   0.20   0.00   0.06   0.00   0.00   0.00   0.10   0.05   -0.00  20.00   0.00
 13:15    0.25     0.00   0.19   0.00   0.05   0.00   0.00   0.00   0.11   0.04   -0.00  20.00   0.00
 13:30    0.25     0.00   0.18   0.00   0.05   0.00   0.00   0.00   0.12   0.04   -0.00  20.00   0.00
 13:45    0.25     0.00   0.18   0.00   0.06   0.00   0.00   0.00   0.12   0.05   -0.00  20.00   0.00
 14:00    0.25     0.00   0.20   0.00   0.07   0.00   0.00   0.00   0.12   0.05   -0.00  20.00   0.00
 14:15    0.25     0.00   0.20   0.00   0.07   0.00   0.00   0.00   0.12   0.05   -0.00  20.00   0.00
 14:30    0.00     0.00   0.00   0.05   0.07   0.00   0.00   0.00   0.13   0.00   -0.01  20.00   0.00
 14:45    0.00     0.00   0.00   0.05   0.08   0.00   0.00   0.00   0.13   0.00   -0.01  20.00   0.00
 15:00    0.00     0.00   0.00   0.05   0.08   0.00   0.00   0.00   0.13   0.00   -0.01  20.00   0.00
 15:15    0.00     0.00   0.00   0.04   0.09   0.00   0.00   0.00   0.13   0.00   -0.01  20.00   0.00
 15:30    0.00     0.50   0.00   0.53   0.09   0.00   0.00   0.00   0.12   0.00   -0.08  20.00   0.00
 15:45    0.00     0.50   0.00   0.47   0.08   0.00   0.00   0.00   0.05   0.00   -0.07  20.00   0.00
 16:00    0.00     0.40   0.00   0.37   0.07   0.00   0.00   0.00   0.03   0.00   -0.05  20.00   0.00
 16:15    0.00     0.31   0.00   0.27   0.06   0.00   0.00   0.00   0.02   0.00   -0.04  20.00   0.00
 16:30    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.01   0.09   -0.00  20.00   0.00
 16:45    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.00   0.09   -0.00  20.00   0.00
 17:00    0.00     0.75   0.00   0.70   0.05   0.00   0.00   0.00   0.00   0.00   -0.10  20.00   0.00
 17:15    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.00   0.09   -0.00  20.00   0.00
 17:30    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.00   0.08   -0.00  20.00   0.00
 17:45    0.00     0.31   0.00   0.26   0.05   0.00   0.00   0.00   0.00   0.00   -0.03  20.00   0.00
 18:00    0.00     0.63   0.00   0.56   0.06   0.00   0.00   0.00   0.00   0.00   -0.08  20.00   0.00
 18:15    0.00     0.31   0.00   0.24   0.07   0.00   0.00   0.00   0.00   0.00   -0.03  20.00   0.00
 18:30    0.00     0.00   0.07   0.00   0.07   0.00   0.00   0.00   0.00   0.02   -0.00  20.00   0.00
 18:45    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:00    0.00     0.05   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:15    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:30    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:45    0.25     0.00   0.30   0.00   0.05   0.00   0.00   0.00   0.00   0.07   -0.00  20.00   0.00
 20:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:15    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:30    0.00     0.12   0.00   0.06   0.06   0.00   0.00   0.00   0.00   0.00   -0.01  20.00   0.00
 20:45    0.00     0.31   0.00   0.26   0.05   0.00   0.00   0.00   0.00   0.00   -0.02  20.00   0.00
 21:00    0.00     0.04   0.00   0.00   0.04   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:30    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:45    0.00     0.31   0.00   0.29   0.02   0.00   0.00   0.00   0.00   0.00   -0.02  20.00   0.00
 22:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:30    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:45    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:30    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:45    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
Totaal   10.63     9.56   9.70   6.61   6.48   0.00   0.00   0.00   5.36   2.36   -0.85          0.91

2025-10-30 13:46:33 info: Consumption               9.70 (kWh)
2025-10-30 13:46:33 info: Cost consumption          2.36 (€)
2025-10-30 13:46:33 info: Tariff consumption        0.243 (€/kWh)
2025-10-30 13:46:33 info: Production                6.61 (kWh)
2025-10-30 13:46:33 info: Profit production        -0.85 (€)
2025-10-30 13:46:33 info: Tariff production         0.129 (€/kWh)

2025-10-30 13:46:33 info: 
Calculation profit after optimize in €
Cost before optimize               0.94
Cost consumption      2.36
Profit production    -0.85
Cycle cost            0.19
Battery storage      -0.01
Boiler storage        0.00
Total                 1.69
Cost after optimize               1.70
Profit:                          -0.77
2025-10-30 13:46:33 info: Doorzetten van alle settings naar HA
2025-10-30 13:46:33 info: Berekeningsuitkomst voor opladen van Ioniq 6:
2025-10-30 13:46:33 info: - aantal ampere 0A (was 0.0A)
2025-10-30 13:46:33 info: - stand schakelaar 'off' (was 'off')
2025-10-30 13:46:33 info: - positie: home
2025-10-30 13:46:33 info: - ingeplugd: True
2025-10-30 13:46:33 info: Evaluatie status laden Ioniq 6 op 2025-10-30 13:46
2025-10-30 13:46:33 info: - schakelaar laden: off
2025-10-30 13:46:33 info: - aantal ampere: 0.0
2025-10-30 13:46:33 info: Grid set point: 185.0 W
2025-10-30 13:46:33 info: Cycle cost Victron 16kWh: 0.19 euro
2025-10-30 13:46:33 info: Netto vermogen naar(+)/uit(-) omvormer Victron 16kWh: 1500 W
2025-10-30 13:46:33 info: Balanceren: False
2025-10-30 13:46:33 info: Vermogen uit batterij: -1345W
2025-10-30 13:46:33 info: Vermogen dat binnenkomt van pv: 0W
2025-10-30 13:46:33 info: Vermogen dat binnenkomt van ac: 1345W
2025-10-30 13:46:33 info: Waarde SoC na eerste uur: 18.1%
2025-10-30 13:46:33 info: Apparaat: vaatwasser
2025-10-30 13:46:33 info: Programma: auto2
2025-10-30 13:46:33 info: Niet ingepland
2025-10-30 13:46:33 info: Apparaat: washing_machine
2025-10-30 13:46:33 info: Programma: 40 graden
2025-10-30 13:46:33 info: Start op 2025-10-31 10:15
2025-10-30 13:46:33 info: Is klaar op 2025-10-31 12:30

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


  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 06-12 19:42

Bravo

Second Best

Update:
Berekening van 14.00: no result
Berekening van 14.15 hieronder. Wel weer een positieve winst
In de tijd tussen de berekeningen in stond de (virtuele) batterij met de instelling van 1500 W te laden, wat voor voldoende lading zorgde om weer winst te maken.

Ik zou een negatief resultaat verwachten bij een te lage begin soc, maar volgens mij was dat hier niet aan de hand.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
2025-10-30 14:15:00 info: Day Ahead Optimalisering versie: 2025.10.6
2025-10-30 14:15:00 info: Day Ahead Optimalisering gestart op: 30-10-2025 14:15:00
2025-10-30 14:15:00 info: Day Ahead Optimalisatie gestart: 30-10-2025 14:15:00 taak: calc_optimum
2025-10-30 14:15:00 info: Debug = False
2025-10-30 14:15:00 info: Baseload uit instellingen
2025-10-30 14:15:00 info: Start waarden: 
       uur                tijd   p_l   p_t  base  pv_ac  pv_dc
0    14:15 2025-10-30 14:15:00 0.185 0.037 0.071  0.235      0
1    14:30 2025-10-30 14:30:00 0.246 0.098 0.075  0.249      0
2    14:45 2025-10-30 14:45:00 0.355 0.207 0.078  0.252      0
3    15:00 2025-10-30 15:00:00 0.175 0.027 0.083  0.261      0
4    15:15 2025-10-30 15:15:00 0.236 0.088 0.086  0.262      0
5    15:30 2025-10-30 15:30:00 0.304 0.156 0.089  0.267      0
6    15:45 2025-10-30 15:45:00 0.349 0.201 0.082  0.109      0
7    16:00 2025-10-30 16:00:00 0.203 0.055 0.067  0.066      0
8    16:15 2025-10-30 16:15:00 0.241 0.093 0.060  0.042      0
9    16:30 2025-10-30 16:30:00 0.296 0.148 0.053  0.019      0
10   16:45 2025-10-30 16:45:00 0.397 0.250 0.051  0.011      0
11   17:00 2025-10-30 17:00:00 0.273 0.125 0.051  0.012      0
12   17:15 2025-10-30 17:15:00 0.283 0.135 0.049  0.002      0
13   17:30 2025-10-30 17:30:00 0.294 0.146 0.048  0.000      0
14   17:45 2025-10-30 17:45:00 0.306 0.158 0.052  0.000      0
15   18:00 2025-10-30 18:00:00 0.288 0.140 0.063  0.000      0
16   18:15 2025-10-30 18:15:00 0.289 0.142 0.068  0.000      0
17   18:30 2025-10-30 18:30:00 0.292 0.144 0.072  0.000      0
18   18:45 2025-10-30 18:45:00 0.292 0.144 0.068  0.000      0
19   19:00 2025-10-30 19:00:00 0.294 0.147 0.055  0.000      0
20   19:15 2025-10-30 19:15:00 0.292 0.144 0.051  0.000      0
21   19:30 2025-10-30 19:30:00 0.285 0.137 0.046  0.000      0
22   19:45 2025-10-30 19:45:00 0.272 0.124 0.048  0.000      0
23   20:00 2025-10-30 20:00:00 0.291 0.143 0.057  0.000      0
24   20:15 2025-10-30 20:15:00 0.269 0.121 0.059  0.000      0
25   20:30 2025-10-30 20:30:00 0.271 0.124 0.061  0.000      0
26   20:45 2025-10-30 20:45:00 0.251 0.103 0.053  0.000      0
27   21:00 2025-10-30 21:00:00 0.271 0.124 0.037  0.000      0
28   21:15 2025-10-30 21:15:00 0.264 0.116 0.029  0.000      0
29   21:30 2025-10-30 21:30:00 0.255 0.108 0.022  0.000      0
30   21:45 2025-10-30 21:45:00 0.238 0.091 0.022  0.000      0
31   22:00 2025-10-30 22:00:00 0.264 0.116 0.028  0.000      0
32   22:15 2025-10-30 22:15:00 0.257 0.110 0.028  0.000      0
33   22:30 2025-10-30 22:30:00 0.262 0.114 0.028  0.000      0
34   22:45 2025-10-30 22:45:00 0.245 0.097 0.028  0.000      0
35   23:00 2025-10-30 23:00:00 0.262 0.115 0.028  0.000      0
36   23:15 2025-10-30 23:15:00 0.245 0.097 0.028  0.000      0
37   23:30 2025-10-30 23:30:00 0.235 0.087 0.028  0.000      0
38   23:45 2025-10-30 23:45:00 0.217 0.069 0.027  0.000      0
39   00:00 2025-10-31 00:00:00 0.259 0.111 0.026  0.000      0
40   00:15 2025-10-31 00:15:00 0.243 0.096 0.025  0.000      0
41   00:30 2025-10-31 00:30:00 0.234 0.086 0.024  0.000      0
42   00:45 2025-10-31 00:45:00 0.228 0.080 0.025  0.000      0
43   01:00 2025-10-31 01:00:00 0.241 0.093 0.027  0.000      0
44   01:15 2025-10-31 01:15:00 0.235 0.087 0.027  0.000      0
45   01:30 2025-10-31 01:30:00 0.227 0.079 0.028  0.000      0
46   01:45 2025-10-31 01:45:00 0.221 0.073 0.028  0.000      0
47   02:00 2025-10-31 02:00:00 0.234 0.087 0.027  0.000      0
48   02:15 2025-10-31 02:15:00 0.226 0.079 0.027  0.000      0
49   02:30 2025-10-31 02:30:00 0.226 0.078 0.027  0.000      0
50   02:45 2025-10-31 02:45:00 0.225 0.077 0.028  0.000      0
51   03:00 2025-10-31 03:00:00 0.224 0.076 0.029  0.000      0
52   03:15 2025-10-31 03:15:00 0.226 0.078 0.030  0.000      0
53   03:30 2025-10-31 03:30:00 0.230 0.083 0.031  0.000      0
54   03:45 2025-10-31 03:45:00 0.232 0.084 0.030  0.000      0
55   04:00 2025-10-31 04:00:00 0.224 0.076 0.028  0.000      0
56   04:15 2025-10-31 04:15:00 0.227 0.079 0.028  0.000      0
57   04:30 2025-10-31 04:30:00 0.239 0.092 0.027  0.000      0
58   04:45 2025-10-31 04:45:00 0.237 0.090 0.027  0.000      0
59   05:00 2025-10-31 05:00:00 0.235 0.088 0.026  0.000      0
60   05:15 2025-10-31 05:15:00 0.238 0.090 0.025  0.000      0
61   05:30 2025-10-31 05:30:00 0.251 0.104 0.024  0.000      0
62   05:45 2025-10-31 05:45:00 0.254 0.106 0.025  0.000      0
63   06:00 2025-10-31 06:00:00 0.257 0.110 0.023  0.000      0
64   06:15 2025-10-31 06:15:00 0.277 0.130 0.024  0.000      0
65   06:30 2025-10-31 06:30:00 0.287 0.139 0.024  0.000      0
66   06:45 2025-10-31 06:45:00 0.285 0.137 0.039  0.000      0
67   07:00 2025-10-31 07:00:00 0.287 0.140 0.072  0.000      0
68   07:15 2025-10-31 07:15:00 0.287 0.140 0.087  0.000      0
69   07:30 2025-10-31 07:30:00 0.274 0.126 0.102  0.001      0
70   07:45 2025-10-31 07:45:00 0.259 0.111 0.088  0.010      0
71   08:00 2025-10-31 08:00:00 0.294 0.147 0.049  0.019      0
72   08:15 2025-10-31 08:15:00 0.275 0.127 0.035  0.026      0
73   08:30 2025-10-31 08:30:00 0.254 0.106 0.021  0.034      0
74   08:45 2025-10-31 08:45:00 0.240 0.092 0.025  0.047      0
75   09:00 2025-10-31 09:00:00 0.265 0.117 0.045  0.066      0
76   09:15 2025-10-31 09:15:00 0.247 0.099 0.050  0.079      0
77   09:30 2025-10-31 09:30:00 0.245 0.097 0.054  0.093      0
78   09:45 2025-10-31 09:45:00 0.228 0.080 0.050  0.096      0
79   10:00 2025-10-31 10:00:00 0.253 0.106 0.039  0.088      0
80   10:15 2025-10-31 10:15:00 0.242 0.094 0.035  0.090      0
81   10:30 2025-10-31 10:30:00 0.235 0.088 0.032  0.092      0
82   10:45 2025-10-31 10:45:00 0.232 0.085 0.034  0.091      0
83   11:00 2025-10-31 11:00:00 0.237 0.090 0.039  0.090      0
84   11:15 2025-10-31 11:15:00 0.233 0.085 0.040  0.089      0
85   11:30 2025-10-31 11:30:00 0.232 0.085 0.042  0.089      0
86   11:45 2025-10-31 11:45:00 0.232 0.085 0.049  0.087      0
87   12:00 2025-10-31 12:00:00 0.232 0.084 0.060  0.081      0
88   12:15 2025-10-31 12:15:00 0.233 0.086 0.067  0.079      0
89   12:30 2025-10-31 12:30:00 0.236 0.088 0.073  0.077      0
90   12:45 2025-10-31 12:45:00 0.241 0.094 0.070  0.085      0
91   13:00 2025-10-31 13:00:00 0.231 0.084 0.058  0.104      0
92   13:15 2025-10-31 13:15:00 0.233 0.085 0.055  0.113      0
93   13:30 2025-10-31 13:30:00 0.238 0.090 0.052  0.124      0
94   13:45 2025-10-31 13:45:00 0.249 0.102 0.056  0.125      0
95   14:00 2025-10-31 14:00:00 0.232 0.084 0.066  0.118      0
96   14:15 2025-10-31 14:15:00 0.252 0.105 0.071  0.121      0
97   14:30 2025-10-31 14:30:00 0.269 0.121 0.075  0.125      0
98   14:45 2025-10-31 14:45:00 0.286 0.138 0.078  0.126      0
99   15:00 2025-10-31 15:00:00 0.262 0.114 0.083  0.130      0
100  15:15 2025-10-31 15:15:00 0.280 0.132 0.086  0.129      0
101  15:30 2025-10-31 15:30:00 0.296 0.149 0.089  0.124      0
102  15:45 2025-10-31 15:45:00 0.298 0.151 0.082  0.049      0
103  16:00 2025-10-31 16:00:00 0.288 0.140 0.067  0.030      0
104  16:15 2025-10-31 16:15:00 0.289 0.142 0.060  0.018      0
105  16:30 2025-10-31 16:30:00 0.290 0.142 0.053  0.006      0
106  16:45 2025-10-31 16:45:00 0.286 0.139 0.051  0.002      0
107  17:00 2025-10-31 17:00:00 0.293 0.145 0.051  0.005      0
108  17:15 2025-10-31 17:15:00 0.285 0.137 0.049  0.001      0
109  17:30 2025-10-31 17:30:00 0.284 0.136 0.048  0.000      0
110  17:45 2025-10-31 17:45:00 0.263 0.116 0.052  0.000      0
111  18:00 2025-10-31 18:00:00 0.288 0.141 0.063  0.000      0
112  18:15 2025-10-31 18:15:00 0.272 0.125 0.068  0.000      0
113  18:30 2025-10-31 18:30:00 0.262 0.114 0.072  0.000      0
114  18:45 2025-10-31 18:45:00 0.247 0.099 0.068  0.000      0
115  19:00 2025-10-31 19:00:00 0.257 0.109 0.055  0.000      0
116  19:15 2025-10-31 19:15:00 0.240 0.092 0.051  0.000      0
117  19:30 2025-10-31 19:30:00 0.253 0.105 0.046  0.000      0
118  19:45 2025-10-31 19:45:00 0.243 0.095 0.048  0.000      0
119  20:00 2025-10-31 20:00:00 0.254 0.106 0.057  0.000      0
120  20:15 2025-10-31 20:15:00 0.247 0.100 0.059  0.000      0
121  20:30 2025-10-31 20:30:00 0.236 0.088 0.061  0.000      0
122  20:45 2025-10-31 20:45:00 0.225 0.078 0.053  0.000      0
123  21:00 2025-10-31 21:00:00 0.252 0.105 0.037  0.000      0
124  21:15 2025-10-31 21:15:00 0.246 0.098 0.029  0.000      0
125  21:30 2025-10-31 21:30:00 0.236 0.089 0.022  0.000      0
126  21:45 2025-10-31 21:45:00 0.227 0.080 0.022  0.000      0
127  22:00 2025-10-31 22:00:00 0.247 0.099 0.028  0.000      0
128  22:15 2025-10-31 22:15:00 0.237 0.090 0.028  0.000      0
129  22:30 2025-10-31 22:30:00 0.235 0.088 0.028  0.000      0
130  22:45 2025-10-31 22:45:00 0.225 0.077 0.028  0.000      0
131  23:00 2025-10-31 23:00:00 0.249 0.102 0.028  0.000      0
132  23:15 2025-10-31 23:15:00 0.225 0.077 0.028  0.000      0
133  23:30 2025-10-31 23:30:00 0.208 0.060 0.028  0.000      0
134  23:45 2025-10-31 23:45:00 0.191 0.044 0.028  0.000      0
2025-10-30 14:15:00 info: No reduced hours applied for Victron 16kWh
2025-10-30 14:15:00 info: Startwaarde SoC Victron 16kWh: 28.0%

2025-10-30 14:15:00 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2025-10-30 14:15:00 info: Instellingen voor laden van EV: Ioniq 6
2025-10-30 14:15:00 info: Direct laden is uit
2025-10-30 14:15:00 info:  Ampere  Effic. Grid kW Accu kW
2025-10-30 14:15:00 info:    0.00    0.10    0.00    0.00
2025-10-30 14:15:00 info:    6.00    0.91    1.38    1.26
2025-10-30 14:15:00 info:   10.00    0.92    2.30    2.12
2025-10-30 14:15:00 info:   12.00    0.79    2.76    2.18
2025-10-30 14:15:00 info: Capaciteit accu: 74 kWh
2025-10-30 14:15:00 info: Maximaal laadvermogen: 2.76 kW
2025-10-30 14:15:00 info: Klaar met laden op: 30-10-2025 08:00:00
2025-10-30 14:15:00 info: Huidig laadniveau: 75.0 %
2025-10-30 14:15:00 info: Gewenst laadniveau:75.0 %
2025-10-30 14:15:00 info: Marge voor het laden: 1 %
2025-10-30 14:15:00 info: Locatie: home
2025-10-30 14:15:00 info: Ingeplugged:True
2025-10-30 14:15:00 info: Benodigde netto energie: 0.000 kWh
2025-10-30 14:15:00 info: Tijd nodig om te laden: 0:0 uur
2025-10-30 14:15:00 info: Afgerond naar hele intervallen: 0 kwartier
2025-10-30 14:15:00 info: Stand laden schakelaar: off
2025-10-30 14:15:00 info: Stand aantal ampere laden: 0.0 A
2025-10-30 14:15:00 info: Opladen wordt niet ingepland, omdat werkelijk niveau (75.0%) hoger is of gelijk aan gewenst niveau (75.0% minus de marge 1%), opgegeven tijdstip (2025-10-30 08:00:00) is verouderd.
2025-10-30 14:15:00 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland

2025-10-30 14:15:00 info: Apparaat vaatwasser direct starten staat uit
2025-10-30 14:15:00 info: Machine vaatwasser wordt niet ingepland, want de berekende planning wordt nu uitgevoerd
2025-10-30 14:15:00 info: Apparaat washing_machine direct starten staat uit
2025-10-30 14:15:00 info: Apparaat washing_machine met programma '40 graden' wordt ingepland tussen 2025-10-31 09:00 en 2025-10-31 13:00.
2025-10-30 14:15:00 info: Strategie: minimale kosten
2025-10-30 14:15:00 info: Maximale fout (maximal gap): 0.005000 euro
2025-10-30 14:16:29 info: Rekentijd: 89.18 sec
2025-10-30 14:16:29 info: Het programma heeft een optimale oplossing gevonden.
2025-10-30 14:16:30 info: In- en uitgaande energie per kwartier batterij Victron 16kWh
   uur   ac->    eff   ->dc pv->dc   dc->    eff  ->bat  o_eff    SoC
          kWh      %    kWh    kWh    kWh      %    kWh      %      %
 14:15   0.25  87.20   0.22   0.00   0.22 100.00   0.22  87.20  29.36
 14:30   0.17  83.42   0.15   0.00   0.15 100.00   0.15  83.42  30.27
 14:45   0.00     --   0.00   0.00   0.00     --   0.00     --  30.27
 15:00   0.63  89.80   0.56   0.00   0.56 100.00   0.56  89.80  33.78
 15:15   0.18  83.56   0.15   0.00   0.15 100.00   0.15  83.56  34.70
 15:30   0.18  83.66   0.15   0.00   0.15 100.00   0.15  83.66  35.63
 15:45   0.00     --   0.00   0.00   0.00     --   0.00     --  35.63
 16:00   0.00     --   0.00   0.00   0.00     --   0.00     --  35.63
 16:15   0.00     --   0.00   0.00   0.00     --   0.00     --  35.63
 16:30  -0.03  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  35.39
 16:45  -0.75  92.50  -0.81   0.00  -0.81 100.00  -0.81  92.50  30.32
 17:00  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  30.04
 17:15  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  29.71
 17:30  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  29.38
 17:45  -0.05  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  29.03
 18:00  -0.06  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  28.61
 18:15  -0.07  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  28.16
 18:30  -0.07  93.50  -0.08   0.00  -0.08 100.00  -0.08  93.50  27.68
 18:45  -0.07  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  27.22
 19:00  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  26.86
 19:15  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  26.52
 19:30  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  26.18
 19:45  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  25.85
 20:00  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  25.47
 20:15  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  25.07
 20:30  -0.06  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  24.67
 20:45  -0.05  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  24.31
 21:00  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  24.05
 21:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  23.85
 21:30  -0.02  89.10  -0.02   0.00  -0.02 100.00  -0.02  89.10  23.69
 21:45   0.00     --   0.00   0.00   0.00     --   0.00     --  23.69
 22:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  23.50
 22:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  23.31
 22:30  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  23.12
 22:45  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  22.92
 23:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  22.73
 23:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  22.53
 23:30   0.00     --   0.00   0.00   0.00     --   0.00     --  22.53
 23:45   0.00     --   0.00   0.00   0.00     --   0.00     --  22.53
 00:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  22.35
 00:15  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  22.19
 00:30   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 00:45   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 01:00   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 01:15   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 01:30   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 01:45   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 02:00   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 02:15   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 02:30   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 02:45   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 03:00   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 03:15   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 03:30   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 03:45   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 04:00   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 04:15   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 04:30   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 04:45   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 05:00   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 05:15   0.00     --   0.00   0.00   0.00     --   0.00     --  22.19
 05:30  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  22.02
 05:45  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  21.84
 06:00  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  21.68
 06:15  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  21.52
 06:30  -0.02  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  21.35
 06:45  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  21.07
 07:00  -0.07  93.50  -0.08   0.00  -0.08 100.00  -0.08  93.50  20.59
 07:15  -0.09  93.50  -0.09   0.00  -0.09 100.00  -0.09  93.50  20.01
 07:30  -0.10  93.50  -0.11   0.00  -0.11 100.00  -0.11  93.50  19.33
 07:45  -0.08  93.50  -0.08   0.00  -0.08 100.00  -0.08  93.50  18.81
 08:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  18.60
 08:15  -0.01  89.10  -0.01   0.00  -0.01 100.00  -0.01  89.10  18.54
 08:30   0.01  78.50   0.01   0.00   0.01 100.00   0.01  78.50  18.60
 08:45   0.02  78.50   0.02   0.00   0.02 100.00   0.02  78.50  18.70
 09:00  -0.20  95.20  -0.21   0.00  -0.21 100.00  -0.21  95.20  17.41
 09:15  -0.47  95.00  -0.50   0.00  -0.50 100.00  -0.50  95.00  14.32
 09:30   0.01  78.50   0.01   0.00   0.01 100.00   0.01  78.50  14.36
 09:45   0.02  78.50   0.02   0.00   0.02 100.00   0.02  78.50  14.46
 10:00   0.02  78.50   0.02   0.00   0.02 100.00   0.02  78.50  14.58
 10:15   0.03  78.50   0.02   0.00   0.02 100.00   0.02  78.50  14.73
 10:30   0.03  78.50   0.03   0.00   0.03 100.00   0.03  78.50  14.88
 10:45   0.03  78.50   0.02   0.00   0.02 100.00   0.02  78.50  15.01
 11:00   0.02  78.50   0.02   0.00   0.02 100.00   0.02  78.50  15.11
 11:15   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  15.35
 11:30   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  15.58
 11:45   0.04  78.50   0.03   0.00   0.03 100.00   0.03  78.50  15.76
 12:00   0.02  78.50   0.02   0.00   0.02 100.00   0.02  78.50  15.87
 12:15   0.01  78.50   0.01   0.00   0.01 100.00   0.01  78.50  15.93
 12:30   0.00  78.50   0.00   0.00   0.00 100.00   0.00  78.50  15.95
 12:45   0.01  78.50   0.01   0.00   0.01 100.00   0.01  78.50  16.02
 13:00   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  16.25
 13:15   0.06  78.50   0.05   0.00   0.05 100.00   0.05  78.50  16.53
 13:30   0.07  78.50   0.06   0.00   0.06 100.00   0.06  78.50  16.89
 13:45   0.07  78.50   0.05   0.00   0.05 100.00   0.05  78.50  17.23
 14:00   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  17.48
 14:15   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  17.73
 14:30   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  17.97
 14:45   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  18.21
 15:00   0.05  78.50   0.04   0.00   0.04 100.00   0.04  78.50  18.44
 15:15   0.04  78.50   0.03   0.00   0.03 100.00   0.03  78.50  18.65
 15:30   0.03  78.50   0.03   0.00   0.03 100.00   0.03  78.50  18.82
 15:45  -0.03  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  18.59
 16:00  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  18.33
 16:15  -0.04  89.10  -0.05   0.00  -0.05 100.00  -0.05  89.10  18.04
 16:30  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  17.70
 16:45  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  17.37
 17:00  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  17.03
 17:15  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  16.70
 17:30  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  16.36
 17:45  -0.05  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  16.02
 18:00  -0.06  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  15.60
 18:15  -0.07  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  15.15
 18:30  -0.07  93.50  -0.08   0.00  -0.08 100.00  -0.08  93.50  14.66
 18:45  -0.07  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  14.21
 19:00  -0.05  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  13.85
 19:15  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  13.51
 19:30  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  13.17
 19:45  -0.05  93.50  -0.05   0.00  -0.05 100.00  -0.05  93.50  12.84
 20:00  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  12.46
 20:15  -0.06  93.50  -0.06   0.00  -0.06 100.00  -0.06  93.50  12.06
 20:30  -0.06  93.50  -0.07   0.00  -0.07 100.00  -0.07  93.50  11.66
 20:45   0.00     --   0.00   0.00   0.00     --   0.00     --  11.66
 21:00  -0.04  89.10  -0.04   0.00  -0.04 100.00  -0.04  89.10  11.40
 21:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.19
 21:30   0.00     --   0.00   0.00   0.00     --   0.00     --  11.19
 21:45   0.00     --   0.00   0.00   0.00     --   0.00     --  11.19
 22:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  11.00
 22:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  10.81
 22:30  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  10.61
 22:45  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  10.42
 23:00  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  10.23
 23:15  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10  10.04
 23:30  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10   9.84
 23:45  -0.03  89.10  -0.03   0.00  -0.03 100.00  -0.03  89.10   9.65
Totaal  -2.18     --  -2.94   0.00  -2.94     --  -2.94     --       
2025-10-30 14:16:32 info: Berekende prognoses: 
   uur  bat_in  bat_out   cons   prod   base   boil     wp     ev  pv_ac   cost  profit  b_tem   mach
 14:15    0.25     0.00   0.09   0.00   0.07   0.00   0.00   0.00   0.23   0.02   -0.00  20.00   0.00
 14:30    0.17     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.25   0.00   -0.00  20.00   0.00
 14:45    0.00     0.00   0.00   0.17   0.08   0.00   0.00   0.00   0.25   0.00   -0.04  20.00   0.00
 15:00    0.63     0.00   0.45   0.00   0.08   0.00   0.00   0.00   0.26   0.08   -0.00  20.00   0.00
 15:15    0.18     0.00   0.00   0.00   0.09   0.00   0.00   0.00   0.26   0.00   -0.00  20.00   0.00
 15:30    0.18     0.00   0.00   0.00   0.09   0.00   0.00   0.00   0.27   0.00   -0.00  20.00   0.00
 15:45    0.00     0.00   0.00   0.03   0.08   0.00   0.00   0.00   0.11   0.00   -0.01  20.00   0.00
 16:00    0.00     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.07   0.00   -0.00  20.00   0.00
 16:15    0.00     0.00   0.02   0.00   0.06   0.00   0.00   0.00   0.04   0.00   -0.00  20.00   0.00
 16:30    0.00     0.03   0.00   0.00   0.05   0.00   0.00   0.00   0.02   0.00   -0.00  20.00   0.00
 16:45    0.00     0.75   0.00   0.71   0.05   0.00   0.00   0.00   0.01   0.00   -0.18  20.00   0.00
 17:00    0.00     0.04   0.00   0.00   0.05   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 17:15    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 17:30    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 17:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:15    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:30    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:45    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:15    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:30    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:15    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:30    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:00    0.00     0.04   0.00   0.00   0.04   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:30    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:45    0.00     0.00   0.02   0.00   0.02   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 22:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:30    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:45    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 23:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 00:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 00:15    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 00: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   0.00
 00:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 01: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   0.00
 01: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   0.00
 01:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 01:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 02: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   0.00
 02: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   0.00
 02:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 02:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 03: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   0.00
 03: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   0.00
 03:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 03:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 04: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   0.00
 04: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   0.00
 04:30    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 04:45    0.00     0.00   0.03   0.00   0.03   0.00   0.00   0.00   0.00   0.01   -0.00  20.00   0.00
 05: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   0.00
 05: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   0.00
 05:30    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 05:45    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:00    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:15    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:30    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 06:45    0.00     0.04   0.00   0.00   0.04   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:00    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:15    0.00     0.09   0.00   0.00   0.09   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:30    0.00     0.10   0.00   0.00   0.10   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 07:45    0.00     0.08   0.00   0.00   0.09   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 08:00    0.00     0.03   0.00   0.00   0.05   0.00   0.00   0.00   0.02   0.00   -0.00  20.00   0.00
 08:15    0.00     0.01   0.00   0.00   0.03   0.00   0.00   0.00   0.03   0.00   -0.00  20.00   0.00
 08:30    0.01     0.00   0.00   0.00   0.02   0.00   0.00   0.00   0.03   0.00   -0.00  20.00   0.00
 08:45    0.02     0.00   0.00   0.00   0.03   0.00   0.00   0.00   0.05   0.00   -0.00  20.00   0.00
 09:00    0.00     0.20   0.00   0.00   0.05   0.00   0.00   0.00   0.07   0.00   -0.00  20.00   0.22
 09:15    0.00     0.47   0.00   0.00   0.05   0.00   0.00   0.00   0.08   0.00   -0.00  20.00   0.50
 09:30    0.01     0.00   0.00   0.00   0.05   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.03
 09:45    0.02     0.00   0.00   0.00   0.05   0.00   0.00   0.00   0.10   0.00   -0.00  20.00   0.03
 10:00    0.02     0.00   0.00   0.00   0.04   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.03
 10:15    0.03     0.00   0.00   0.00   0.04   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.03
 10:30    0.03     0.00   0.00   0.00   0.03   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.03
 10:45    0.03     0.00   0.00   0.00   0.03   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.03
 11:00    0.02     0.00   0.00   0.00   0.04   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.03
 11:15    0.05     0.00   0.00   0.00   0.04   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.00
 11:30    0.05     0.00   0.00   0.00   0.04   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.00
 11:45    0.04     0.00   0.00   0.00   0.05   0.00   0.00   0.00   0.09   0.00   -0.00  20.00   0.00
 12:00    0.02     0.00   0.00   0.00   0.06   0.00   0.00   0.00   0.08   0.00   -0.00  20.00   0.00
 12:15    0.01     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.08   0.00   -0.00  20.00   0.00
 12:30    0.00     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.08   0.00   -0.00  20.00   0.00
 12:45    0.01     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.08   0.00   -0.00  20.00   0.00
 13:00    0.05     0.00   0.00   0.00   0.06   0.00   0.00   0.00   0.10   0.00   -0.00  20.00   0.00
 13:15    0.06     0.00   0.00   0.00   0.05   0.00   0.00   0.00   0.11   0.00   -0.00  20.00   0.00
 13:30    0.07     0.00   0.00   0.00   0.05   0.00   0.00   0.00   0.12   0.00   -0.00  20.00   0.00
 13:45    0.07     0.00   0.00   0.00   0.06   0.00   0.00   0.00   0.12   0.00   -0.00  20.00   0.00
 14:00    0.05     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.12   0.00   -0.00  20.00   0.00
 14:15    0.05     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.12   0.00   -0.00  20.00   0.00
 14:30    0.05     0.00   0.00   0.00   0.07   0.00   0.00   0.00   0.13   0.00   -0.00  20.00   0.00
 14:45    0.05     0.00   0.00   0.00   0.08   0.00   0.00   0.00   0.13   0.00   -0.00  20.00   0.00
 15:00    0.05     0.00   0.00   0.00   0.08   0.00   0.00   0.00   0.13   0.00   -0.00  20.00   0.00
 15:15    0.04     0.00   0.00   0.00   0.09   0.00   0.00   0.00   0.13   0.00   -0.00  20.00   0.00
 15:30    0.03     0.00   0.00   0.00   0.09   0.00   0.00   0.00   0.12   0.00   -0.00  20.00   0.00
 15:45    0.00     0.03   0.00   0.00   0.08   0.00   0.00   0.00   0.05   0.00   -0.00  20.00   0.00
 16:00    0.00     0.04   0.00   0.00   0.07   0.00   0.00   0.00   0.03   0.00   -0.00  20.00   0.00
 16:15    0.00     0.04   0.00   0.00   0.06   0.00   0.00   0.00   0.02   0.00   -0.00  20.00   0.00
 16:30    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 16:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 17:00    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 17:15    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 17:30    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 17:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:15    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:30    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 18:45    0.00     0.07   0.00   0.00   0.07   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:00    0.00     0.05   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:15    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:30    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 19:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:00    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:15    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20:30    0.00     0.06   0.00   0.00   0.06   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 20: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   0.00
 21:00    0.00     0.04   0.00   0.00   0.04   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 21: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   0.00
 21: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   0.00
 22:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:30    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 22:45    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:00    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:15    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:30    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
 23:45    0.00     0.03   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00   0.00
Totaal    2.36     4.54   1.28   0.94   6.35   0.00   0.00   0.00   4.75   0.27   -0.22          0.91

2025-10-30 14:16:32 info: Consumption               1.28 (kWh)
2025-10-30 14:16:32 info: Cost consumption          0.27 (€)
2025-10-30 14:16:32 info: Tariff consumption        0.208 (€/kWh)
2025-10-30 14:16:32 info: Production                0.94 (kWh)
2025-10-30 14:16:32 info: Profit production        -0.22 (€)
2025-10-30 14:16:32 info: Tariff production         0.237 (€/kWh)

2025-10-30 14:16:32 info: 
Calculation profit after optimize in €
Cost before optimize               0.98
Cost consumption      0.27
Profit production    -0.22
Cycle cost            0.07
Battery storage       0.20
Boiler storage        0.00
Total                 0.31
Cost after optimize               0.32
Profit:                           0.66
2025-10-30 14:16:32 info: Doorzetten van alle settings naar HA
2025-10-30 14:16:32 info: Berekeningsuitkomst voor opladen van Ioniq 6:
2025-10-30 14:16:32 info: - aantal ampere 0A (was 0.0A)
2025-10-30 14:16:32 info: - stand schakelaar 'off' (was 'off')
2025-10-30 14:16:32 info: - positie: home
2025-10-30 14:16:32 info: - ingeplugd: True
2025-10-30 14:16:32 info: Evaluatie status laden Ioniq 6 op 2025-10-30 14:16
2025-10-30 14:16:32 info: - schakelaar laden: off
2025-10-30 14:16:32 info: - aantal ampere: 0.0
2025-10-30 14:16:32 info: Grid set point: 343.0 W
2025-10-30 14:16:32 info: Cycle cost Victron 16kWh: 0.07 euro
2025-10-30 14:16:32 info: Netto vermogen naar(+)/uit(-) omvormer Victron 16kWh: 1000 W
2025-10-30 14:16:32 info: Balanceren: False
2025-10-30 14:16:32 info: Vermogen uit batterij: -872W
2025-10-30 14:16:32 info: Vermogen dat binnenkomt van pv: 0W
2025-10-30 14:16:32 info: Vermogen dat binnenkomt van ac: 872W
2025-10-30 14:16:32 info: Waarde SoC na eerste uur: 29.4%
2025-10-30 14:16:32 info: Apparaat: vaatwasser
2025-10-30 14:16:32 info: Programma: auto2
2025-10-30 14:16:32 info: Niet ingepland
2025-10-30 14:16:32 info: Apparaat: washing_machine
2025-10-30 14:16:32 info: Programma: 40 graden
2025-10-30 14:16:32 info: Start op 2025-10-31 09:00
2025-10-30 14:16:32 info: Is klaar op 2025-10-31 11:15

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

Undertilted schreef op woensdag 29 oktober 2025 @ 21:17:
Ik heb ff in HA alles apart gezet, zonder controls

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
input_number:
  dao_goodwe_feed_in_limit_w:
    name: GoodWe feed-in limit (W)
    unit_of_measurement: W
    min: 0
    max: 5000
    step: 50
    mode: box
    icon: mdi:transmission-tower-export

input_select:
  dao_goodwe_operating_mode:
    name: GoodWe operating mode
    options:
      - general
      - off_grid
      - backup
      - eco
      - peak_shaving
      - eco_charge
      - eco_discharge
    icon: mdi:cog

input_datetime:
  dao_goodwe_stop_until:
    name: GoodWe stop until
    has_date: true
    has_time: true
    icon: mdi:power

input_boolean:
  dao_goodwe_cell_balance:
    name: GoodWe cell balancing enable
    icon: mdi:scale-balance
  dao_pv_roof_sw_enable:
    name: PV Roof SW enable
    icon: mdi:solar-power
    initial: on
  dao_pv_roof_se_enable:
    name: PV Roof SE enable
    icon: mdi:solar-power
    initial: on


Vraagje: wat is "entity set operating mode off"? Ik heb de modi van goodwe gecopy paste.

//edit: baseload berekenen eindigt altijd op een
code:
1
2
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.


als ik op home click, dan op "tabel" kom ik deze fout tegen

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
 2025-10-29 22:19:34,154 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 22:19:34,182 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 22:19:47,350 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 22:19:47,356 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 23:04:12,943 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 23:04:12,953 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 23:06:59,790 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 23:06:59,797 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'
2025-10-29 23:36:06,640 fout root MainThread : Er ontbreken kwartier- of uurwaarden van de day-ahead tarieven, de berekening wordt afgebroken
2025-10-29 23:36:06,645 fout dao.webserver.app MainThread : Exception on / [POST]
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/webserver/app/routes.py", line 226, in menu
    return reports("reports")
  File "/root/dao/webserver/app/routes.py", line 437, in reports
    report_df = report.get_grid_data(active_period, _tot=tot)
  File "/root/dao/prog/da_report.py", line 2085, in get_grid_data
    df_prices.rename(columns={"time": "tijd"}, inplace=True)
    ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rename'


Nog een vraagje: mijn warmtepomp valt niet echt te regelen. Of liever: mijn warmtevraag valt niet echt te regelen. Is het dan de moeite ze te configureren?

Mijn auto laadt ook 1 fasig. Is dat de moeite om te configureren? ik dacht een simpele te bepalen threshold te bouwen: bv laden als de stroomprijs onder de 20 cent/kWh is, anders niet laden, zoiets. Moet die dan ook in DAO?
Eerst:
Als ik je bericht goed begrijp zitten je zonnepanlen gekoppeld aan je goodwe-omvormer en kunnen ze direct de cellen van je batterij voeden. Dan zijn je zonnepanelen geen pv_ac, maar pv_dc en moet je de configuratie verplaatsen naar binnen de batterij-settings.

Verder:
DAO kent maar twee modi voor de omvormer: Aan of Uit. In jouw geval zou ik daarvoor een een input_select aanmaken en deze samen met feedin vertalen naar een van de modussen van he goodwe-omvormer.

Tenslotte:
De foutmelding bij je rapportage wordt veroorzaakt omdat er over de gevraagde rapportage-periode prijs-informatie ontbreekt in de DAO-database,
Je zult deze of alsnog moeten ophalen of moeten accepteren dat je geen rapportages over die periode kunt genereren.

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

Deikke schreef op donderdag 30 oktober 2025 @ 09:04:
Ik heb regelmatig een timeout in de verbinding met HA. Ik weet niet waarom dit precies gebeurd, maar het is erg vervelend dat hierdoor de schedule gemist wordt. Regelmatig staat de accu nu onnodig langer te laden of ontladen of niet te laden. Kan hier wellicht een retry ingebouwd worden? Er is ook niks om dit te detecteren mogelijk, omdat de eventuele foutmelding ook niet naar HA gezet kan worden...

Zowieso is het misschien een idee om de communicatie van deze add-on betrouwbaarder te maken door de info via MQTT te versturen? Dan kan er ook met auto discovery gewerkt worden om entities in Home Assistant aan te maken, ipv de helpers die nu handmatig gemaakt moeten worden. Als ik binnenkort wat tijd heb wil ik hier eventueel ook wel eens naar kijken.


[...]
Jij bent de eerste waarvan ik hoor van time-out-errors in de communicatie met HA.
Blijkbaar is jouw HA erg druk of zwaar belast.
Misschien kun je eens kijken bij \Instellingen\Systeem\Hardware hoe het zit met processor-en geheugen belasting?
Mijn ervaring is dat de communicatie met HA via de api-module heel snel en probleemloos verloopt.
Wat zijn de ervaringen van de andere gebruikers?

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

Bravo schreef op donderdag 30 oktober 2025 @ 13:59:
Vandaag lijkt DAO het spoor bijster, kwartier na kwartier nemen de kosten toe in plaats van af.
Profit: -0.77


[...]
Heb je ook de grafiek van de berekening om13:45 uur?

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


  • sailor_dg
  • Registratie: Januari 2019
  • Laatst online: 06-12 20:27
hebben meer mensen issues met de heating min run time, dat DAO zich hier niet aan lijkt te houden? -- > Nu ik dit type besef ik dat de minimum run time volgens de DOCS in uren is, maar na overgang naar kwartierprijzen moet de documentatie denk ik aangepast worden en is het in kwartieren.

code:
1
2
3
4
5
6
7
8
9
10
11
12
  "heating": {
    "heater present": "True",
    "entity hp enabled": "binary_sensor.dao_hp_enabed",
    "entity hp heat produced": "sensor.dao_thermal_heat_produced", 
    "min run length": 3,
    "entity hp power": "sensor.dao_hp_power",
    "entity hp cop": "sensor.dao_hp_cop",
    "entity hp switch": "input_boolean.dao_hp_switch",
    "degree days factor": 2.5,
    "adjustment": "on/off",
    "adjustment factor": 0.05
  },

All-electric | Deye 12KSG04LP3 met 2x Yixiang V2, 32x MB31 314 Ah | Panasonic Aquarea J 5kW | Tesla MY, SmartEVSE | 8,8 kWp PV | Proxmox met HomeAssistant, Docker host, PfSense, TrueNas & Mailcow


  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
KC27 schreef op donderdag 30 oktober 2025 @ 23:27:
[...]

Jij bent de eerste waarvan ik hoor van time-out-errors in de communicatie met HA.
Blijkbaar is jouw HA erg druk of zwaar belast.
Misschien kun je eens kijken bij \Instellingen\Systeem\Hardware hoe het zit met processor-en geheugen belasting?
Mijn ervaring is dat de communicatie met HA via de api-module heel snel en probleemloos verloopt.
Wat zijn de ervaringen van de andere gebruikers?
Is mij nog niet opgevallen.
@Deikke waar zie je die foutmeldingen? Zal het dan ook eens nakijken.

  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 06:54
Torch1969 schreef op vrijdag 31 oktober 2025 @ 11:46:
[...]

Is mij nog niet opgevallen.
@Deikke waar zie je die foutmeldingen? Zal het dan ook eens nakijken.
Dat is de foutmelding die ik krijg in DAO tijdens het optimum berekenen. Vreemd genoeg is het bij mij sinds gisteren niet meer voorgekomen, hopelijk blijft dit constant.

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
KC27 schreef op donderdag 30 oktober 2025 @ 23:19:
[...]

DAO kent maar twee modi voor de omvormer: Aan of Uit. In jouw geval zou ik daarvoor een een input_select aanmaken en deze samen met feedin vertalen naar een van de modussen van he goodwe-omvormer.
Ik weet niet of we het daar al eens eerder over gehad hebben, maar volgens mij hebben we vanaf 1-1-2027 iets daartussenin nodig. Bij voorkeur een balanceer stand of eventueel een max vermogen (mits de omvormer dat aankan natuurlijk). Dit om de situatie waarin de kale terugleverprijzen negatief zijn en je dus je zonopwek wilt balanceren op je huisverbruik, inclusief laden batterij en EV. Dit omdat de afname prijzen (inclusief belasting en btw) dan nog wel positief zijn. Dus je wilt je eigen gebruik afdekken en alles wat overblijft niet terugleveren, maar afschakelen. Misschien goed om in 2026 nog eens in te verdiepen in aanloop naar afschaffing saldering?

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 15:59
Deikke schreef op vrijdag 31 oktober 2025 @ 11:58:
[...]

Dat is de foutmelding die ik krijg in DAO tijdens het optimum berekenen. Vreemd genoeg is het bij mij sinds gisteren niet meer voorgekomen, hopelijk blijft dit constant.
Is dat dan tijdens het aansturen van de home assistant entiteiten? Dus aan het einde van de log? Kun je een stukje delen hier zodat we weten waar we naar moeten zoeken?

  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 06:54
Torch1969 schreef op vrijdag 31 oktober 2025 @ 12:00:
[...]

Is dat dan tijdens het aansturen van de home assistant entiteiten? Dus aan het einde van de log? Kun je een stukje delen hier zodat we weten waar we naar moeten zoeken?
Zie https://gathering.tweakers.net/forum/view_message/83810142 voor de log
Het gebeurt vaak bij het ophalen van batterij SOC.

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 06-12 19:42

Bravo

Second Best

KC27 schreef op donderdag 30 oktober 2025 @ 23:30:
[...]

Heb je ook de grafiek van de berekening om13:45 uur?
Afbeeldingslocatie: https://tweakers.net/i/vM3p4M_X-APjJdIyYYdqs788BJo=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/8jAkzq3HIedhrK6sainO2d2h.png?f=user_large

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


  • Lasoul
  • Registratie: November 2001
  • Laatst online: 16:15
Ik heb mijn gedeelte van mijn PV_AC verplaatst naar PV_DC.
Waarom zie ik bij de Day Ahead PV_DC niet terug?

Afbeeldingslocatie: https://tweakers.net/i/fcYEmYf_ZfQtTuMi8uZmu0REIBM=/x800/filters:strip_exif()/f/image/fPTAokwwlG747Yp9ReR1o5Zy.png?f=fotoalbum_large
Pagina: 1 ... 19 ... 23 Laatste