Acties:
  • +1 Henk 'm!

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 21:19

Bravo

Second Best

KC27 schreef op maandag 13 oktober 2025 @ 09:41:
[...]

Zou je mij de logging van de berekening om 7:30 (als het wel lukt) en 7:45 (als het mislukt) willen sturen?
Dan ga ik er nogmaals naar kijken.
Zie DM

Ioniq 6 LR Lounge 20"
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


Acties:
  • 0 Henk 'm!

  • Rafistoll
  • Registratie: Juni 2024
  • Laatst online: 15-10 21:00
Beste tweakers,
Bezig dit bijzonder interessant forum te doorploegen. Ik heb alvast een vraag:
Is Meteoserver ook geschikt voor een locatie in het centrum van België?
Alvast bedankt

PV: 7.7 + 6.4 kWp | Omvormer: Deye SUN-10K-SG04LG3-EU | DIY Batterij: 48kWh JK BMS


Acties:
  • +1 Henk 'm!
Rafistoll schreef op maandag 13 oktober 2025 @ 15:59:
Beste tweakers,
Bezig dit bijzonder interessant forum te doorploegen. Ik heb alvast een vraag:
Is Meteoserver ook geschikt voor een locatie in het centrum van België?
Alvast bedankt
De meteoserver-api werkt voor heel Europa:
https://meteoserver.nl/weersverwachting-API.php
Als je in Home assistant je coördinaten invult gebruikt DAO die om de weersverwachting voor jouw regio op te vragen.

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


Acties:
  • +1 Henk 'm!
Asclepius8 schreef op maandag 13 oktober 2025 @ 09:23:
[...]

Reeds gedaan, zie geen update mogelijkheid (current version 2025.6.2).
Na 2025.6.2 is er een ander build-systeem geïntroduceerd.
Ik denk dat jouw HA-supervisor het spoor bijster is.
Ik raad je aan de volgende stappen te nemen:
  • Kopieer je instellingen, database-bestand enz door met Samba naar de map addon_configs op je HA machine te gaan en dan naar xxxx_day_ahead_opt. Kopieer de map dao_data, bewaar ze ergens
  • Ga in HA naar Instellingen/Addons, klik op DAO-versie 2025.6.2, Klik op Verwijderen, verwijder alles
  • Ga in HA naar Instellingen/Addons, ga naar de Add-on Winkel (blauwe knop rechtsonder), Kies via het puntjesmenu rechtsboven voor "Repositories"
  • Verwijder uit de lijst alle DAO-repositories
  • Voeg een nieuwe repository toe: "https://github.com/corneel27/day-ahead", opslaan
  • Kies via het puntjes voor "Naar updates zoeken"
  • Wacht even (evt verversen met F5) dan komen de laatste versie van de produktie- en de testversie in beeld
  • Klik op de productieversie en "installeer"
  • Kopieer na installatie jouw "oude" dao_data-map over de nieuwe dao_data-map in addon_configs.
Succes!

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


Acties:
  • +2 Henk 'm!
Testversie 2025.10.5.rc3 is gepubliceerd met de volgende changelog:
  • Fixed error when boiler is heated by heatpump
  • Fixed typo (extra space) in warning "Geen oplossing"
  • Fix error planning ev when planning window is too small

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


Acties:
  • 0 Henk 'm!

  • robbinonline
  • Registratie: September 2007
  • Laatst online: 14:44
Wat een mooie add-on is dit! Wel een leer curve om dit instellen maar dat is alleen maar leuk.
Ik ben zojuist begonnen met de basis en wil nu eigenlijk mijn batterij gaan toevoegen.

Wat ik alleen niet helemaal begrijp en niet uit de documentatie kan halen: de input numbers, max soc percentages etc zijn dat helpers die ik los moet aanmaken in HA of kan ik bepaalde bestaande entities van mijn batterij gebruiken die ik uitlees via een ESP.

Bijvoorbeeld de "entity min soc end opt" waarde, die zit er al in als waarde via de esp:
number.marstek1_marstek_discharging_cutoff_capacity

of moet ik hier dan alsnog een helper voor aanmaken die weer met elkaar communiceren via een automation?

Ga niet uit van het haalbare, maar van het denkbare


Acties:
  • 0 Henk 'm!

  • f.welvering
  • Registratie: Oktober 2009
  • Laatst online: 21:47
Uit mijn eerdere vraag of iemand ook een PompAO in zijn config heeft heb ik geen reactie gekregen, dus ga ik er zelf mee aan de slag.

Ik heb de instructie eens doorgenomen maar hiermee kom ik nog niet helemaal op het juiste pad https://gathering.tweaker...message/82146060#82146060

Hoe kom ik bijvoorbeeld aan de degree days factor? ik heb een poging gedaan dit te vinden in het topic, maar helaas. Heeft iemand een tip hoe ik dit aanpak?

WP: DeWarmte PompAO 6.4Kw Hybrid, CV Intergas, Thermostaat Netatmo, 70m2 vvw, PV: 34x 325wp solaredge omvormer en optimizers,Wan ip adres weten? https://mijnips.eu


Acties:
  • +1 Henk 'm!

  • arro3038
  • Registratie: November 2023
  • Laatst online: 22:21
f.welvering schreef op dinsdag 14 oktober 2025 @ 08:56:
Uit mijn eerdere vraag of iemand ook een PompAO in zijn config heeft heb ik geen reactie gekregen, dus ga ik er zelf mee aan de slag.

Ik heb de instructie eens doorgenomen maar hiermee kom ik nog niet helemaal op het juiste pad https://gathering.tweaker...message/82146060#82146060

Hoe kom ik bijvoorbeeld aan de degree days factor? ik heb een poging gedaan dit te vinden in het topic, maar helaas. Heeft iemand een tip hoe ik dit aanpak?
Zie hier:

KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"

Acties:
  • +1 Henk 'm!

  • Rafistoll
  • Registratie: Juni 2024
  • Laatst online: 15-10 21:00
@kc27 bedankt voor je snelle reactie op mijn Meteoserver vraag. En vooral bedankt voor deze prachtige tool.
Hier komt al een volgende vraagje uit België. Salderen gaat er nu bij ons zeer snel uit: de laatste terugdraaiende tellers worden nu ook door digitale tellers vervangen (wij waren eind augustus aan de beurt) en salderen wordt dus vervangen door een afrekening op resp. aankoopprijs en terugleverprijs.
Het lijkt mij dus dat de optie "tax refund" voor ons obsoleet wordt, en dat zowel "true" als "false" tot fouten kunnen leiden? Klopt dat? En is er dan een "Belgische" workaround mogelijk/voorzien?

PV: 7.7 + 6.4 kWp | Omvormer: Deye SUN-10K-SG04LG3-EU | DIY Batterij: 48kWh JK BMS


Acties:
  • 0 Henk 'm!

  • Floris039
  • Registratie: Mei 2019
  • Laatst online: 17-10 13:41
Misschien een semi off topic vraag. Voor het instellen van Nordpool om te gebruiken met deze add-on. Ik krijg namelijk na instellen van Nordpool niet de juiste tarieven. Dit uur bijv 0,13 cent. En ik heb BTW aangezet. Moet ik dan nog een formule in het template zetten voor NL?

Acties:
  • +1 Henk 'm!

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 00:28
robbinonline schreef op dinsdag 14 oktober 2025 @ 08:31:
Wat een mooie add-on is dit! Wel een leer curve om dit instellen maar dat is alleen maar leuk.
Ik ben zojuist begonnen met de basis en wil nu eigenlijk mijn batterij gaan toevoegen.

Wat ik alleen niet helemaal begrijp en niet uit de documentatie kan halen: de input numbers, max soc percentages etc zijn dat helpers die ik los moet aanmaken in HA of kan ik bepaalde bestaande entities van mijn batterij gebruiken die ik uitlees via een ESP.

Bijvoorbeeld de "entity min soc end opt" waarde, die zit er al in als waarde via de esp:
number.marstek1_marstek_discharging_cutoff_capacity

of moet ik hier dan alsnog een helper voor aanmaken die weer met elkaar communiceren via een automation?
Het kan beide, maar het is wellicht slim om de boel te ontkoppelen met helpers en dan de waarden via een automatisering te actualiseren. Dan kun je de koppeling eenvoudig deactiveren door de automatisering uit te zetten.

Acties:
  • 0 Henk 'm!

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 00:28
Floris039 schreef op dinsdag 14 oktober 2025 @ 12:17:
Misschien een semi off topic vraag. Voor het instellen van Nordpool om te gebruiken met deze add-on. Ik krijg namelijk na instellen van Nordpool niet de juiste tarieven. Dit uur bijv 0,13 cent. En ik heb BTW aangezet. Moet ik dan nog een formule in het template zetten voor NL?
Je moet de energy taxes, cost supplier en vat instellen in de config. Voor zonneplan b.v.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    "energy taxes consumption": {
      "2025-01-01": 0.10154
    },
    "energy taxes production": {
      "2025-01-01": 0.10154
    },
    "cost supplier consumption": {
      "2024-08-01": 0.02
    },
    "cost supplier production": {
      "2024-08-01": 0.02
    },
    "vat": {
      "2023-01-01": 21

Acties:
  • +1 Henk 'm!

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 00:28
Rafistoll schreef op dinsdag 14 oktober 2025 @ 10:13:
@kc27 bedankt voor je snelle reactie op mijn Meteoserver vraag. En vooral bedankt voor deze prachtige tool.
Hier komt al een volgende vraagje uit België. Salderen gaat er nu bij ons zeer snel uit: de laatste terugdraaiende tellers worden nu ook door digitale tellers vervangen (wij waren eind augustus aan de beurt) en salderen wordt dus vervangen door een afrekening op resp. aankoopprijs en terugleverprijs.
Het lijkt mij dus dat de optie "tax refund" voor ons obsoleet wordt, en dat zowel "true" als "false" tot fouten kunnen leiden? Klopt dat? En is er dan een "Belgische" workaround mogelijk/voorzien?
“Energy taxes production” op 0 instellen?

Acties:
  • 0 Henk 'm!

  • Floris039
  • Registratie: Mei 2019
  • Laatst online: 17-10 13:41
Torch1969 schreef op dinsdag 14 oktober 2025 @ 12:53:
[...]

Je moet de energy taxes, cost supplier en vat instellen in de config. Voor zonneplan b.v.

[...]
En dat kan niet in de Nordpool integratie al meteen tijdens het configureren ervan? Zodat ik naast deze addon ook nog andere dingen eenvoudig kan doen met de data van Nordpool? Of is dat niet makkelijk voor het gebruik binnen de addon omdat je in sommige gevallen de belasting etc niet betaald?

Acties:
  • +1 Henk 'm!

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 21:19

Bravo

Second Best

Floris039 schreef op dinsdag 14 oktober 2025 @ 15:02:
[...]

En dat kan niet in de Nordpool integratie al meteen tijdens het configureren ervan? Zodat ik naast deze addon ook nog andere dingen eenvoudig kan doen met de data van Nordpool? Of is dat niet makkelijk voor het gebruik binnen de addon omdat je in sommige gevallen de belasting etc niet betaald?
DAO haalt zelf zijn prijzen op bij nordpool, en maakt geen gebruik van de nordpool integratie in HA waar je ook opslagen etc voor kunt configureren.

Ioniq 6 LR Lounge 20"
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


Acties:
  • 0 Henk 'm!
Floris039 schreef op dinsdag 14 oktober 2025 @ 15:02:
[...]

En dat kan niet in de Nordpool integratie al meteen tijdens het configureren ervan? Zodat ik naast deze addon ook nog andere dingen eenvoudig kan doen met de data van Nordpool? Of is dat niet makkelijk voor het gebruik binnen de addon omdat je in sommige gevallen de belasting etc niet betaald?
Wat @Bravo ook zegt:
DAO haalt zelf de kale prijzen op bij Noordpool of een andere data-provider die je kiest bij je instellingen. Daar geef je ook op met diverse settings hoe de inkoopprijs (consumption price) moet worden berekend en hoe voor jou de terugleverprijs (production price) moet worden berekend.
DAO beschikt over een api (zie DOCS.md) waarmee je die drie prijs reeksen kunt opvragen en bijvoorbeeld in HA kunt gebruiken.
Bijvoorbeeld: http://192.168.178.36:5000/api/report/da/vandaag_en_morgen

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


Acties:
  • 0 Henk 'm!

  • BBuilds
  • Registratie: November 2013
  • Laatst online: 17-10 16:33
Edit: M'n eigen fout. Foutje in de configuratie!

Sinds gisteren krijg ik de volgende foutmelding bij het uitvoeren van de optimaliseringsberekening op versie 2025.10.5.rc3
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
2025-10-15 14:07:30 info: Day Ahead Optimalisering versie: 2025.10.5.rc3
2025-10-15 14:07:30 info: Day Ahead Optimalisering gestart op: 15-10-2025 14:07:30
2025-10-15 14:07:30 info: Day Ahead Optimalisatie gestart: 15-10-2025 14:07:30 taak: calc_optimum_met_debug
2025-10-15 14:07:30 info: Debug = True
2025-10-15 14:07:30 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2025-10-15 14:07:30 info: Baseload uit instellingen
2025-10-15 14:07:30 info: Start waarden: 
      uur                tijd   p_l   p_t  base  pv_ac  pv_dc
0   14:00 2025-10-15 14:00:00 0.264 0.116 0.500      0  0.928
1   15:00 2025-10-15 15:00:00 0.273 0.125 0.500      0  1.099
2   16:00 2025-10-15 16:00:00 0.288 0.139 0.500      0  0.666
3   17:00 2025-10-15 17:00:00 0.289 0.140 0.500      0  0.465
4   18:00 2025-10-15 18:00:00 0.325 0.174 1.500      0  0.093
5   19:00 2025-10-15 19:00:00 0.352 0.199 1.000      0  0.000
6   20:00 2025-10-15 20:00:00 0.306 0.156 0.500      0  0.000
7   21:00 2025-10-15 21:00:00 0.274 0.126 0.500      0  0.000
8   22:00 2025-10-15 22:00:00 0.265 0.117 0.500      0  0.000
9   23:00 2025-10-15 23:00:00 0.257 0.110 0.350      0  0.000
10  00:00 2025-10-16 00:00:00 0.252 0.105 0.350      0  0.000
11  01:00 2025-10-16 01:00:00 0.248 0.101 0.350      0  0.000
12  02:00 2025-10-16 02:00:00 0.252 0.104 0.350      0  0.000
13  03:00 2025-10-16 03:00:00 0.248 0.101 0.350      0  0.000
14  04:00 2025-10-16 04:00:00 0.249 0.102 0.350      0  0.000
15  05:00 2025-10-16 05:00:00 0.249 0.102 0.350      0  0.000
16  06:00 2025-10-16 06:00:00 0.258 0.111 0.350      0  0.000
17  07:00 2025-10-16 07:00:00 0.279 0.130 0.600      0  0.000
18  08:00 2025-10-16 08:00:00 0.303 0.153 0.500      0  0.093
19  09:00 2025-10-16 09:00:00 0.286 0.136 0.500      0  0.847
20  10:00 2025-10-16 10:00:00 0.259 0.111 0.500      0  1.927
21  11:00 2025-10-16 11:00:00 0.255 0.108 0.500      0  0.910
22  12:00 2025-10-16 12:00:00 0.250 0.103 0.500      0  2.070
23  13:00 2025-10-16 13:00:00 0.245 0.098 0.500      0  5.535
24  14:00 2025-10-16 14:00:00 0.247 0.101 0.500      0  2.827
25  15:00 2025-10-16 15:00:00 0.246 0.099 0.500      0  2.410
26  16:00 2025-10-16 16:00:00 0.253 0.106 0.500      0  2.934
27  17:00 2025-10-16 17:00:00 0.266 0.118 0.500      0  1.660
28  18:00 2025-10-16 18:00:00 0.291 0.142 1.500      0  0.140
29  19:00 2025-10-16 19:00:00 0.313 0.162 1.000      0  0.000
30  20:00 2025-10-16 20:00:00 0.290 0.141 0.500      0  0.000
31  21:00 2025-10-16 21:00:00 0.268 0.120 0.500      0  0.000
32  22:00 2025-10-16 22:00:00 0.265 0.117 0.500      0  0.000
33  23:00 2025-10-16 23:00:00 0.261 0.113 0.350      0  0.000
2025-10-15 14:07:31 info: Reduced hours applied for Thuisbatterij
2025-10-15 14:07:31 info: Startwaarde SoC Thuisbatterij: 35.0%

2025-10-15 14:07:31 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 622, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 761, in calc_optimum
    min_soc_end_opt = float(self.get_state(entity_min_soc_end).state)
                            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/states.py", line 15, in get_state
    return State(**self._get(f"states/{entity_id}"))  # type: ignore
                   ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 54, in _get
    return self._process_response(
           ~~~~~~~~~~~~~~~~~~~~~~^
        requests.get(
        ^^^^^^^^^^^^^
    ...<5 lines>...
        )
        ^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 90, in _process_response
    self._raise_error(response.status_code, response.url)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 95, in _raise_error
    raise error(f"{status_code} status code returned from {url}",)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hassapi.exceptions.NotFound: 404 status code returned from http://192.168.xxx.2:8123/api/states/50
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3959, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 3933, in main
    da_calc.run_task_function("calc_optimum_met_debug")
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_base.py", line 622, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 761, in calc_optimum
    min_soc_end_opt = float(self.get_state(entity_min_soc_end).state)
                            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/states.py", line 15, in get_state
    return State(**self._get(f"states/{entity_id}"))  # type: ignore
                   ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 54, in _get
    return self._process_response(
           ~~~~~~~~~~~~~~~~~~~~~~^
        requests.get(
        ^^^^^^^^^^^^^
    ...<5 lines>...
        )
        ^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 90, in _process_response
    self._raise_error(response.status_code, response.url)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/hassapi/client/base.py", line 95, in _raise_error
    raise error(f"{status_code} status code returned from {url}",)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hassapi.exceptions.NotFound: 404 status code returned from http://192.168.xxx.2:8123/api/states/50
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7fff21f36d40>
Net even proberen teruggaan naar v2025.10.4 maar daar krijg ik dezelfde melding.
HA (versie 2025.9.4) eens proberen herstarten maar dit lost ook niks op. Communicatie met HA lijkt wel te werken want SoC van de batterij kan wel goed worden opgehaald.
De entiteiten/helpers voor aansturing naar HA worden niet meer aangestuurd.


Hier mijn configuratie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
{
  "homeassistant": {
    "host": "!secret homeassistant_host_ip",
    "ip port": 8123,
    "token": "!secret homeassistant_long_lived_access_token"
   },
  "database ha": {
    "engine": "sqlite",
    "database": "home-assistant_v2.db",
    "db_path": "/homeassistant"
  },
  "database da": {
    "engine": "sqlite",
    "db_path": "../data"
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "nordpool",
    "energy taxes consumption": {
      "2025-01-01": 0.1329
    },
    "energy taxes production": {
      "2025-01-01": 0
    },
    "cost supplier consumption": {
      "2024-08-01": 0.020496
    },
    "cost supplier production": {
      "2024-08-01": 0.020496
    },
    "vat consumption": {
      "2023-01-01": 6
    },
    "vat production": {
      "2023-01-01": 0
    },
   "last invoice": "2022-09-01",
    "tax refund": "False"
  },
  "interval": "1hour",
  "logging level" : "info",
  "use_calc_baseload": "False",
  "baseload calc periode": 56,
  "baseload": [
    0.35,
    0.35,
    0.35,
    0.35,
    0.35,
    0.35,
    0.35,
    0.60,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    1.50,
    1.00,
    0.50,
    0.50,
    0.50,
    0.35
  ],
  "graphical backend": "Agg",
  "graphics": {
    "style": "Solarize_Light2",
    "show" : "true",
    "battery balance": "True",
    "prices consumption": "True",
    "prices production": "True",
    "prices spot": "True",
    "average consumption": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 3
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "battery": [ 
    {
      "name": "Thuisbatterij",
      "entity actual level": "sensor.deye_battery",
      "capacity": 30,
      "lower limit": 30,
      "entity min soc end opt": "50",
      "upper limit": 100,
      "charge stages": [
        {"power": 0, "efficiency": 1},
        {"power": 300, "efficiency": 0.785},
        {"power": 1500, "efficiency": 0.872},
        {"power": 3000, "efficiency": 0.897},
        {"power": 4500, "efficiency": 0.899}
      ],
      "discharge stages": [
        {"power": 0, "efficiency": 1},
        {"power": 300, "efficiency": 0.75},
        {"power": 600, "efficiency": 0.891},
        {"power": 1500, "efficiency": 0.935},
        {"power": 3000, "efficiency": 0.952},
        {"power": 4500, "efficiency": 0.952},
        {"power": 7500, "efficiency": 0.934}
      ],
      "reduced hours":
       {  
         "18": 2500,
         "19": 2500
       },
      "minimum power": 1,
      "dc_to_bat efficiency": 0.95,
      "dc_to_bat max power": 5000,
      "bat_to_dc efficiency": 0.95,
      "bat_to_dc max power": 5000,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.dao_set_power_feedin",
      "entity set operating mode": "input_select.dao_set_operating_mode",
      "entity stop inverter": "input_datetime.dao_stop_inverter",
      "entity balance switch": "input_boolean.dao_balance_switch",
      "entity from battery": "input_number.dao_from_battery",
      "entity from pv": "input_number.dao_from_pv",
      "entity from ac": "input_number.dao_from_grid",
      "entity calculated soc": "input_number.dao_calculated_soc",
      "solar": [
        {"name": "PV Voorkant Oost",
          "tilt": 45,
          "orientation": -90,
          "capacity": 3.54,
          "yield": 0.023275,
          "entity pv switch": ""
        },
        {"name": "PV Achterkant West",
          "tilt": 45,
          "orientation": 90,
          "capacity": 9.9,
          "yield": 0.023275,
          "entity pv switch": ""
        }
      ]
    }
  ],
  "solar": [ ],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [ "sensor.energy_import_total" ],
    "entities grid production": [ "sensor.energy_export_total"  ],
    "entities solar production ac": [ ],
    "entities solar production dc": [ "sensor.solar_energy_template" ],
    "entities ev consumption" : ["sensor.ev_charger_energy_consumption"],
    "entities wp consumption" : ["sensor.heatpump_south_street_energy_template"],
    "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"],
    "entities battery consumption": ["sensor.home_battery_discharged_energy"],
    "entities battery production": ["sensor.home_battery_charged_energy"],
    "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"]
  },
  "scheduler": {
    "active": "true",
    "0435": "get_meteo_data",
    "1035": "get_meteo_data",
    "1635": "get_meteo_data",
    "2235": "get_meteo_data",
    "1255": "get_day_ahead_prices",
    "1355": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "xx15": "calc_optimum",
    "xx30": "calc_optimum",
    "xx45": "calc_optimum",
    "2359": "clean_data"
  }
}

[ Voor 100% gewijzigd door BBuilds op 15-10-2025 14:45 ]


Acties:
  • 0 Henk 'm!

  • BBuilds
  • Registratie: November 2013
  • Laatst online: 17-10 16:33
Toch nog even een andere vraag, ik krijg de use_calc_baseload functie niet werkend.
Wanneer ik de berekening van de baseload laat uitvoeren lijkt alles goed te gaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2025-10-15 17:00:05 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-15 17:00:05 info: Day Ahead Optimalisering gestart op: 15-10-2025 17:00:05
2025-10-15 17:00:05 info: Day Ahead Optimalisatie gestart: 15-10-2025 17:00:05 taak: calc_baseloads
2025-10-15 17:00:05 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2025-10-15 17:00:19 info: baseload voor weekdag 0 :
2025-10-15 17:00:19 info: -0.344 -0.294 -0.346 -0.33 -0.306 -0.306 -0.328 -0.169 0.049 -0.004 -0.344 -0.97 -0.988 -1.668 -3.226 -2.814 -2.497 -1.942 -0.542 -1.032 -0.814 -0.995 -0.621 -0.357 
2025-10-15 17:00:29 info: baseload voor weekdag 1 :
2025-10-15 17:00:29 info: -0.368 -0.34 -0.311 -0.336 -0.348 -0.342 -0.323 -0.076 0.023 -0.165 -0.121 -0.392 -1.118 -1.672 -1.999 -1.707 -0.929 -1.452 -0.607 -0.791 -0.76 -0.694 -0.387 -0.43 
2025-10-15 17:00:40 info: baseload voor weekdag 2 :
2025-10-15 17:00:40 info: -0.318 -0.335 -0.347 -0.291 -0.316 -0.303 -0.317 -0.234 0.128 0.226 0.1 0.092 0.179 -0.793 -1.742 -1.562 -1.394 -0.715 -0.723 -0.54 -0.511 -0.466 -0.385 -0.42 
2025-10-15 17:00:50 info: baseload voor weekdag 3 :
2025-10-15 17:00:50 info: -0.344 -0.347 -0.37 -0.313 -0.32 -0.316 -0.282 -0.128 0.006 0.139 -0.189 -0.971 -1.622 -2.093 -1.306 -1.383 -2.677 -1.58 -1.045 -0.577 -0.532 -0.656 -0.516 -0.328 
2025-10-15 17:01:00 info: baseload voor weekdag 4 :
2025-10-15 17:01:00 info: -0.29 -0.284 -0.304 -0.288 -0.312 -0.344 -0.417 -0.19 -0.124 -0.235 -0.375 -0.939 -0.758 -1.471 -1.515 -1.441 -2.117 -1.551 -1.035 -0.657 -0.647 -0.673 -0.606 -1.03 
2025-10-15 17:01:11 info: baseload voor weekdag 5 :
2025-10-15 17:01:11 info: -1.266 -0.9 -0.783 -0.885 -0.499 -0.311 -0.332 -0.553 -0.228 -0.435 -0.217 0.112 -0.629 -0.698 -1.557 -1.258 -1.25 -1.215 -0.688 -0.504 -0.354 -0.435 -0.415 -0.953 
2025-10-15 17:01:21 info: baseload voor weekdag 6 :
2025-10-15 17:01:21 info: -0.961 -0.997 -0.463 -0.308 -0.272 -0.259 -0.284 -0.109 -0.204 -0.206 -0.168 -0.281 -0.507 -1.262 -1.857 -1.772 -2.0 -1.776 -0.88 -0.498 -0.623 -1.12 -0.851 -0.55 
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffedb806e30>
Wanneer ik echter de Optimaliseringsberekening met debug laat draaien krijg ik de melding: waarschuwing: Geen oplossing voor: minimize cost
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
2025-10-15 17:15:25 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-15 17:15:25 info: Day Ahead Optimalisering gestart op: 15-10-2025 17:15:25
2025-10-15 17:15:25 info: Day Ahead Optimalisatie gestart: 15-10-2025 17:15:25 taak: calc_optimum_met_debug
2025-10-15 17:15:25 info: Debug = True
2025-10-15 17:15:25 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2025-10-15 17:15:25 info: Zelf berekende baseload
2025-10-15 17:15:25 info: Start waarden: 
      uur                tijd   p_l   p_t   base  pv_ac  pv_dc
0   17:00 2025-10-15 17:00:00 0.289 0.131 -0.715      0  0.346
1   18:00 2025-10-15 18:00:00 0.327 0.165 -0.723      0  0.093
2   19:00 2025-10-15 19:00:00 0.355 0.190 -0.540      0  0.000
3   20:00 2025-10-15 20:00:00 0.307 0.147 -0.511      0  0.000
4   21:00 2025-10-15 21:00:00 0.273 0.117 -0.466      0  0.000
5   22:00 2025-10-15 22:00:00 0.264 0.108 -0.385      0  0.000
6   23:00 2025-10-15 23:00:00 0.255 0.101 -0.420      0  0.000
7   00:00 2025-10-16 00:00:00 0.250 0.096 -0.344      0  0.000
8   01:00 2025-10-16 01:00:00 0.246 0.092 -0.347      0  0.000
9   02:00 2025-10-16 02:00:00 0.250 0.095 -0.370      0  0.000
10  03:00 2025-10-16 03:00:00 0.246 0.092 -0.313      0  0.000
11  04:00 2025-10-16 04:00:00 0.247 0.093 -0.320      0  0.000
12  05:00 2025-10-16 05:00:00 0.247 0.093 -0.316      0  0.000
13  06:00 2025-10-16 06:00:00 0.257 0.102 -0.282      0  0.000
14  07:00 2025-10-16 07:00:00 0.278 0.121 -0.128      0  0.000
15  08:00 2025-10-16 08:00:00 0.304 0.144  0.006      0  0.093
16  09:00 2025-10-16 09:00:00 0.285 0.127  0.139      0  0.847
17  10:00 2025-10-16 10:00:00 0.257 0.102 -0.189      0  1.927
18  11:00 2025-10-16 11:00:00 0.253 0.099 -0.971      0  0.910
19  12:00 2025-10-16 12:00:00 0.248 0.094 -1.622      0  2.070
20  13:00 2025-10-16 13:00:00 0.243 0.089 -2.093      0  5.535
21  14:00 2025-10-16 14:00:00 0.245 0.092 -1.306      0  2.827
22  15:00 2025-10-16 15:00:00 0.244 0.090 -1.383      0  2.410
23  16:00 2025-10-16 16:00:00 0.252 0.097 -2.677      0  2.934
24  17:00 2025-10-16 17:00:00 0.265 0.109 -1.580      0  1.660
25  18:00 2025-10-16 18:00:00 0.291 0.133 -1.045      0  0.140
26  19:00 2025-10-16 19:00:00 0.314 0.153 -0.577      0  0.000
27  20:00 2025-10-16 20:00:00 0.290 0.132 -0.532      0  0.000
28  21:00 2025-10-16 21:00:00 0.267 0.111 -0.656      0  0.000
29  22:00 2025-10-16 22:00:00 0.263 0.108 -0.516      0  0.000
30  23:00 2025-10-16 23:00:00 0.259 0.104 -0.328      0  0.000
2025-10-15 17:15:25 info: Reduced hours applied for Thuisbatterij
2025-10-15 17:15:25 info: Startwaarde SoC Thuisbatterij: 33.0%

2025-10-15 17:15:25 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2025-10-15 17:15:25 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland

2025-10-15 17:15:25 waarschuwing: Geen oplossing  voor: minimize cost
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7fff7a213010>
Wanneer ik dezelfde Optimaliseringsberekening met debug laat draaien met een fixed baseload lijkt alles wel te werken: (zelfs zonder de berekening van de baseloads opnieuw te doen)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
2025-10-15 17:19:28 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-15 17:19:28 info: Day Ahead Optimalisering gestart op: 15-10-2025 17:19:28
2025-10-15 17:19:28 info: Day Ahead Optimalisatie gestart: 15-10-2025 17:19:28 taak: calc_optimum_met_debug
2025-10-15 17:19:28 info: Debug = True
2025-10-15 17:19:28 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2025-10-15 17:19:28 info: Baseload uit instellingen
2025-10-15 17:19:28 info: Start waarden: 
      uur                tijd   p_l   p_t  base  pv_ac  pv_dc
0   17:00 2025-10-15 17:00:00 0.289 0.131 0.500      0  0.314
1   18:00 2025-10-15 18:00:00 0.327 0.165 1.500      0  0.093
2   19:00 2025-10-15 19:00:00 0.355 0.190 1.000      0  0.000
3   20:00 2025-10-15 20:00:00 0.307 0.147 0.500      0  0.000
4   21:00 2025-10-15 21:00:00 0.273 0.117 0.500      0  0.000
5   22:00 2025-10-15 22:00:00 0.264 0.108 0.500      0  0.000
6   23:00 2025-10-15 23:00:00 0.255 0.101 0.350      0  0.000
7   00:00 2025-10-16 00:00:00 0.250 0.096 0.350      0  0.000
8   01:00 2025-10-16 01:00:00 0.246 0.092 0.350      0  0.000
9   02:00 2025-10-16 02:00:00 0.250 0.095 0.350      0  0.000
10  03:00 2025-10-16 03:00:00 0.246 0.092 0.350      0  0.000
11  04:00 2025-10-16 04:00:00 0.247 0.093 0.350      0  0.000
12  05:00 2025-10-16 05:00:00 0.247 0.093 0.350      0  0.000
13  06:00 2025-10-16 06:00:00 0.257 0.102 0.350      0  0.000
14  07:00 2025-10-16 07:00:00 0.278 0.121 0.600      0  0.000
15  08:00 2025-10-16 08:00:00 0.304 0.144 0.500      0  0.093
16  09:00 2025-10-16 09:00:00 0.285 0.127 0.500      0  0.847
17  10:00 2025-10-16 10:00:00 0.257 0.102 0.500      0  1.927
18  11:00 2025-10-16 11:00:00 0.253 0.099 0.500      0  0.910
19  12:00 2025-10-16 12:00:00 0.248 0.094 0.500      0  2.070
20  13:00 2025-10-16 13:00:00 0.243 0.089 0.500      0  5.535
21  14:00 2025-10-16 14:00:00 0.245 0.092 0.500      0  2.827
22  15:00 2025-10-16 15:00:00 0.244 0.090 0.500      0  2.410
23  16:00 2025-10-16 16:00:00 0.252 0.097 0.500      0  2.934
24  17:00 2025-10-16 17:00:00 0.265 0.109 0.500      0  1.660
25  18:00 2025-10-16 18:00:00 0.291 0.133 1.500      0  0.140
26  19:00 2025-10-16 19:00:00 0.314 0.153 1.000      0  0.000
27  20:00 2025-10-16 20:00:00 0.290 0.132 0.500      0  0.000
28  21:00 2025-10-16 21:00:00 0.267 0.111 0.500      0  0.000
29  22:00 2025-10-16 22:00:00 0.263 0.108 0.500      0  0.000
30  23:00 2025-10-16 23:00:00 0.259 0.104 0.350      0  0.000
2025-10-15 17:19:29 info: Reduced hours applied for Thuisbatterij
2025-10-15 17:19:29 info: Startwaarde SoC Thuisbatterij: 33.0%

2025-10-15 17:19:29 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2025-10-15 17:19:29 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland

2025-10-15 17:19:29 info: Strategie: minimale kosten
2025-10-15 17:19:29 info: Het programma heeft een optimale oplossing gevonden.
2025-10-15 17:19:29 info: In- en uitgaande energie per uur batterij Thuisbatterij
   uur   ac->    eff   ->dc pv->dc   dc->    eff  ->bat    o_eff    SoC
          kWh      %    kWh    kWh    kWh      %    kWh        %      %
 17:00   0.00     --   0.00   0.21   0.21  95.00   0.20       --  33.65
 18:00  -0.05  75.00  -0.06   0.09   0.03  95.00   0.03       --  33.75
 19:00  -1.00  93.50  -1.07   0.00  -1.07  95.00  -1.13    88.83  30.00
 20:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 21:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 22:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 23:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 00:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 01:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 02:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 03:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 04:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 05:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 06:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 07:00   0.00     --   0.00   0.00   0.00     --   0.00       --  30.00
 08:00  -0.07  75.00  -0.09   0.09   0.00     --   0.00       --  30.00
 09:00  -0.77  93.50  -0.83   0.83   0.00     --   0.00       --  30.00
 10:00  -1.68  95.20  -1.77   1.77   0.00     --   0.00       --  30.00
 11:00  -0.60  93.50  -0.64   0.86   0.22  95.00   0.21       --  30.70
 12:00  -0.60  93.50  -0.64   2.07   1.43  95.00   1.36       --  35.22
 13:00  -0.60  93.50  -0.64   5.34   4.70  95.00   4.46       --  50.10
 14:00  -0.60  93.50  -0.64   3.15   2.51  95.00   2.39       --  58.06
 15:00  -0.60  93.50  -0.64   2.86   2.22  95.00   2.11       --  65.08
 16:00  -1.96  95.20  -2.06   3.17   1.12  95.00   1.06       --  68.61
 17:00  -1.50  95.20  -1.58   1.56  -0.01  95.00  -0.01 10200.59  68.56
 18:00  -3.50  95.20  -3.68   0.14  -3.54  95.00  -3.72    94.01  56.15
 19:00  -3.00  95.20  -3.15   0.00  -3.15  95.00  -3.32    90.44  45.10
 20:00  -2.50  95.20  -2.63   0.00  -2.63  95.00  -2.76    90.44  35.88
 21:00  -0.60  93.50  -0.64   0.00  -0.64  95.00  -0.68    88.83  33.63
 22:00  -0.60  93.50  -0.64   0.00  -0.64  95.00  -0.68    88.83  31.38
 23:00  -0.35  89.10  -0.39   0.00  -0.39  95.00  -0.41    84.64  30.00
Totaal -20.58     -- -21.79  22.15   0.36     --  -0.90       --       
2025-10-15 17:19:29 info: Berekende prognoses zijn niet opgeslagen.
2025-10-15 17:19:29 info: Berekende prognoses: 
   uur  bat_in  bat_out   cons   prod   base   boil     wp     ev  pv_ac   cost  profit  b_tem
 17:00    0.00     0.00   0.34   0.00   0.50   0.00   0.00   0.00   0.00   0.10   -0.00  20.00
 18:00    0.00     0.05   1.45   0.00   1.50   0.00   0.00   0.00   0.00   0.48   -0.00  20.00
 19:00    0.00     1.00   0.00   0.00   1.00   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 20:00    0.00     0.00   0.50   0.00   0.50   0.00   0.00   0.00   0.00   0.15   -0.00  20.00
 21:00    0.00     0.00   0.50   0.00   0.50   0.00   0.00   0.00   0.00   0.14   -0.00  20.00
 22:00    0.00     0.00   0.50   0.00   0.50   0.00   0.00   0.00   0.00   0.13   -0.00  20.00
 23:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 00:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 01:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 02:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 03:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 04:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 05:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 06:00    0.00     0.00   0.35   0.00   0.35   0.00   0.00   0.00   0.00   0.09   -0.00  20.00
 07:00    0.00     0.00   0.60   0.00   0.60   0.00   0.00   0.00   0.00   0.17   -0.00  20.00
 08:00    0.00     0.07   0.43   0.00   0.50   0.00   0.00   0.00   0.00   0.13   -0.00  20.00
 09:00    0.00     0.77   0.00   0.27   0.50   0.00   0.00   0.00   0.00   0.00   -0.03  20.00
 10:00    0.00     1.68   0.00   1.18   0.50   0.00   0.00   0.00   0.00   0.00   -0.12  20.00
 11:00    0.00     0.60   0.00   0.10   0.50   0.00   0.00   0.00   0.00   0.00   -0.01  20.00
 12:00    0.00     0.60   0.00   0.10   0.50   0.00   0.00   0.00   0.00   0.00   -0.01  20.00
 13:00    0.00     0.60   0.00   0.10   0.50   0.00   0.00   0.00   0.00   0.00   -0.01  20.00
 14:00    0.00     0.60   0.00   0.10   0.50   0.00   0.00   0.00   0.00   0.00   -0.01  20.00
 15:00    0.00     0.60   0.00   0.10   0.50   0.00   0.00   0.00   0.00   0.00   -0.01  20.00
 16:00    0.00     1.96   0.00   1.46   0.50   0.00   0.00   0.00   0.00   0.00   -0.14  20.00
 17:00    0.00     1.50   0.00   1.00   0.50   0.00   0.00   0.00   0.00   0.00   -0.11  20.00
 18:00    0.00     3.50   0.00   2.00   1.50   0.00   0.00   0.00   0.00   0.00   -0.27  20.00
 19:00    0.00     3.00   0.00   2.00   1.00   0.00   0.00   0.00   0.00   0.00   -0.31  20.00
 20:00    0.00     2.50   0.00   2.00   0.50   0.00   0.00   0.00   0.00   0.00   -0.26  20.00
 21:00    0.00     0.60   0.00   0.10   0.50   0.00   0.00   0.00   0.00   0.00   -0.01  20.00
 22:00    0.00     0.60   0.00   0.10   0.50   0.00   0.00   0.00   0.00   0.00   -0.01  20.00
 23:00    0.00     0.35   0.00   0.00   0.35   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
Totaal    0.00    20.58   7.12  10.61  17.25   0.00   0.00   0.00   0.00   1.99   -1.31       

2025-10-15 17:19:29 info: Consumption               7.12 (kWh)
2025-10-15 17:19:29 info: Cost consumption          1.99 (€)
2025-10-15 17:19:29 info: Tariff consumption        0.280 (€/kWh)
2025-10-15 17:19:29 info: Production               10.61 (kWh)
2025-10-15 17:19:29 info: Profit production        -1.31 (€)
2025-10-15 17:19:29 info: Tariff production         0.123 (€/kWh)

2025-10-15 17:19:29 info: 
Calculation profit after optimize in €
Cost before optimize               2.06
Cost consumption      1.99
Profit production    -1.31
Cycle cost            0.25
Battery storage       0.09
Boiler storage        0.00
Total                 1.01
Cost after optimize               1.01
Profit:                           1.05
2025-10-15 17:19:29 info: Onderstaande settings worden NIET doorgezet naar HA (debug-run)
2025-10-15 17:19:29 info: Grid set point: 500.0 W
2025-10-15 17:19:29 info: Cycle cost Thuisbatterij: 0.25 euro
2025-10-15 17:19:29 info: Netto vermogen naar(+)/uit(-) batterij Thuisbatterij zou zijn: 0 W
2025-10-15 17:19:29 info: Balanceren zou zijn: False
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffef22a7010>
Config:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
{
  "homeassistant": {
    "host": "!secret homeassistant_host_ip",
    "ip port": 8123,
    "token": "!secret homeassistant_long_lived_access_token"
   },
  "database ha": {
    "engine": "sqlite",
    "database": "home-assistant_v2.db",
    "db_path": "/homeassistant"
  },
  "database da": {
    "engine": "sqlite",
    "db_path": "../data"
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "nordpool",
    "energy taxes consumption": {
      "2025-01-01": 0.12384
    },
    "energy taxes production": {
      "2025-10-01": 0
    },
    "cost supplier consumption": {
      "2025-10-01": 0.015
    },
    "cost supplier production": {
      "2025-10-01": 0.0115
    },
    "vat consumption": {
      "2025-10-01": 12
    },
    "vat production": {
      "2025-10-01": 0
    },
   "last invoice": "2022-09-01",
    "tax refund": "False"
  },
  "interval": "1hour",
  "logging level" : "info",
  "use_calc_baseload": "True",
  "baseload calc periode": 56,
  "baseload": [
    0.35,
    0.35,
    0.35,
    0.35,
    0.35,
    0.35,
    0.35,
    0.60,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    0.50,
    1.50,
    1.00,
    0.50,
    0.50,
    0.50,
    0.35
  ],
  "graphical backend": "Agg",
  "graphics": {
    "style": "Solarize_Light2",
    "show" : "true",
    "battery balance": "True",
    "prices consumption": "True",
    "prices production": "True",
    "prices spot": "True",
    "average consumption": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 2
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "battery": [ 
    {
      "name": "Thuisbatterij",
      "entity actual level": "sensor.deye_battery",
      "capacity": 30,
      "lower limit": 30,
      "min soc end opt": "50",
      "upper limit": 100,
      "charge stages": [
        {"power": 0, "efficiency": 1},
        {"power": 300, "efficiency": 0.785},
        {"power": 1500, "efficiency": 0.872},
        {"power": 3000, "efficiency": 0.897},
        {"power": 4500, "efficiency": 0.899}
      ],
      "discharge stages": [
        {"power": 0, "efficiency": 1},
        {"power": 300, "efficiency": 0.75},
        {"power": 600, "efficiency": 0.891},
        {"power": 1500, "efficiency": 0.935},
        {"power": 3000, "efficiency": 0.952},
        {"power": 4500, "efficiency": 0.952},
        {"power": 7500, "efficiency": 0.934}
      ],
      "reduced hours":
       {  
         "18": 2500,
         "19": 2500
       },
      "minimum power": 1,
      "dc_to_bat efficiency": 0.95,
      "dc_to_bat max power": 5000,
      "bat_to_dc efficiency": 0.95,
      "bat_to_dc max power": 5000,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.dao_set_power_feedin",
      "entity set operating mode": "input_select.dao_set_operating_mode",
      "entity stop inverter": "input_datetime.dao_stop_inverter",
      "entity balance switch": "input_boolean.dao_balance_switch",
      "entity from battery": "input_number.dao_from_battery",
      "entity from pv": "input_number.dao_from_pv",
      "entity from ac": "input_number.dao_from_grid",
      "entity calculated soc": "input_number.dao_calculated_soc",
      "solar": [
        {"name": "PV Voorkant Oost",
          "tilt": 45,
          "orientation": -90,
          "capacity": 3.54,
          "yield": 0.023275,
          "entity pv switch": ""
        },
        {"name": "PV Achterkant West",
          "tilt": 45,
          "orientation": 90,
          "capacity": 9.9,
          "yield": 0.023275,
          "entity pv switch": ""
        }
      ]
    }
  ],
  "solar": [ ],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [ "sensor.energy_import_total" ],
    "entities grid production": [ "sensor.energy_export_total"  ],
    "entities solar production ac": [ ],
    "entities solar production dc": [ "sensor.solar_energy_template" ],
    "entities ev consumption" : ["sensor.ev_charger_energy_consumption"],
    "entities wp consumption" : ["sensor.heatpump_south_street_energy_template"],
    "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"],
    "entities battery consumption": ["sensor.home_battery_discharged_energy"],
    "entities battery production": ["sensor.home_battery_charged_energy"],
    "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"]
  },
  "scheduler": {
    "active": "true",
    "0435": "get_meteo_data",
    "1035": "get_meteo_data",
    "1635": "get_meteo_data",
    "2235": "get_meteo_data",
    "1255": "get_day_ahead_prices",
    "1355": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "xx15": "calc_optimum",
    "xx30": "calc_optimum",
    "xx45": "calc_optimum",
    "2359": "clean_data"
  }
}
Doe ik wat mis en zie ik wat over het hoofd? Of is er wat anders mis?
Alvast bedankt!

Acties:
  • +2 Henk 'm!

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 21:19

Bravo

Second Best

BBuilds schreef op woensdag 15 oktober 2025 @ 17:22:
Toch nog even een andere vraag, ik krijg de use_calc_baseload functie niet werkend.
Wanneer ik de berekening van de baseload laat uitvoeren lijkt alles goed te gaan:

[...]


Wanneer ik echter de Optimaliseringsberekening met debug laat draaien krijg ik de melding: waarschuwing: Geen oplossing voor: minimize cost

[...]


Wanneer ik dezelfde Optimaliseringsberekening met debug laat draaien met een fixed baseload lijkt alles wel te werken: (zelfs zonder de berekening van de baseloads opnieuw te doen)

[...]


Config:

[...]


Doe ik wat mis en zie ik wat over het hoofd? Of is er wat anders mis?
Alvast bedankt!
Je calculated baseload zit vol met negatieve getallen, dat lijkt mij niet goed en niet representatief voor je situatie.
Heb je de entities goed ingesteld en gevuld over de laatste 56 dagen?
Hierdoor gaat de berekening waarschijnlijk ook de mist in als je gebruik maakt van de calculated baseload.
Met fixed baseload gebruikt hij de array die je eronder hebt aangemaakt, daar zitten geen negatieve waarden tussen.

Ioniq 6 LR Lounge 20"
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


Acties:
  • +1 Henk 'm!

  • BBuilds
  • Registratie: November 2013
  • Laatst online: 17-10 16:33
@Bravo Bedankt voor je hulp !
Ik had grid consumption en production, en battery consumption en production omgekeerd opgevat.
Dat was inderdaad de reden van de negatieve waardes.
Entiteiten omgedraaid en probleem is opgelost.

Entities grid import/export, en entities battery charged/discharged in de config file zou volgens mij duidelijker zijn.
Misschien een mogelijke verbetering.

Nogmaals dank voor de hulp.

Acties:
  • 0 Henk 'm!

  • xarow
  • Registratie: Februari 2011
  • Laatst online: 00:32
KC27 schreef op woensdag 9 april 2025 @ 08:40:
[...]


[...]

Dat blijkt dus nog een foutje te zijn.
Ik reken eigenlijk met de drie methoden zo veel mogelijk parallel.
Ik zal dat aanpassen zodat het programma daar niet de mist mee ingaat.
Mooie addon en interessant om toe te passen. Ik ben momenteel aan het kijken hoe ik de warmtepomp kan regelen en wil dit doen op basis van het verschuiven van de stooklijn. Bovenstaand gaf je aan dat er nog een fout in zat, waardoor de stages en graaddagen factor ook ingesteld moesten worden bij de verplaatsing van de stooklijn.

Het lijkt er op dat die fout er nog in zit, of is dit bewust benodigd?

Acties:
  • 0 Henk 'm!
Vanavond is testversie 2025.10.5.rc5 gepubliceerd.
Changelog:
  • Added "max gap" (flex setting), see DOCS.md
  • Added logging "Rekentijd" in sec
  • Fixed error when planning wp-hours with 15min interval (reported by TomKuipers1983)
  • Fixed error when calculating "stop invertor" with 15min-interval
Edit
Er was een zeer storende typo in versie 2025.10.5.rc4.
Dit is gerepareerd met rc5, sorry voor eventueel ongemak!
Opmerking:
Het programma geeft een onterechte waarschuwing als je geen "max gap" hebt gedefinieerd.
Je kunt deze waarschuwing onderdrukken door bijv "max gap": 0.005 op te nemen in je settings.
Dit wordt bij de volgende versie hersteld.

[ Voor 36% gewijzigd door KC27 op 16-10-2025 07:36 ]

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


Acties:
  • 0 Henk 'm!

  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 15:13
Laat maar, al opgelost

Ik krijg het helaas niet voor elkaar om de baseloads te berekenen. Ik krijg telkens onderstaande foutmelding, enig idee wat hier mis gaat?
-- snip --

[ Voor 152% gewijzigd door Deikke op 16-10-2025 13:50 ]


Acties:
  • 0 Henk 'm!

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 21:19

Bravo

Second Best

Deikke schreef op donderdag 16 oktober 2025 @ 10:50:
Ik krijg het helaas niet voor elkaar om de baseloads te berekenen. Ik krijg telkens onderstaande foutmelding, enig idee wat hier mis gaat?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
 Logging van bewerking "Bereken de baseloads":

2025-10-16 10:44:31 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-16 10:44:31 info: Day Ahead Optimalisering gestart op: 16-10-2025 10:44:31
2025-10-16 10:44:31 info: Day Ahead Optimalisatie gestart: 16-10-2025 10:44:31 taak: calc_baseloads
2025-10-16 10:44:34 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 594, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 539, in calc_baseloads
    report.calc_save_baseloads()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads
    baseload = self.calc_weekday_baseload(weekday)
  File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload
    grid_consumption = self.get_sensor_week_sum(
        self.grid_consumption_sensors,
    ...<2 lines>...
        "grid_consumption",
    )
  File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum
    df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name)
  File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data
    statistics = Table(
        "statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine
    )
  File "<string>", line 2, in __new__
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
    return fn(*args, **kwargs)  # type: ignore[no-any-return]
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__
    return cls._new(*args, **kw)
           ~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new
    with util.safe_reraise():
         ~~~~~~~~~~~~~~~~~^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new
    table.__init__(name, metadata, *args, _no_init=False, **kw)  # type: ignore[misc] # noqa: E501
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__
    self._autoload(
    ~~~~~~~~~~~~~~^
        metadata,
        ^^^^^^^^^
    ...<4 lines>...
        resolve_fks=resolve_fks,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload
    conn_insp.reflect_table(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        self,
        ^^^^^
    ...<4 lines>...
        _reflect_info=_reflect_info,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table
    raise exc.NoSuchTableError(table_name)
sqlalchemy.exc.NoSuchTableError: statistics
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3945, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 3939, in main
    da_calc.run_task_function("calc_baseloads")
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_base.py", line 594, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 539, in calc_baseloads
    report.calc_save_baseloads()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads
    baseload = self.calc_weekday_baseload(weekday)
  File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload
    grid_consumption = self.get_sensor_week_sum(
        self.grid_consumption_sensors,
    ...<2 lines>...
        "grid_consumption",
    )
  File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum
    df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name)
  File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data
    statistics = Table(
        "statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine
    )
  File "<string>", line 2, in __new__
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
    return fn(*args, **kwargs)  # type: ignore[no-any-return]
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__
    return cls._new(*args, **kw)
           ~~~~~~~~^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new
    with util.safe_reraise():
         ~~~~~~~~~~~~~~~~~^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new
    table.__init__(name, metadata, *args, _no_init=False, **kw)  # type: ignore[misc] # noqa: E501
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__
    self._autoload(
    ~~~~~~~~~~~~~~^
        metadata,
        ^^^^^^^^^
    ...<4 lines>...
        resolve_fks=resolve_fks,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload
    conn_insp.reflect_table(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        self,
        ^^^^^
    ...<4 lines>...
        _reflect_info=_reflect_info,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table
    raise exc.NoSuchTableError(table_name)
sqlalchemy.exc.NoSuchTableError: statistics


config:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
{
  "homeassistant": {
  },
  "database ha": {
    "engine": "postgresql",
    "server": "77b2833f-timescaledb",
    "port": 5432,
    "database": "dao",
    "username": "dao",
    "password": "!secret db_ha_password"
  },
  "database da": {
    "engine": "postgresql",
    "server": "77b2833f-timescaledb",
    "port": 5432,
    "database": "dao",
    "username": "dao",
    "password": "!secret db_da_password"
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "nordpool",
    "regular high": 0.5,
    "regular low": 0.4,
    "switch to low": 23,
    "energy taxes consumption": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.1088,
      "2025-01-01": 0.10154
    },
    "energy taxes production": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.1088,
      "2025-01-01": 0.10154
    },
    "cost supplier consumption": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "cost supplier production": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "vat consumption": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "vat production": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "last invoice": "2025-09-01",
    "tax refund": "True"
  },
  "interval": "15min",
  "logging level": "info",
  "use_calc_baseload": "False",
  "baseload calc periode": 56,
  "baseload": [
    0.14,
    0.38,
    0.26,
    0.42,
    0.15,
    0.12,
    0.13,
    0.15,
    0.23,
    0.26,
    0.31,
    0.32,
    0.31,
    0.23,
    0.26,
    0.21,
    0.21,
    0.54,
    0.26,
    0.26,
    0.22,
    0.19,
    0.18,
    0.16
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show": "true",
    "battery balance": "True",
    "prices consumption": "True",
    "prices production": "False",
    "prices spot": "True",
    "average consumption": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "battery": [
    {
      "name": "Batterij",
      "entity actual level": "sensor.solis_s5_eh1p_battery_soc",
      "capacity": 10,
      "upper limit": 98,
      "lower limit": 21,
      "optimal lower level": 21,
      "minimum power": 0,
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 50.0,
          "efficiency": 0.825
        },
        {
          "power": 100.0,
          "efficiency": 0.861
        },
        {
          "power": 150.0,
          "efficiency": 0.873
        },
        {
          "power": 300.0,
          "efficiency": 0.886
        },
        {
          "power": 600.0,
          "efficiency": 0.893
        },
        {
          "power": 1200.0,
          "efficiency": 0.896
        },
        {
          "power": 2000.0,
          "efficiency": 0.897
        },
        {
          "power": 3000.0,
          "efficiency": 0.898
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 50.0,
          "efficiency": 0.825
        },
        {
          "power": 100.0,
          "efficiency": 0.861
        },
        {
          "power": 150.0,
          "efficiency": 0.873
        },
        {
          "power": 300.0,
          "efficiency": 0.886
        },
        {
          "power": 600.0,
          "efficiency": 0.893
        },
        {
          "power": 1200.0,
          "efficiency": 0.896
        },
        {
          "power": 2000.0,
          "efficiency": 0.897
        },
        {
          "power": 3000.0,
          "efficiency": 0.898
        }
      ],
      "dc_to_bat efficiency": 0.95,
      "dc_to_bat max power": 3000.0,
      "bat_to_dc efficiency": 0.93,
      "bat_to_dc max power": 3000.0,
      "cycle cost": 0.03,
      "solar": [
        {
          "name": "Dak bijkeuken",
          "entity pv switch": "",
          "strings": [
            {
              "tilt": 15,
              "orientation": -85,
              "capacity": 2.8,
              "yield": 0.02
            },
            {
              "tilt": 15,
              "orientation": 95,
              "capacity": 2.8,
              "yield": 0.02
            }
          ]
        }
      ]
    }
  ],
  "solar": [
    {
      "name": "Dak zuid",
      "entity pv switch": "",
      "tilt": 10,
      "orientation": 5,
      "capacity": 3.6,
      "yield": 0.02
    }
  ],
  "electric vehicle": [
  ],
  "machines": [
  ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.dsmr_reading_electricity_delivered_1",
      "sensor.dsmr_reading_electricity_delivered_2"
    ],
    "entities grid production": [
      "sensor.dsmr_reading_electricity_returned_1",
      "sensor.dsmr_reading_electricity_returned_2"
    ],
    "entities solar production ac": [
      "sensor.shelly_em_6eaabc_total_returned_1"
    ],
    "entities solar production dc": [
      "sensor.solis_s5_eh1p_pv_today_energy_generation"
    ],
    "entities ev consumption": [
      "sensor.shelly_em_6eaabc_total_0"
    ],
    "entities wp consumption": [
    ],
    "entities boiler consumption": [
    ],
    "entities battery consumption": [
      "sensor.solis_s5_eh1p_today_battery_discharge_energy"
    ],
    "entities battery production": [
      "sensor.solis_s5_eh1p_today_battery_charge_energy"
    ]
  },
  "scheduler": {
    "active": "true",
    "0425": "get_meteo_data",
    "1025": "get_meteo_data",
    "1625": "get_meteo_data",
    "2225": "get_meteo_data",
    "1257": "get_day_ahead_prices",
    "1356": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "xx15": "calc_optimum",
    "xx30": "calc_optimum",
    "xx45": "calc_optimum",
    "2359": "clean_data"
  }
}
Zelfde afwijking als BBuilds hierboven had
code:
1
2
3
4
5
    "entities battery consumption": [
      "sensor.solis_s5_eh1p_today_battery_discharge_energy"
    ],
    "entities battery production": [
      "sensor.solis_s5_eh1p_today_battery_charge_energy"

Discharge van de batterij is de productie naar het huis toe, charge van de batterij is consumptie vanuit het huis.
Dus deze twee moet je verwisselen.

Ioniq 6 LR Lounge 20"
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


Acties:
  • 0 Henk 'm!

  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 15:13
Ik heb ze omgedraait, maar nog steeds niks. Ik denk ook niet dat dat iets te maken heeft met de "sqlalchemy.exc.NoSuchTableError: statistics" error die ik krijg. Het lijkt erop dat hij die tabel niet kan vinden.

Acties:
  • 0 Henk 'm!

  • Deikke
  • Registratie: Juni 2004
  • Laatst online: 15:13
Ik heb het al opgelost, de database naam klopte niet.

Acties:
  • 0 Henk 'm!

  • Batavia
  • Registratie: Mei 2011
  • Laatst online: 23:39
code:
1
2
      "optimal lower level": 20,
      "lower limit": 10,


I have these settings for my battery. However dao seems to never go below 20.

Under what conditions should it go to 10% instead of 20?

Acties:
  • +1 Henk 'm!

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 00:28
Deikke schreef op donderdag 16 oktober 2025 @ 10:50:
Laat maar, al opgelost

Ik krijg het helaas niet voor elkaar om de baseloads te berekenen. Ik krijg telkens onderstaande foutmelding, enig idee wat hier mis gaat?

[code] Logging van bewerking "Bereken de baseloads":

2025-10-16 10:44:31 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-16 10:44:31 info: Day Ahead Optimalisering gestart op: 16-10-2025 10:44:31
2025-10-16 10:44:31 info: Day Ahead Optimalisatie gestart: 16-10-2025 10:44:31 taak: calc_baseloads
2025-10-16 10:44:34 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
File "/root/dao/prog/da_base.py", line 594, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 539, in calc_baseloads
report.calc_save_baseloads()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads
baseload = self.calc_weekday_baseload(weekday)
File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload
grid_consumption = self.get_sensor_week_sum(
self.grid_consumption_sensors,
...<2 lines>...
"grid_consumption",
)
File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum
df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name)
File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data
statistics = Table(
"statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine
)
File "<string>", line 2, in __new__
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
return fn(*args, **kwargs) # type: ignore[no-any-return]
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__
return cls._new(*args, **kw)
~~~~~~~~^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new
table.__init__(name, metadata, *args, _no_init=False, **kw) # type: ignore[misc] # noqa: E501
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__
self._autoload(
~~~~~~~~~~~~~~^
metadata,
^^^^^^^^^
...<4 lines>...
resolve_fks=resolve_fks,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload
conn_insp.reflect_table(
~~~~~~~~~~~~~~~~~~~~~~~^
self,
^^^^^
...<4 lines>...
_reflect_info=_reflect_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table
raise exc.NoSuchTableError(table_name)
sqlalchemy.exc.NoSuchTableError: statistics
Traceback (most recent call last):
File "/root/dao/webserver/../prog/day_ahead.py", line 3945, in <module>
main()
~~~~^^
File "/root/dao/webserver/../prog/day_ahead.py", line 3939, in main
da_calc.run_task_function("calc_baseloads")
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_base.py", line 594, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 539, in calc_baseloads
report.calc_save_baseloads()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_report.py", line 2738, in calc_save_baseloads
baseload = self.calc_weekday_baseload(weekday)
File "/root/dao/prog/da_report.py", line 2643, in calc_weekday_baseload
grid_consumption = self.get_sensor_week_sum(
self.grid_consumption_sensors,
...<2 lines>...
"grid_consumption",
)
File "/root/dao/prog/da_report.py", line 2617, in get_sensor_week_sum
df = self.get_sensor_week_data(sensor, weekday, vanaf, tot, col_name)
File "/root/dao/prog/da_report.py", line 2536, in get_sensor_week_data
statistics = Table(
"statistics", self.db_ha.metadata, autoload_with=self.db_ha.engine
)
File "<string>", line 2, in __new__
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
return fn(*args, **kwargs) # type: ignore[no-any-return]
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 429, in __new__
return cls._new(*args, **kw)
~~~~~~~~^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 483, in _new
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 479, in _new
table.__init__(name, metadata, *args, _no_init=False, **kw) # type: ignore[misc] # noqa: E501
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 861, in __init__
self._autoload(
~~~~~~~~~~~~~~^
metadata,
^^^^^^^^^
...<4 lines>...
resolve_fks=resolve_fks,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/schema.py", line 893, in _autoload
conn_insp.reflect_table(
~~~~~~~~~~~~~~~~~~~~~~~^
self,
^^^^^
...<4 lines>...
_reflect_info=_reflect_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/reflection.py", line 1548, in reflect_table
raise exc.NoSuchTableError(table_name)
sqlalchemy.exc.NoSuchTableError: statistics
[/code]

config:

[code]{
"homeassistant": {
},
"database ha": {
"engine": "postgresql",
"server": "77b2833f-timescaledb",
"port": 5432,
"database": "dao",
"username": "dao",
"password": "!secret db_ha_password"
},
"database da": {
"engine": "postgresql",
"server": "77b2833f-timescaledb",
"port": 5432,
"database": "dao",
"username": "dao",
"password": "!secret db_da_password"
},
"meteoserver-key": "!secret meteoserver-key",
"prices": {
"source day ahead": "nordpool",
"regular high": 0.5,
"regular low": 0.4,
"switch to low": 23,
"energy taxes consumption": {
"2022-01-01": 0.06729,
"2023-01-01": 0.12599,
"2024-01-01": 0.1088,
"2025-01-01": 0.10154
},
"energy taxes production": {
"2022-01-01": 0.06729,
"2023-01-01": 0.12599,
"2024-01-01": 0.1088,
"2025-01-01": 0.10154
},
"cost supplier consumption": {
"2022-01-01": 0.002,
"2023-03-01": 0.018,
"2024-04-01": 0.0175,
"2024-08-01": 0.020496
},
"cost supplier production": {
"2022-01-01": 0.002,
"2023-03-01": 0.018,
"2024-04-01": 0.0175,
"2024-08-01": 0.020496
},
"vat consumption": {
"2022-01-01": 21,
"2022-07-01": 9,
"2023-01-01": 21
},
"vat production": {
"2022-01-01": 21,
"2022-07-01": 9,
"2023-01-01": 21
},
"last invoice": "2025-09-01",
"tax refund": "True"
},
"interval": "15min",
"logging level": "info",
"use_calc_baseload": "False",
"baseload calc periode": 56,
"baseload": [
0.14,
0.38,
0.26,
0.42,
0.15,
0.12,
0.13,
0.15,
0.23,
0.26,
0.31,
0.32,
0.31,
0.23,
0.26,
0.21,
0.21,
0.54,
0.26,
0.26,
0.22,
0.19,
0.18,
0.16
],
"graphical backend": "",
"graphics": {
"style": "Solarize_Light2",
"show": "true",
"battery balance": "True",
"prices consumption": "True",
"prices production": "False",
"prices spot": "True",
"average consumption": "True"
},
"strategy": "minimize cost",
"notifications": {
},
"grid": {
"max_power": 17
},
"history": {
"save days": 7
},
"dashboard": {
"port": 5000
},
"boiler": {
"boiler present": "False",
"entity actual temp.": "sensor.boiler_gemeten",
"entity setpoint": "sensor.boiler_ingesteld",
"entity hysterese": "sensor.hysterese_hot_water",
"cop": 2.9,
"cooling rate": 0.4,
"volume": 180,
"heating allowed below": 44,
"elec. power": 1500,
"activate service": "press",
"activate entity": "input_button.hw_trigger"
},
"heating": {
"heater present": "False",
"degree days factor": 3.6,
"stages": [
{
"max_power": 225,
"cop": 7.1
},
{
"max_power": 300,
"cop": 7.0
},
{
"max_power": 400,
"cop": 6.5
},
{
"max_power": 500,
"cop": 6.0
},
{
"max_power": 600,
"cop": 5.5
},
{
"max_power": 750,
"cop": 5.0
},
{
"max_power": 1000,
"cop": 4.5
},
{
"max_power": 1250,
"cop": 4.0
}
],
"entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
"adjustment factor": 0.04
},
"battery": [
{
"name": "Batterij",
"entity actual level": "sensor.solis_s5_eh1p_battery_soc",
"capacity": 10,
"upper limit": 98,
"lower limit": 21,
"optimal lower level": 21,
"minimum power": 0,
"charge stages": [
{
"power": 0.0,
"efficiency": 1
},
{
"power": 50.0,
"efficiency": 0.825
},
{
"power": 100.0,
"efficiency": 0.861
},
{
"power": 150.0,
"efficiency": 0.873
},
{
"power": 300.0,
"efficiency": 0.886
},
{
"power": 600.0,
"efficiency": 0.893
},
{
"power": 1200.0,
"efficiency": 0.896
},
{
"power": 2000.0,
"efficiency": 0.897
},
{
"power": 3000.0,
"efficiency": 0.898
}
],
"discharge stages": [
{
"power": 0.0,
"efficiency": 1
},
{
"power": 50.0,
"efficiency": 0.825
},
{
"power": 100.0,
"efficiency": 0.861
},
{
"power": 150.0,
"efficiency": 0.873
},
{
"power": 300.0,
"efficiency": 0.886
},
{
"power": 600.0,
"efficiency": 0.893
},
{
"power": 1200.0,
"efficiency": 0.896
},
{
"power": 2000.0,
"efficiency": 0.897
},
{
"power": 3000.0,
"efficiency": 0.898
}
],
"dc_to_bat efficiency": 0.95,
"dc_to_bat max power": 3000.0,
"bat_to_dc efficiency": 0.93,
"bat_to_dc max power": 3000.0,
"cycle cost": 0.03,
"solar": [
{
"name": "Dak bijkeuken",
"entity pv switch": "",
"strings": [
{
"tilt": 15,
"orientation": -85,
"capacity": 2.8,
"yield": 0.02
},
{
"tilt": 15,
"orientation": 95,
"capacity": 2.8,
"yield": 0.02
}
]
}
]
}
],
"solar": [
{
"name": "Dak zuid",
"entity pv switch": "",
"tilt": 10,
"orientation": 5,
"capacity": 3.6,
"yield": 0.02
}
],
"electric vehicle": [
],
"machines": [
],
"tibber": {
"api_token": "!secret tibber_api_token"
},
"report": {
"entities grid consumption": [
"sensor.dsmr_reading_electricity_delivered_1",
"sensor.dsmr_reading_electricity_delivered_2"
],
"entities grid production": [
"sensor.dsmr_reading_electricity_returned_1",
"sensor.dsmr_reading_electricity_returned_2"
],
"entities solar production ac": [
"sensor.shelly_em_6eaabc_total_returned_1"
],
"entities solar production dc": [
"sensor.solis_s5_eh1p_pv_today_energy_generation"
],
"entities ev consumption": [
"sensor.shelly_em_6eaabc_total_0"
],
"entities wp consumption": [
],
"entities boiler consumption": [
],
"entities battery consumption": [
"sensor.solis_s5_eh1p_today_battery_discharge_energy"
],
"entities battery production": [
"sensor.solis_s5_eh1p_today_battery_charge_energy"
]
},
"scheduler": {
"active": "true",
"0425": "get_meteo_data",
"1025": "get_meteo_data",
"1625": "get_meteo_data",
"2225": "get_meteo_data",
"1257": "get_day_ahead_prices",
"1356": "get_day_ahead_prices",
"1455": "get_day_ahead_prices",
"1554": "get_day_ahead_prices",
"1655": "get_day_ahead_prices",
"xx00": "calc_optimum",
"xx15": "calc_optimum",
"xx30": "calc_optimum",
"xx45": "calc_optimum",
"2359": "clean_data"
}
}[/code]
Hoi @Deikke er is zo te zien iets niet goed gegaan met je code en quote blokken, zou je dat even willen herstellen? Scheelt de lezers hier wat scrollwerk :P

Acties:
  • 0 Henk 'm!

  • BBuilds
  • Registratie: November 2013
  • Laatst online: 17-10 16:33
Ik heb m'n entiteiten in de report sectie ondertussen goed gezet denk ik. Iemand zin om dat even te dubbelchecken?
code:
1
2
3
4
5
6
7
8
9
10
11
12
  "report": {
    "entities grid consumption": [ "sensor.energy_export_total" ],
    "entities grid production": [ "sensor.energy_import_total"  ],
    "entities solar production ac": [ ],
    "entities solar production dc": [ "sensor.solar_energy_template" ],
    "entities ev consumption" : ["sensor.ev_charger_energy_consumption"],
    "entities wp consumption" : [""],
    "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"],
    "entities battery consumption": ["sensor.home_battery_charged_energy"],
    "entities battery production": ["sensor.home_battery_discharged_energy"],
    "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"]
  },
Toch krijg ik in het midden van de dag nog steeds een negatieve baseload waardes.
Is dat omdat er overdag meer opbrengst is geweest dan verbruik? (energie geladen in de batterij en geëxporteerd naar het net)
Of hoort het allemaal zo te zijn?

Ik heb de source entiteiten in HA allemaal nagekeken en deze geven de te verwachte data. Elke sensor is een Utility meter in HA met waardes die oplopen als er verbruik of injectie is.
In het Energy dashboard van HA werkt alles met dezelfde entiteiten goed
Afbeeldingslocatie: https://tweakers.net/i/mgYqeDTp2JpFXJTO605QD0a23eU=/800x/filters:strip_exif()/f/image/84PJccFrPLq7mfZ7FiwWH2Ql.png?f=fotoalbum_large

Baseload waardes na de berekening:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2025-10-16 14:09:15 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-16 14:09:15 info: Day Ahead Optimalisering gestart op: 16-10-2025 14:09:15
2025-10-16 14:09:15 info: Day Ahead Optimalisatie gestart: 16-10-2025 14:09:15 taak: calc_baseloads
2025-10-16 14:09:15 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2025-10-16 14:09:25 info: baseload voor weekdag 0 :
2025-10-16 14:09:25 info: 0.302 0.25 0.298 0.289 0.264 0.262 0.288 0.14 -0.379 -0.928 -1.281 -1.064 -0.509 0.282 1.737 1.233 1.313 0.902 0.359 0.878 0.616 0.632 0.231 -0.243 
2025-10-16 14:09:36 info: baseload voor weekdag 1 :
2025-10-16 14:09:36 info: -0.231 -0.273 -0.297 -0.273 -0.257 -0.247 0.287 0.04 -0.34 -0.767 -0.808 -0.573 0.034 0.144 0.232 0.742 0.569 0.676 0.35 0.706 0.532 0.459 0.311 0.377 
2025-10-16 14:09:46 info: baseload voor weekdag 2 :
2025-10-16 14:09:46 info: 0.237 0.275 0.287 0.227 0.264 0.237 0.277 0.23 -0.09 -0.69 -0.968 -0.894 -0.988 -0.665 0.352 0.16 0.809 0.574 0.477 0.466 0.451 0.39 0.312 0.244 
2025-10-16 14:09:57 info: baseload voor weekdag 3 :
2025-10-16 14:09:57 info: 0.301 0.302 0.301 0.264 0.277 0.276 0.252 0.084 -0.562 -0.816 -1.001 -0.602 -0.64 0.228 0.59 1.214 2.415 1.45 0.871 0.398 0.436 0.464 0.326 0.287 
2025-10-16 14:10:07 info: baseload voor weekdag 4 :
2025-10-16 14:10:07 info: 0.264 0.264 0.275 0.251 0.276 0.29 0.325 0.106 -0.77 -1.192 -1.208 -0.427 -0.455 0.004 0.257 -0.545 0.61 0.54 0.374 0.483 0.497 0.538 0.375 0.322 
2025-10-16 14:10:18 info: baseload voor weekdag 5 :
2025-10-16 14:10:18 info: 0.282 0.298 0.239 0.326 0.339 0.277 0.302 0.346 -0.316 -0.905 -0.746 -0.941 0.181 0.487 1.18 0.507 0.094 0.496 0.36 0.38 0.294 0.351 0.34 0.295 
2025-10-16 14:10:28 info: baseload voor weekdag 6 :
2025-10-16 14:10:28 info: 0.288 0.31 0.286 0.29 0.251 0.238 0.263 0.089 -0.718 -1.158 -1.401 -1.4 -1.032 -0.32 0.392 1.152 1.242 1.176 0.48 0.456 0.475 0.67 0.422 0.401 
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffeda8e6e30>
Ziet er toch maar gek uit in het charts gedeelte:
Afbeeldingslocatie: https://tweakers.net/i/S9jy7iIjhoi7qtOPXzfbz9Ge9Yk=/x800/filters:strip_exif()/f/image/Hl9XRfl66mvMLmyPZCq41n2Y.png?f=fotoalbum_large

Edit:
Hier nog even een volledige debug log van de berekening van de baseloads, als iemand daar wat aan heeft:
https://notebin.de/?aaaf2...FTPMKbz3sUWuSB91qGiqmM7LT

[ Voor 3% gewijzigd door BBuilds op 16-10-2025 15:19 ]


Acties:
  • +1 Henk 'm!

  • Bravo
  • Registratie: Augustus 2005
  • Laatst online: 21:19

Bravo

Second Best

BBuilds schreef op donderdag 16 oktober 2025 @ 14:20:
Ik heb m'n entiteiten in de report sectie ondertussen goed gezet denk ik. Iemand zin om dat even te dubbelchecken?

code:
1
2
3
4
5
6
7
8
9
10
11
12
  "report": {
    "entities grid consumption": [ "sensor.energy_export_total" ],
    "entities grid production": [ "sensor.energy_import_total"  ],
    "entities solar production ac": [ ],
    "entities solar production dc": [ "sensor.solar_energy_template" ],
    "entities ev consumption" : ["sensor.ev_charger_energy_consumption"],
    "entities wp consumption" : [""],
    "entities boiler consumption": ["sensor.heatpump_boiler_energy_template"],
    "entities battery consumption": ["sensor.home_battery_charged_energy"],
    "entities battery production": ["sensor.home_battery_discharged_energy"],
    "entity co2-intensity": ["sensor.electricity_maps_co2_intensiteit"]
  },
grid consumption -> stroom uit het net. Dus import_total
grid production -> stroom naar het net. Dus export_total
batterij staat wel goed

Edit: Al zou het ook mijn voorkeur hebben om als we het over de netaansluiting hebben te praten over import en export ipv consumption en production. Maar dat mag ergens op de lange lijst van mogelijke verbeteringen.

[ Voor 9% gewijzigd door Bravo op 16-10-2025 17:19 ]

Ioniq 6 LR Lounge 20"
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


Acties:
  • +1 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 23:33
BBuilds schreef op donderdag 16 oktober 2025 @ 14:20:
Toch krijg ik in het midden van de dag nog steeds een negatieve baseload waardes.
Is dat omdat er overdag meer opbrengst is geweest dan verbruik? (energie geladen in de batterij en geëxporteerd naar het net)
Of hoort het allemaal zo te zijn?
Bij mij is/was dat omdat de werkelijke opbrangst van de zonnestroom-omvormers afwijkt van de gerapporteerde. Hoe meer zon hoe negatiever mijn baseload. Als jouw baseload ook een relatie heeft met de zonnestraling...

We gaan er allemaal maar vanuit dat de sensoren waar we mee meten accuraat zijn, maar dat zijn ze bepaald niet. Veel van het slimme-stekker, shelly, zonnestroom-omvormer, etc. spul zit er makkelijk 5-10% naast. Het ergste is een Shelly 1PM; die rapporteert 2600W als er amper 2000 doorheen gaat. :|

Acties:
  • +1 Henk 'm!

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 00:28
DaBit schreef op donderdag 16 oktober 2025 @ 18:09:
[...]


Bij mij is/was dat omdat de werkelijke opbrangst van de zonnestroom-omvormers afwijkt van de gerapporteerde. Hoe meer zon hoe negatiever mijn baseload. Als jouw baseload ook een relatie heeft met de zonnestraling...

We gaan er allemaal maar vanuit dat de sensoren waar we mee meten accuraat zijn, maar dat zijn ze bepaald niet. Veel van het slimme-stekker, shelly, zonnestroom-omvormer, etc. spul zit er makkelijk 5-10% naast. Het ergste is een Shelly 1PM; die rapporteert 2600W als er amper 2000 doorheen gaat. :|
@BBuilds waar ik tegen aanliep is dat niet alle sensoren met elkaar in sync lopen met hun rapportage van vermogen en energieverbruik. Als er maar één is die een paar minuten na ijlt (bij mij de laadpaal) en dat gaat net over de uurgrens heen, dan is de rapportage op uur niveau uit balans. En daarmee ook de baseload berekening.

Acties:
  • 0 Henk 'm!

  • Voogel
  • Registratie: April 2016
  • Laatst online: 17-10 15:31
Ik blijf timeout meldingen (en forced restart van DAO) houden bij de baseload calculatie op een HA Green, 7 dagen gaat prima maar zodra ik meer doe gaat het mis. CPU en memory pieken niet opvallend en full debug logging laat ook niks zien…. Iemand nog een suggestie?

4x SF165 & 3x SF170 op huisje uit 1896


Acties:
  • +1 Henk 'm!

  • BBuilds
  • Registratie: November 2013
  • Laatst online: 17-10 16:33
@Bravo Bedankt voor de hulp. Ik begrijp de logica achter de naamgeving * production/consumption nog steeds niet 100%, maar door jouw hulp staat het nu goed geconfigureerd, waarvoor dank.

Ik heb ondertussen ook de calc_baseload functie in orde gekregen door mijn solar productie bij entities solar production ac te plaatsen ipv bij entities solar production dc (trial and error), ookal heb ik een hybride solar omvormer met dc gekoppelde batterij.
Heb ik de config daarvan verkeerd begrepen? Welk soort solar moet er dan bij Solar DC geconfigureerd worden?

Als ik m'n solar bij entities solar production dc vermeld krijg ik overdag allemaal negatieve waarden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2025-10-16 21:11:26 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-16 21:11:26 info: Day Ahead Optimalisering gestart op: 16-10-2025 21:11:26
2025-10-16 21:11:26 info: Day Ahead Optimalisatie gestart: 16-10-2025 21:11:26 taak: calc_baseloads
2025-10-16 21:11:26 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2025-10-16 21:11:36 info: baseload voor weekdag 0 :
2025-10-16 21:11:36 info: 0.347 0.297 0.347 0.335 0.309 0.309 0.335 0.184 -0.202 -0.855 -0.999 -1.269 -1.756 -2.742 -2.449 -1.991 -2.022 -1.62 -0.166 0.976 0.697 0.771 0.641 0.635 
2025-10-16 21:11:46 info: baseload voor weekdag 1 :
2025-10-16 21:11:46 info: 0.646 0.609 0.585 0.61 0.621 0.592 0.334 0.083 -0.228 -0.616 -0.873 -1.376 -1.643 -1.975 -2.257 -1.966 -1.916 -1.179 -0.093 0.711 0.659 0.584 0.372 0.422 
2025-10-16 21:11:56 info: baseload voor weekdag 2 :
2025-10-16 21:11:56 info: 0.285 0.322 0.335 0.272 0.31 0.285 0.322 0.284 -0.017 -0.551 -0.997 -1.237 -1.558 -1.641 -1.908 -1.678 -1.556 -0.501 0.012 0.422 0.497 0.434 0.359 0.384 
2025-10-16 21:12:07 info: baseload voor weekdag 3 :
2025-10-16 21:12:07 info: 0.347 0.347 0.347 0.31 0.322 0.322 0.297 0.132 -0.255 -0.789 -1.161 -1.351 -1.482 -1.427 -2.04 -2.14 -2.518 -1.265 -0.404 0.358 0.485 0.572 0.447 0.335 
2025-10-16 21:12:17 info: baseload voor weekdag 4 :
2025-10-16 21:12:17 info: 0.31 0.31 0.322 0.297 0.322 0.334 0.372 0.158 -0.34 -0.688 -1.075 -1.348 -1.661 -2.18 -2.053 -1.39 -2.306 -1.48 0.083 0.572 0.572 0.584 0.497 0.697 
2025-10-16 21:12:27 info: baseload voor weekdag 5 :
2025-10-16 21:12:27 info: 0.809 0.634 0.547 0.634 0.447 0.322 0.347 0.434 -0.117 -0.473 -1.015 -1.704 -2.136 -2.499 -2.901 -2.215 -1.878 -1.672 -0.275 0.455 0.359 0.397 0.384 0.659 
2025-10-16 21:12:37 info: baseload voor weekdag 6 :
2025-10-16 21:12:37 info: 0.659 0.684 0.409 0.334 0.297 0.285 0.31 0.134 -0.235 -0.866 -1.248 -1.303 -1.823 -2.48 -2.677 -2.911 -2.603 -1.612 -0.304 0.492 0.584 0.872 0.622 0.471 
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7ffee3cd6e30>


Als ik dezelfde entiteit bij entities solar production ac vermeld in de config komen er wel allemaal geloofwaardige positieve waardes

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2025-10-16 21:22:10 info: Day Ahead Optimalisering versie: 2025.10.4
2025-10-16 21:22:10 info: Day Ahead Optimalisering gestart op: 16-10-2025 21:22:10
2025-10-16 21:22:10 info: Day Ahead Optimalisatie gestart: 16-10-2025 21:22:10 taak: calc_baseloads
2025-10-16 21:22:10 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2025-10-16 21:22:21 info: baseload voor weekdag 0 :
2025-10-16 21:22:21 info: 0.347 0.297 0.347 0.335 0.309 0.309 0.335 0.26 0.385 0.745 1.126 1.393 1.081 1.145 1.339 1.347 1.09 1.13 0.896 1.101 0.697 0.771 0.641 0.635 
2025-10-16 21:22:31 info: baseload voor weekdag 1 :
2025-10-16 21:22:31 info: 0.646 0.609 0.585 0.61 0.621 0.592 0.334 0.295 0.397 0.796 0.764 0.799 0.932 1.3 1.455 1.109 0.572 0.896 0.582 0.861 0.671 0.584 0.372 0.422 
2025-10-16 21:22:41 info: baseload voor weekdag 2 :
2025-10-16 21:22:41 info: 0.285 0.322 0.335 0.272 0.31 0.285 0.322 0.372 0.258 0.399 0.628 0.775 1.067 1.296 0.867 0.935 0.832 0.724 0.575 0.596 0.522 0.434 0.359 0.384 
2025-10-16 21:22:52 info: baseload voor weekdag 3 :
2025-10-16 21:22:52 info: 0.347 0.347 0.347 0.31 0.322 0.322 0.297 0.283 0.533 0.611 0.989 1.186 1.68 1.648 1.072 0.622 0.52 0.798 0.858 0.571 0.498 0.572 0.447 0.335 
2025-10-16 21:23:02 info: baseload voor weekdag 4 :
2025-10-16 21:23:02 info: 0.31 0.31 0.322 0.297 0.322 0.334 0.372 0.371 0.685 0.987 1.162 1.19 1.176 1.244 1.135 1.547 1.169 0.995 1.07 0.797 0.61 0.584 0.497 0.697 
2025-10-16 21:23:12 info: baseload voor weekdag 5 :
2025-10-16 21:23:12 info: 0.809 0.634 0.547 0.634 0.447 0.322 0.347 0.534 0.708 1.114 0.835 0.772 0.764 0.576 0.661 0.985 0.959 0.74 0.775 0.58 0.384 0.397 0.384 0.659 
2025-10-16 21:23:22 info: baseload voor weekdag 6 :
2025-10-16 21:23:22 info: 0.659 0.684 0.409 0.334 0.297 0.285 0.31 0.284 0.653 0.972 1.152 1.385 1.289 1.307 1.398 0.951 0.822 0.825 0.708 0.567 0.597 0.872 0.622 0.471 
<sys>:0: ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7fff3c7f6e30>


Ziet er veel beter uit zo! d:)b
Afbeeldingslocatie: https://tweakers.net/i/KDXgLVn7d018rME8FM-Zi_gnOcI=/x800/filters:strip_exif()/f/image/JZFKA8mhd9t3brX7D7LIjCJG.png?f=fotoalbum_large

Acties:
  • +2 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Nu online
@KC27 is het een idee om enkele veel voorkomende fouten af te vangen met een try/except? En dan de gebruiker een keurige notification voorschotelen? Ik heb nu deze fout (in de test versie, dus niet erg), en ik vermoed dat het komt door gebrek aan meteo en prijs data. Over het algemeen gaat het goed maar laatst was er geen prijs data op tijd en draaide DAO de soep in. Ik moest toen handmatig de prijzen ophalen. Met een goede foutmelding, of zelfs specifieke fout code zou je de recovery kunnen automatiseren. Idee?
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
2025-10-16 22:44:47 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 622, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 93, in calc_optimum
    price_data = report.get_price_data(
        dt.datetime.fromtimestamp(start_hour), end=None, interval=self.interval
    )
  File "/root/dao/prog/da_report.py", line 2847, in get_price_data
    end = datetime.datetime.strptime(df_da["time"].iloc[-1], "%Y-%m-%d %H:%M")
                                     ~~~~~~~~~~~~~~~~~~^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1192, in __getitem__
    return self._getitem_axis(maybe_callable, axis=axis)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1753, in _getitem_axis
    self._validate_integer(key, axis)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1686, in _validate_integer
    raise IndexError("single positional indexer is out-of-bounds")
IndexError: single positional indexer is out-of-bounds
2025-10-16 22:44:47 debug: Starting new HTTP connection (1): 192.168.1.7:8123
2025-10-16 22:44:47 debug: http://192.168.1.7:8123 "POST /api/services/input_text/set_value HTTP/1.1" 200 334
debug:root:hass/api/config: {"allowlist_external_dirs":["/media","/config/www"],"allowlist_external_urls":[],"components":["api","history","shell_command","samsungtv_smart","group.notify","unifi.device_tracker","logbook","spook.number","tuya.siren","websocket_api","update","generic_thermostat.climate","lock","cloud","spook.select","energy","weather","spotifyplus.media_player","remote","unifi.image","google_generative_ai_conversation.conversation","homeassistant","ssdp","tado","hassio","zwave_js.sensor","spook.button","switch_as_x","tuya.switch","mqtt.switch","kleenex_pollenradar","google_generative_ai_conversation.tts","sun.binary_sensor","energy.sensor","mqtt","solaredgeoptimizers","utility_meter.sensor","mqtt.number","timer","tuya.climate","workday.calendar","input_boolean","unifi","tibber.sensor","bluetooth_adapters","zwave_js.event","group.light","derivative","nederlandse_spoorwegen.sensor","mqtt.sensor","homekit_controller.climate","template","openweathermap.weather","system_health","tibber","ical.sensor","samsungtv_smart.media_player","solaredge_modbus.select","onboarding","ffmpeg","wake_on_lan.switch","diagnostics","hassio.update","group","buienradar.camera","nederlandse_spoorwegen","mobile_app","backup.sensor","systemmonitor.sensor","homekit_controller","statistics","rest.sensor","binary_sensor","tuya.sensor","local_todo.todo","esphome.media_player","file_upload","cloud.stt","command_line","sessy","statistics.sensor","assist_pipeline","threshold","version","rest","hassio.sensor","mobile_app.notify","tado.sensor","zwave_js.siren","dsmr_reader.sensor","zwave_js.fan","input_button","switch_as_x.light","smart_thermostat.climate","localtuya.number","cloud.binary_sensor","unifi.update","esphome.button","proxmoxve","samsungtv_smart.remote","mqtt.select","workday","sql","adguard.switch","zwave_js.button","button","template.select","mqtt.text","unifi.sensor","todo","backup.event","integration","kleenex_pollenradar.sensor","tado.water_heater","tuya.select","cast.media_player","hacs.switch","blueprint","sessy.binary_sensor","google_generative_ai_conversation","unifi.switch","spotifyplus","repairs","solaredge_modbus","esphome.update","hassio.switch","backup","climate","conversation","spook.event","afvalwijzer","utility_meter","proxmoxve.binary_sensor","homekit_controller.select","http","ping.sensor","zwave_js","bluetooth","systemmonitor","mqtt.light","mqtt.event","esphome.sensor","application_credentials","tuya.event","input_number","sessy.update","stt","github","openweathermap","tado.switch","local_todo","spook.time","tuya.valve","homeassistant.scene","frank_energie.sensor","cloud.tts","google_generative_ai_conversation.ai_task","zwave_js.cover","switch","spook.binary_sensor","tuya.vacuum","mqtt.binary_sensor","afvalwijzer.sensor","tuya.humidifier","system_log","ical.calendar","watchman","esphome.camera","wake_on_lan","utility_meter.select","mqtt.climate","auto_backup.binary_sensor","config","mobile_app.device_tracker","rest_command","mqtt.fan","trace","esphome.light","tuya.cover","zwave_js.number","tado.device_tracker","template.binary_sensor","tuya.alarm_control_panel","version.sensor","buienalarm.sensor","alarm_control_panel","esphome","tod.binary_sensor","tuya.scene","workday.binary_sensor","google_generative_ai_conversation.stt","tibber.notify","hacs.update","sessy.switch","sun.sensor","watchman.sensor","mobile_app.binary_sensor","zwave_js.binary_sensor","frontend","filter.sensor","media_player","intent","openweathermap.sensor","image","mobile_app.sensor","esphome.number","sessy.sensor","version.binary_sensor","history_stats.sensor","pvoutput","mpd","frank_energie","universal.media_player","media_source","tag","sql.sensor","vacuum","samsungtv","tado.climate","buienradar","ical","cast","person","command_line.sensor","min_max","homekit_controller.sensor","schedule","buienradar.weather","localtuya.sensor","sessy.button","hacs","adguard.sensor","ping.device_tracker","recorder","template.switch","spook.switch","event","spotify","zwave_js.climate","number","tuya.fan","tuya.button","device_tracker","derivative.sensor","dsmr_reader","search","ping.binary_sensor","integration.sensor","zwave_js.light","solaredgeoptimizers.sensor","nodered","scene","wled","entsoe","usb","light","energy_meter.sensor","solaredge_modbus.number","plant","zone","zwave_js.update","ping","humidifier","webhook","scheduler.switch","spook","select","samsungtv.media_player","input_datetime","homekit_controller.button","tuya.number","network","sessy.number","counter","localtuya.switch","input_text","camera","tuya.camera","proxmoxve.button","forecast_solar.sensor","localtuya","adguard","lovelace","tuya","auto_backup","spotify.media_player","template.sensor","sessy.select","notify","valve","text","tado.binary_sensor","hassio.binary_sensor","automation","zwave_js.switch","unifi.button","esphome.switch","my","pvoutput.sensor","energy_meter","esphome.binary_sensor","threshold.binary_sensor","min_max.sensor","buienradar.sensor","ai_task","script","zwave_js.lock","systemmonitor.binary_sensor","zwave_js.select","water_heater","esphome.select","image_upload","solaredge_modbus.sensor","auth","entsoe.sensor","device_automation","toyota","tuya.binary_sensor","forecast_solar","logger","spook.sensor","local_calendar.calendar","persistent_notification","proxmoxve.sensor","sessy.time","scheduler","calendar","siren","mpd.media_player","zwave_js.humidifier","input_select","hardware","tuya.light","zeroconf","cover","github.sensor","esphome.event","nodered.sensor","wake_word","frank_energie.button","buienalarm","auto_backup.button","samsungtv.remote","co2signal.sensor","time","sun","fan","tod","sensor","analytics","co2signal","tts","time_date.sensor","local_calendar","auto_backup.sensor","esphome.cover"],"config_dir":"/config","config_source":"storage","country":"NL","currency":"EUR","debug":false,"elevation":0,"external_url":null,"internal_url":null,"language":"en","latitude":52.01789586139738,"location_name":"Home","longitude":4.3583106994628915,"radius":100,"recovery_mode":false,"safe_mode":false,"state":"RUNNING","time_zone":"Europe/Amsterdam","unit_system":{"length":"km","accumulated_precipitation":"mm","area":"m²","mass":"g","pressure":"Pa","temperature":"°C","volume":"L","wind_speed":"m/s"},"version":"2025.10.2","whitelist_external_dirs":["/media","/config/www"]}
debug:root:Dialect: postgresql, database: day_ahead_test, server: 192.168.1.111
debug:root:db_url: postgresql+psycopg2://day_ahead:G2DpVx66hfM2zK@192.168.1.111:5432/day_ahead_test
debug:root:Dialect: postgresql, database: homeassistant3, server: 192.168.1.111
debug:root:db_url: postgresql+psycopg2://postgres:RMzK5tzHN2zebj@192.168.1.111:5432/homeassistant3
debug:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.7:8123
debug:urllib3.connectionpool:http://192.168.1.7:8123 "GET /api/states/input_select.dao_strategy HTTP/1.1" 200 436
debug:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.7:8123
debug:urllib3.connectionpool:http://192.168.1.7:8123 "POST /api/services/input_datetime/set_datetime HTTP/1.1" 200 322
debug:root:Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 210 in /root/dao/prog/da_base.py
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3967, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 3941, in main
    da_calc.run_task_function("calc_optimum_met_debug")
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_base.py", line 622, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 552, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 93, in calc_optimum
    price_data = report.get_price_data(
        dt.datetime.fromtimestamp(start_hour), end=None, interval=self.interval
    )
  File "/root/dao/prog/da_report.py", line 2847, in get_price_data
    end = datetime.datetime.strptime(df_da["time"].iloc[-1], "%Y-%m-%d %H:%M")
                                     ~~~~~~~~~~~~~~~~~~^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1192, in __getitem__
    return self._getitem_axis(maybe_callable, axis=axis)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1753, in _getitem_axis
    self._validate_integer(key, axis)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pandas/core/indexing.py", line 1686, in _validate_integer
    raise IndexError("single positional indexer is out-of-bounds")
IndexError: single positional indexer is out-of-bounds

Acties:
  • +2 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Nu online
Ander idee: Is het mogelijk te maken om de baseload tijdelijk te overschrijven? Stel ik weet 's middags dat er 's avonds pizzas de oven in gaan. Dan kan ik dat in het oor van DAO fluisteren en houdt ie er rekening mee.

Acties:
  • +3 Henk 'm!
Vanavond zijn de volgende (identieke) versies gepubliceerd:
- productie versie 2025.10.5
- test versie 2025.10.5.rc6
Dit staat in de changelog van de productieversie:
Changed:
  • implemented **flex setting** of settings:
    • direct via your settings
    • indirect from HA via an entity in your settings
    More info in DOCS.md
  • Updated several used pyhton-modules (cryptography, numpy)
  • Added "max gap" (flex setting), see DOCS.md
  • Added logging "Rekentijd" in sec
  • made degree_days_factor, boiler_setpoint, boiler_hysterese and strategy flex setting
  • support voor machine consumptions sensors
  • added meteo parameter: wind-snelheid
Fixed:
  • Fixed error when planning wp-hours with 15min interval (reported by TomKuipers1983)
  • Fixed error when calculating "stop invertor" with 15min-interval
  • corrected output of hp with less than 8 stages
  • fixed error second graph
  • fixed error planning ev last hour with 15min prices (reported by @dabit)
  • fixed error when boiler is heated by heatpump

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


Acties:
  • +1 Henk 'm!
balk schreef op donderdag 16 oktober 2025 @ 22:59:
@KC27 is het een idee om enkele veel voorkomende fouten af te vangen met een try/except? En dan de gebruiker een keurige notification voorschotelen? Ik heb nu deze fout (in de test versie, dus niet erg), en ik vermoed dat het komt door gebrek aan meteo en prijs data. Over het algemeen gaat het goed maar laatst was er geen prijs data op tijd en draaide DAO de soep in. Ik moest toen handmatig de prijzen ophalen. Met een goede foutmelding, of zelfs specifieke fout code zou je de recovery kunnen automatiseren. Idee?


[...]
Dank je wel voor het meedenken.
Wordt gemaakt in de volgende (test)versie.

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


Acties:
  • 0 Henk 'm!

  • xarow
  • Registratie: Februari 2011
  • Laatst online: 00:32
xarow schreef op woensdag 15 oktober 2025 @ 21:34:
[...]


Mooie addon en interessant om toe te passen. Ik ben momenteel aan het kijken hoe ik de warmtepomp kan regelen en wil dit doen op basis van het verschuiven van de stooklijn. Bovenstaand gaf je aan dat er nog een fout in zat, waardoor de stages en graaddagen factor ook ingesteld moesten worden bij de verplaatsing van de stooklijn.

Het lijkt er op dat die fout er nog in zit, of is dit bewust benodigd?
@KC27 Ik denk dat er over mijn vraag is heen gelezen. Is het een bug of een feature dat de stages ingesteld dienen te worden indien je de warmtepomp wilt regelen op basis van de stooklijn?

Acties:
  • 0 Henk 'm!
xarow schreef op vrijdag 17 oktober 2025 @ 14:15:
[...]


@KC27 Ik denk dat er over mijn vraag is heen gelezen. Is het een bug of een feature dat de stages ingesteld dienen te worden indien je de warmtepomp wilt regelen op basis van de stooklijn?
Ja, sorry. Te druk met het project (en andere dingen) en dan schiet er soms een reactie bij in.
Nou het is een feature,
Ik werk zelf ook met stooklijnverschuiving en de berekening van die verschuiving gaat helemaal buiten de optimaliseringsberekening om. Het liefst zou ik de inzet van mijn warmtepomp berekenen met behulp van de stages en dan inzetten op de goedkoopste uren en uitzetten op de dure uren. Maar helaas kan ik het elektrisch vermogen van mijn warmtepomp niet rechtstreeks aansturen.
De berekening van de inzet van mijn warmtepomp maakt DAO toch voor mij en het blijkt dat dit goed overeenkomt met het uiteindelijke resultaat van de stooklijnverschuiving.
Als die stages voor jou niet interessant zijn kun je eventueel volstaan met twee stages, bijvoorbeeld:
code:
1
2
3
4
"stages": [
  { "power": 0, "cop": 3.0},
  { "power": 1500, "cop" : 3.0}
]

Als je het allemaal echt heel storend vindt kan ik zien of ik ze bij de "adjustment: heating curve" optioneel kan maken.

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


Acties:
  • +1 Henk 'm!

  • f.welvering
  • Registratie: Oktober 2009
  • Laatst online: 21:47
KC27 schreef op vrijdag 17 oktober 2025 @ 23:18:
[...]

Ja, sorry. Te druk met het project (en andere dingen) en dan schiet er soms een reactie bij in.
Nou het is een feature,
Ik werk zelf ook met stooklijnverschuiving en de berekening van die verschuiving gaat helemaal buiten de optimaliseringsberekening om. Het liefst zou ik de inzet van mijn warmtepomp berekenen met behulp van de stages en dan inzetten op de goedkoopste uren en uitzetten op de dure uren. Maar helaas kan ik het elektrisch vermogen van mijn warmtepomp niet rechtstreeks aansturen.
De berekening van de inzet van mijn warmtepomp maakt DAO toch voor mij en het blijkt dat dit goed overeenkomt met het uiteindelijke resultaat van de stooklijnverschuiving.
Als die stages voor jou niet interessant zijn kun je eventueel volstaan met twee stages, bijvoorbeeld:
code:
1
2
3
4
"stages": [
  { "power": 0, "cop": 3.0},
  { "power": 1500, "cop" : 3.0}
]

Als je het allemaal echt heel storend vindt kan ik zien of ik ze bij de "adjustment: heating curve" optioneel kan maken.
Hoe pas jij die strooklijn verschuiving toe?
Pas je de configuratie van je wp aan of stuur je de Thermostaat / woonkamer temperatuur aan?

WP: DeWarmte PompAO 6.4Kw Hybrid, CV Intergas, Thermostaat Netatmo, 70m2 vvw, PV: 34x 325wp solaredge omvormer en optimizers,Wan ip adres weten? https://mijnips.eu


Acties:
  • 0 Henk 'm!

  • Impossibl3
  • Registratie: November 2012
  • Laatst online: 00:24
f.welvering schreef op zaterdag 18 oktober 2025 @ 09:09:
[...]


Hoe pas jij die strooklijn verschuiving toe?
Pas je de configuratie van je wp aan of stuur je de Thermostaat / woonkamer temperatuur aan?
Ik ga dit doen door mijn thermostaat te verhogen/verlagen. Die stuurt vervolgens de wp aan met een aan/uit signaal waar weer de eigen stooklijn in zit (die ik niet kan aanpassen)

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


Acties:
  • 0 Henk 'm!

  • xarow
  • Registratie: Februari 2011
  • Laatst online: 00:32
KC27 schreef op vrijdag 17 oktober 2025 @ 23:18:
[...]

Ja, sorry. Te druk met het project (en andere dingen) en dan schiet er soms een reactie bij in.
Nou het is een feature,
Ik werk zelf ook met stooklijnverschuiving en de berekening van die verschuiving gaat helemaal buiten de optimaliseringsberekening om. Het liefst zou ik de inzet van mijn warmtepomp berekenen met behulp van de stages en dan inzetten op de goedkoopste uren en uitzetten op de dure uren. Maar helaas kan ik het elektrisch vermogen van mijn warmtepomp niet rechtstreeks aansturen.
De berekening van de inzet van mijn warmtepomp maakt DAO toch voor mij en het blijkt dat dit goed overeenkomt met het uiteindelijke resultaat van de stooklijnverschuiving.
Als die stages voor jou niet interessant zijn kun je eventueel volstaan met twee stages, bijvoorbeeld:
code:
1
2
3
4
"stages": [
  { "power": 0, "cop": 3.0},
  { "power": 1500, "cop" : 3.0}
]

Als je het allemaal echt heel storend vindt kan ik zien of ik ze bij de "adjustment: heating curve" optioneel kan maken.
Duidelijk, dan ga ik even kijken hoe ik die stages ga invullen. Bedankt!

Acties:
  • 0 Henk 'm!
f.welvering schreef op zaterdag 18 oktober 2025 @ 09:09:
[...]


Hoe pas jij die stooklijn verschuiving toe?
Pas je de configuratie van je wp aan of stuur je de Thermostaat / woonkamer temperatuur aan?
Mijn wp heeft de mogelijkheid om de stooklijn parallel te verschuiven. Dat is een instelling op wp zelf maar dat kan ook op afstand. Dat doe ik met DAO via de Home Assistant custom integratie.

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

Pagina: 1 ... 17 18 Laatste