WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Ik heb er nog niet lang over nagedacht, maar moet je voor de baseload niet de mediaan gebruiken ipv het gemiddelde?De berekening rekent voor iedere dag van de week en alle uren van die dag de baseload als gemiddelde van de dagen uit de historie.
Dank voor je reactie - alles heeft waarden, maar zit wel wat negatieve waarden tussen. Ga nog even verder kijken naar mijn sensorenKC27 schreef op woensdag 18 juni 2025 @ 23:18:
[...]
Hoe ziet je berekening eruit van Report\Balans met periode "deze maand" en "vorige maand"?
Waarschijnlijk kun je daar zien wat er ontbreekt en/of fout gaat.
All-electric | Deye 12KSG04LP3 met 2x Yixiang V2, 32x MB31 314 Ah | Panasonic Aquarea J 5kW | Tesla MY, SmartEVSE | 5.2 kWp PV | Proxmox met HomeAssistant, Docker host, PfSense, TrueNas & Mailcow
===
hmm, raar. De baseload is nu goed maar ik heb nog steeds geen oplossing wanneer ik 2025.6.1 gebruik. Met 2025.5.0 wel.
Kun je de logging delen van de berekening waarin DAO geen oplossing heeft?balk schreef op donderdag 19 juni 2025 @ 22:11:
@KC27 ik heb nog wat zitten stoeien met mijn baseload berekening. Ik zag dat deze op sommige momenten negatief was (en dat kan niet) en daardoor gaat de optimizer de mist in. Oorzaak bij mij was dat ik een 'combine the state of several sensors' helper gebruik om de waardes van mijn twee Sessys op te sommen. En blijkbaar maakt die geen 'state' waarde aan in de statistics tabel van Home Assistant. Hierdoor had de batterij component van de baseload berekenin geen waarde, en was deze soms negatief. Zie ook dit issue.
===
hmm, raar. De baseload is nu goed maar ik heb nog steeds geen oplossing wanneer ik 2025.6.1 gebruik. Met 2025.5.0 wel.
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
:strip_exif()/f/image/tf6leTw5yyfN25Jinvb09sCD.jpg?f=fotoalbum_large)
:strip_exif()/f/image/sKuQrzGiCTshSsHfloUCJg4p.jpg?f=fotoalbum_large)
Mijn config is:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
| { "homeassistant": { }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "notifications": { "notification entity": "input_text.dao_notificatie", "opstarten": "True", "berekening": "True", "last activity entity": "input_datetime.dao_laatste_activiteit" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "entsoe", "entsoe-api-key": "!secret entsoe-api-key", "regular high": 0.24, "regular low": 0.23, "switch to low": 23, "energy taxes delivery": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes redelivery": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "cost supplier delivery": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "cost supplier redelivery": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "vat": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "last invoice": "2025-04-01", "tax refund": "True" }, "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", "prices delivery": "True", "prices redelivery": "True", "average delivery": "True" }, "strategy": "minimize cost", "notifications": { "notification entity": "input_text.dao_notificatie", "opstarten": "True", "berekening": "True", "last activity entity": "input_datetime.dao_laatste_activiteit" }, "grid": { "max_power": 17 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "boiler": { "boiler present": "False", "entity actual temp.": "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": "EvaPower", "entity actual level": "sensor.gesimuleerde_evapower_soc_dao", "capacity": 3.072, "upper limit": 100, "lower limit": 10, "optimal lower level": 10, "entity set power feedin": "input_number.dao_feedin_grid", "entity calculated soc": "input_number.dao_entity_calculated_soc", "entity min soc end opt": "input_number.dao_entity_min_soc_end_eva", "cycle cost": 0.035, "dc_to_bat efficiency": 0.85, "bat_to_dc efficiency": 0.85, "minimum power": 120, "charge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100, "efficiency": 0.5 }, { "power": 800, "efficiency": 0.89 }, { "power": 1250, "efficiency": 0.85 }, { "power": 2000, "efficiency": 0.86 } ], "discharge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100, "efficiency": 0.5 }, { "power": 800, "efficiency": 0.92 }, { "power": 400, "efficiency": 0.85 }, { "power": 600, "efficiency": 0.88 } ], "solar": [] }, { "name": "Delta2Max", "entity actual level": "sensor.gesimuleerde_delta2max_soc", "capacity": 2.048, "upper limit": 100, "lower limit": 10, "optimal lower level": 10, "minimum power": 200, "dc_to_bat efficiency": 0.85, "bat_to_dc efficiency": 0.85, "cycle cost": 0.035, "entity set power feedin": "input_number.dao_feedin_grid_d2max", "entity calculated soc": "input_number.dao_entity_calculated_soc_d2max", "entity min soc end opt": "input_number.dao_entity_min_soc_end", "solar": [], "charge stages": [ { "power": 0, "efficiency": 1 }, { "power": 100, "efficiency": 0.85 }, { "power": 200, "efficiency": 0.88 }, { "power": 300, "efficiency": 0.90 }, { "power": 400, "efficiency": 0.91 }, { "power": 1200, "efficiency": 0.91 }, { "power": 1800, "efficiency": 0.90 } ], "discharge stages": [ { "power": 0, "efficiency": 1 }, { "power": 100, "efficiency": 0.92 }, { "power": 200, "efficiency": 0.93 }, { "power": 300, "efficiency": 0.93 }, { "power": 400, "efficiency": 0.92 }, { "power": 500, "efficiency": 0.90 }, { "power": 600, "efficiency": 0.88 } ] } ], "solar": [ { "name": "Enphase", "tilt": 30, "orientation": 200, "capacity": 11.680, "yield": 0.007, "entity pv switch": "input_boolean.solar_pv_on_off", "sensor history": "sensor.envoy_122126050988_lifetime_energy_production" } ], "electric vehicle": [ { "name": "Kia Niro EV", "capacity": 55, "entity position": "input_select.kia_locatie_dao", "entity max amperage": "input_number.niro_ac_max_ampere", "charge three phase": "True", "charge stages": [ { "ampere": 0, "efficiency": 1.00 }, { "ampere": 16, "efficiency": 0.95 } ], "entity actual level": "sensor.niro_ev_battery_level", "entity plugged in": "input_boolean.kia_ingeplugd_dao", "entity stop charging": "input_datetime.stop_laden_ev", "charge scheduler": { "entity set level": "number.ev_smart_charging_minimum_ev_soc", "level margin": 2, "entity ready datetime": "input_datetime.kia_niro_ready_time" }, "charge switch": "input_boolean.kia_niro_charge_enable", "entity set charging ampere": "input_number.kia_niro_set_charging_ampere" } ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.energy_consumed_tariff_1", "sensor.energy_consumed_tariff_2" ], "entities grid production": [ "sensor.energy_produced_tariff_1", "sensor.energy_produced_tariff_2" ], "entities solar production ac": [ "sensor.envoy_122126050988_today_s_energy_production" ], "entities solar production dc": [], "entities ev consumption" : [], "entities wp consumption" : ["sensor.warmtepomp_today_s_consumption"], "entities boiler consumption": [], "entities battery consumption": ["sensor.totaal_batterij_consumption_dao"], "entities battery production": ["sensor.totaal_batterij_production_dao"] }, "scheduler": { "active": "True", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } } |
Ik krijg netjes een optimalisatie grafiek, maar de wasmachine wordt niet ingepland, ik begrijp niet zo goed waarom niet.
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
| { "homeassistant": { "host": "192.168.60.3", "ip port": 8123, "token": "!secret ha_api_token" }, "database ha": { "engine": "mysql", "server": "192.168.60.3", "port": 3306, "database": "homeassistant", "username": "dao", "password": "!secret db_da_password" }, "database da": { "engine": "mysql", "server": "192.168.60.3", "port": 3306, "database": "dao", "username": "dao", "password": "!secret db_da_password" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2025-01-01": 0.10154 }, "energy taxes production": { "2025-01-01": 0.10154 }, "cost supplier consumption": { "2024-08-01": 0.020496 }, "cost supplier production": { "2024-08-01": 0.020496 }, "vat": { "2023-01-01": 21 }, "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": "2024-09-01", "tax refund": "True", "prices consumption": "True", "prices production": "False", "prices spot": "False", "average consumption": "False" }, "logging level" : "info", "use_calc_baseload": "True", "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", "prices consumption": "True", "prices production": "False", "prices spot": "false", "average consumption": "false" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 17 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "boiler": { "boiler present": "False" }, "heating": { "heater present": "False" }, "battery": [ ], "solar": [ { "name" : "main", "tilt": 50, "orientation": 160, "capacity": 9.0, "yield": 0.0180625, "entity pv switch": "input_boolean.pv_main_aan_uit" }], "electric vehicle": [ ], "machines" : [ { "name": "wasmachine", "programs":[ {"name": "Uit", "power": []}, {"name": "Kleur 40 graden", "power": [2000, 1500, 500, 400, 200, 300] }, {"name": "Donker 40 graden", "power": [1500, 1000, 500, 400, 200, 300,200, 300] } ], "entity start window": "input_datetime.start_window_wasmachine", "entity end window": "input_datetime.eind_window_wasmachine", "entity selected program": "input_select.wasmachine_programma", "entity calculated start": "input_datetime.berekende_start_wasmachine", "entity calculated end": "input_datetime.berekende_stop_wasmachine" } ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.p1_meter_energie_import_tarief_1", "sensor.p1_meter_energie_import_tarief_2" ], "entities grid production": [ "sensor.p1_meter_energie_export_tarief_1", "sensor.p1_meter_energie_export_tarief_2" ], "entities solar production ac": [ "sensor.solaredge_panel_production_daily" ], "entities solar production dc": [], "entities ev consumption" : [], "entities wp consumption" : [], "entities boiler consumption": [], "entities battery consumption": [], "entities battery production": [] }, "scheduler": { "active": "true", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } } |
Log
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
| 2025-06-20 15:20:17 info: Day Ahead Optimalisering versie: 2025.6.1 2025-06-20 15:20:17 info: Day Ahead Optimalisering gestart op: 20-06-2025 15:20:17 2025-06-20 15:20:17 info: Day Ahead Optimalisatie gestart: 20-06-2025 15:20:17 taak: calc_optimum 2025-06-20 15:20:17 info: Debug = False 2025-06-20 15:20:17 info: Zelf berekende baseload 2025-06-20 15:20:17 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 0 2025-06-21 00:00:00 0.291073 0.291073 0.290 0.000000 0 1 1 2025-06-21 01:00:00 0.281344 0.281344 0.296 0.000000 0 2 2 2025-06-21 02:00:00 0.278525 0.278525 0.278 0.000000 0 3 3 2025-06-21 03:00:00 0.276287 0.276287 0.266 0.000000 0 4 4 2025-06-21 04:00:00 0.280764 0.280764 0.268 0.000000 0 5 5 2025-06-21 05:00:00 0.274641 0.274641 0.274 0.054711 0 6 6 2025-06-21 06:00:00 0.269571 0.269571 0.223 0.935762 0 7 7 2025-06-21 07:00:00 0.257459 0.257459 1.009 1.152426 0 8 8 2025-06-21 08:00:00 0.239539 0.239539 1.128 1.197923 0 9 9 2025-06-21 09:00:00 0.175978 0.175978 1.632 1.186866 0 10 10 2025-06-21 10:00:00 0.148256 0.148256 0.007 1.217669 0 11 11 2025-06-21 11:00:00 0.145231 0.145231 2.312 1.323333 0 12 12 2025-06-21 12:00:00 0.132660 0.132660 4.314 1.498583 0 13 13 2025-06-21 13:00:00 0.116131 0.116131 4.602 1.751323 0 14 14 2025-06-21 14:00:00 0.114050 0.114050 1.517 2.051714 0 15 15 2025-06-21 15:00:00 0.144034 0.144034 1.061 2.350290 0 16 16 2025-06-21 16:00:00 0.147772 0.147772 1.253 2.579816 0 17 17 2025-06-21 17:00:00 0.220506 0.220506 0.853 2.687413 0 18 18 2025-06-21 18:00:00 0.269740 0.269740 1.102 2.541722 0 19 19 2025-06-21 19:00:00 0.302423 0.302423 1.429 2.109260 0 20 20 2025-06-21 20:00:00 0.337319 0.337319 3.260 1.224595 0 21 21 2025-06-21 21:00:00 0.348342 0.348342 3.092 0.295823 0 22 22 2025-06-21 22:00:00 0.318322 0.318322 2.656 0.000000 0 23 23 2025-06-21 23:00:00 0.292041 0.292041 0.840 0.000000 0 2025-06-20 15:20:18 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-06-20 15:20:18 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-06-20 15:20:18 info: Strategie: minimale kosten 2025-06-20 15:20:18 info: Het programma heeft een optimale oplossing gevonden. 2025-06-20 15:20:18 info: Niet geoptimaliseerd, kosten met day ahead tarieven: 2.27 2025-06-20 15:20:18 info: Geoptimaliseerd, kosten met day ahead tarieven: 2.24 2025-06-20 15:20:18 info: Levering: 16.95 (kWh) 2025-06-20 15:20:18 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem mach 0.00 0.00 0.00 0.19 0.00 0.29 0.00 0.00 0.00 0.00 0.06 -0.00 20.00 0.00 1.00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 0.00 2.00 0.00 0.00 0.28 0.00 0.28 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 0.00 3.00 0.00 0.00 0.27 0.00 0.27 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 0.00 4.00 0.00 0.00 0.27 0.00 0.27 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 0.00 5.00 0.00 0.00 0.22 0.00 0.27 0.00 0.00 0.00 0.05 0.06 -0.00 20.00 0.00 6.00 0.00 0.00 0.00 0.71 0.22 0.00 0.00 0.00 0.94 0.00 -0.19 20.00 0.00 7.00 0.00 0.00 0.00 0.14 1.01 0.00 0.00 0.00 1.15 0.00 -0.04 20.00 0.00 8.00 0.00 0.00 0.00 0.07 1.13 0.00 0.00 0.00 1.20 0.00 -0.02 20.00 0.00 9.00 0.00 0.00 0.45 0.00 1.63 0.00 0.00 0.00 1.19 0.08 -0.00 20.00 0.00 10.00 0.00 0.00 0.00 1.21 0.01 0.00 0.00 0.00 1.22 0.00 -0.18 20.00 0.00 11.00 0.00 0.00 0.99 0.00 2.31 0.00 0.00 0.00 1.32 0.14 -0.00 20.00 0.00 12.00 0.00 0.00 2.82 0.00 4.31 0.00 0.00 0.00 1.50 0.37 -0.00 20.00 0.00 13.00 0.00 0.00 2.85 0.00 4.60 0.00 0.00 0.00 1.75 0.33 -0.00 20.00 0.00 14.00 0.00 0.00 0.00 0.53 1.52 0.00 0.00 0.00 2.05 0.00 -0.06 20.00 0.00 15.00 0.00 0.00 0.00 1.29 1.06 0.00 0.00 0.00 2.35 0.00 -0.19 20.00 0.00 16.00 0.00 0.00 0.00 1.33 1.25 0.00 0.00 0.00 2.58 0.00 -0.20 20.00 0.00 17.00 0.00 0.00 0.00 1.83 0.85 0.00 0.00 0.00 2.69 0.00 -0.40 20.00 0.00 18.00 0.00 0.00 0.00 1.44 1.10 0.00 0.00 0.00 2.54 0.00 -0.39 20.00 0.00 19.00 0.00 0.00 0.00 0.68 1.43 0.00 0.00 0.00 2.11 0.00 -0.21 20.00 0.00 20.00 0.00 0.00 2.04 0.00 3.26 0.00 0.00 0.00 1.22 0.69 -0.00 20.00 0.00 21.00 0.00 0.00 2.80 0.00 3.09 0.00 0.00 0.00 0.30 0.97 -0.00 20.00 0.00 22.00 0.00 0.00 2.66 0.00 2.66 0.00 0.00 0.00 0.00 0.85 -0.00 20.00 0.00 23.00 0.00 0.00 0.84 0.00 0.84 0.00 0.00 0.00 0.00 0.25 -0.00 20.00 0.00 Totaal 0.00 0.00 16.95 9.24 33.96 0.00 0.00 0.00 26.16 4.10 -1.87 0.00 2025-06-20 15:20:18 info: Winst: € 0.03 2025-06-20 15:20:18 info: Doorzetten van alle settings naar HA 2025-06-20 15:20:18 info: Apparaat: wasmachine 2025-06-20 15:20:18 info: Programma: Kleur 40 graden 2025-06-20 15:20:18 info: Niet ingepland |
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
Zo te zien is je pv_ac een factor duizend te hoog en wordt die in HA geregistreerd in Wh ipv kWh.diamanten schreef op vrijdag 20 juni 2025 @ 14:10:
Ik zit nog even op de oude versie (versie 5), want wilde eerst alles goed hebben draaien. Ik zie ook wat vreemds mbt de baseloads: waarom is die vanaf 05:00 groter dan >38 kWh? Nb. de grip reports kloppen wel. [Afbeelding] [Afbeelding]
Mijn config is:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 { "homeassistant": { }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "notifications": { "notification entity": "input_text.dao_notificatie", "opstarten": "True", "berekening": "True", "last activity entity": "input_datetime.dao_laatste_activiteit" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "entsoe", "entsoe-api-key": "!secret entsoe-api-key", "regular high": 0.24, "regular low": 0.23, "switch to low": 23, "energy taxes delivery": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes redelivery": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "cost supplier delivery": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "cost supplier redelivery": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "vat": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "last invoice": "2025-04-01", "tax refund": "True" }, "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", "prices delivery": "True", "prices redelivery": "True", "average delivery": "True" }, "strategy": "minimize cost", "notifications": { "notification entity": "input_text.dao_notificatie", "opstarten": "True", "berekening": "True", "last activity entity": "input_datetime.dao_laatste_activiteit" }, "grid": { "max_power": 17 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "boiler": { "boiler present": "False", "entity actual temp.": "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": "EvaPower", "entity actual level": "sensor.gesimuleerde_evapower_soc_dao", "capacity": 3.072, "upper limit": 100, "lower limit": 10, "optimal lower level": 10, "entity set power feedin": "input_number.dao_feedin_grid", "entity calculated soc": "input_number.dao_entity_calculated_soc", "entity min soc end opt": "input_number.dao_entity_min_soc_end_eva", "cycle cost": 0.035, "dc_to_bat efficiency": 0.85, "bat_to_dc efficiency": 0.85, "minimum power": 120, "charge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100, "efficiency": 0.5 }, { "power": 800, "efficiency": 0.89 }, { "power": 1250, "efficiency": 0.85 }, { "power": 2000, "efficiency": 0.86 } ], "discharge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100, "efficiency": 0.5 }, { "power": 800, "efficiency": 0.92 }, { "power": 400, "efficiency": 0.85 }, { "power": 600, "efficiency": 0.88 } ], "solar": [] }, { "name": "Delta2Max", "entity actual level": "sensor.gesimuleerde_delta2max_soc", "capacity": 2.048, "upper limit": 100, "lower limit": 10, "optimal lower level": 10, "minimum power": 200, "dc_to_bat efficiency": 0.85, "bat_to_dc efficiency": 0.85, "cycle cost": 0.035, "entity set power feedin": "input_number.dao_feedin_grid_d2max", "entity calculated soc": "input_number.dao_entity_calculated_soc_d2max", "entity min soc end opt": "input_number.dao_entity_min_soc_end", "solar": [], "charge stages": [ { "power": 0, "efficiency": 1 }, { "power": 100, "efficiency": 0.85 }, { "power": 200, "efficiency": 0.88 }, { "power": 300, "efficiency": 0.90 }, { "power": 400, "efficiency": 0.91 }, { "power": 1200, "efficiency": 0.91 }, { "power": 1800, "efficiency": 0.90 } ], "discharge stages": [ { "power": 0, "efficiency": 1 }, { "power": 100, "efficiency": 0.92 }, { "power": 200, "efficiency": 0.93 }, { "power": 300, "efficiency": 0.93 }, { "power": 400, "efficiency": 0.92 }, { "power": 500, "efficiency": 0.90 }, { "power": 600, "efficiency": 0.88 } ] } ], "solar": [ { "name": "Enphase", "tilt": 30, "orientation": 200, "capacity": 11.680, "yield": 0.007, "entity pv switch": "input_boolean.solar_pv_on_off", "sensor history": "sensor.envoy_122126050988_lifetime_energy_production" } ], "electric vehicle": [ { "name": "Kia Niro EV", "capacity": 55, "entity position": "input_select.kia_locatie_dao", "entity max amperage": "input_number.niro_ac_max_ampere", "charge three phase": "True", "charge stages": [ { "ampere": 0, "efficiency": 1.00 }, { "ampere": 16, "efficiency": 0.95 } ], "entity actual level": "sensor.niro_ev_battery_level", "entity plugged in": "input_boolean.kia_ingeplugd_dao", "entity stop charging": "input_datetime.stop_laden_ev", "charge scheduler": { "entity set level": "number.ev_smart_charging_minimum_ev_soc", "level margin": 2, "entity ready datetime": "input_datetime.kia_niro_ready_time" }, "charge switch": "input_boolean.kia_niro_charge_enable", "entity set charging ampere": "input_number.kia_niro_set_charging_ampere" } ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.energy_consumed_tariff_1", "sensor.energy_consumed_tariff_2" ], "entities grid production": [ "sensor.energy_produced_tariff_1", "sensor.energy_produced_tariff_2" ], "entities solar production ac": [ "sensor.envoy_122126050988_today_s_energy_production" ], "entities solar production dc": [], "entities ev consumption" : [], "entities wp consumption" : ["sensor.warmtepomp_today_s_consumption"], "entities boiler consumption": [], "entities battery consumption": ["sensor.totaal_batterij_consumption_dao"], "entities battery production": ["sensor.totaal_batterij_production_dao"] }, "scheduler": { "active": "True", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } }
HA is zo slim om dat zelf te corrigeren in de rapportages in het energy Dashboard, maar DAO moet nog veel bijleren en is nog niet zo slim 🤔.
Je kunt een template sensor maken in HA, bijvoorbeeld
1
2
3
4
5
6
7
8
| sensor: - platform: template sensors: solaredge_energ_kWh: friendly_name: '"solar energy in kWh' unit_of_measurement: 'kWh' value_template: "{{ states('sensor.solaredge_energy') | float / 1000 }}" icon_template: mdi:solar-power |
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Wat staat er in de entities die je hebt geconfigureerd:f.welvering schreef op vrijdag 20 juni 2025 @ 15:22:
Ik ben weer even gaan stoeien met DAO en heb mijn wasmachine toegevoegd als machine.
Ik krijg netjes een optimalisatie grafiek, maar de wasmachine wordt niet ingepland, ik begrijp niet zo goed waarom niet.
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 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 { "homeassistant": { "host": "192.168.60.3", "ip port": 8123, "token": "!secret ha_api_token" }, "database ha": { "engine": "mysql", "server": "192.168.60.3", "port": 3306, "database": "homeassistant", "username": "dao", "password": "!secret db_da_password" }, "database da": { "engine": "mysql", "server": "192.168.60.3", "port": 3306, "database": "dao", "username": "dao", "password": "!secret db_da_password" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2025-01-01": 0.10154 }, "energy taxes production": { "2025-01-01": 0.10154 }, "cost supplier consumption": { "2024-08-01": 0.020496 }, "cost supplier production": { "2024-08-01": 0.020496 }, "vat": { "2023-01-01": 21 }, "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": "2024-09-01", "tax refund": "True", "prices consumption": "True", "prices production": "False", "prices spot": "False", "average consumption": "False" }, "logging level" : "info", "use_calc_baseload": "True", "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", "prices consumption": "True", "prices production": "False", "prices spot": "false", "average consumption": "false" }, "strategy": "minimize cost", "notifications": { }, "grid": { "max_power": 17 }, "history": { "save days": 7 }, "dashboard": { "port": 5000 }, "boiler": { "boiler present": "False" }, "heating": { "heater present": "False" }, "battery": [ ], "solar": [ { "name" : "main", "tilt": 50, "orientation": 160, "capacity": 9.0, "yield": 0.0180625, "entity pv switch": "input_boolean.pv_main_aan_uit" }], "electric vehicle": [ ], "machines" : [ { "name": "wasmachine", "programs":[ {"name": "Uit", "power": []}, {"name": "Kleur 40 graden", "power": [2000, 1500, 500, 400, 200, 300] }, {"name": "Donker 40 graden", "power": [1500, 1000, 500, 400, 200, 300,200, 300] } ], "entity start window": "input_datetime.start_window_wasmachine", "entity end window": "input_datetime.eind_window_wasmachine", "entity selected program": "input_select.wasmachine_programma", "entity calculated start": "input_datetime.berekende_start_wasmachine", "entity calculated end": "input_datetime.berekende_stop_wasmachine" } ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.p1_meter_energie_import_tarief_1", "sensor.p1_meter_energie_import_tarief_2" ], "entities grid production": [ "sensor.p1_meter_energie_export_tarief_1", "sensor.p1_meter_energie_export_tarief_2" ], "entities solar production ac": [ "sensor.solaredge_panel_production_daily" ], "entities solar production dc": [], "entities ev consumption" : [], "entities wp consumption" : [], "entities boiler consumption": [], "entities battery consumption": [], "entities battery production": [] }, "scheduler": { "active": "true", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } }
Log
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 2025-06-20 15:20:17 info: Day Ahead Optimalisering versie: 2025.6.1 2025-06-20 15:20:17 info: Day Ahead Optimalisering gestart op: 20-06-2025 15:20:17 2025-06-20 15:20:17 info: Day Ahead Optimalisatie gestart: 20-06-2025 15:20:17 taak: calc_optimum 2025-06-20 15:20:17 info: Debug = False 2025-06-20 15:20:17 info: Zelf berekende baseload 2025-06-20 15:20:17 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 0 2025-06-21 00:00:00 0.291073 0.291073 0.290 0.000000 0 1 1 2025-06-21 01:00:00 0.281344 0.281344 0.296 0.000000 0 2 2 2025-06-21 02:00:00 0.278525 0.278525 0.278 0.000000 0 3 3 2025-06-21 03:00:00 0.276287 0.276287 0.266 0.000000 0 4 4 2025-06-21 04:00:00 0.280764 0.280764 0.268 0.000000 0 5 5 2025-06-21 05:00:00 0.274641 0.274641 0.274 0.054711 0 6 6 2025-06-21 06:00:00 0.269571 0.269571 0.223 0.935762 0 7 7 2025-06-21 07:00:00 0.257459 0.257459 1.009 1.152426 0 8 8 2025-06-21 08:00:00 0.239539 0.239539 1.128 1.197923 0 9 9 2025-06-21 09:00:00 0.175978 0.175978 1.632 1.186866 0 10 10 2025-06-21 10:00:00 0.148256 0.148256 0.007 1.217669 0 11 11 2025-06-21 11:00:00 0.145231 0.145231 2.312 1.323333 0 12 12 2025-06-21 12:00:00 0.132660 0.132660 4.314 1.498583 0 13 13 2025-06-21 13:00:00 0.116131 0.116131 4.602 1.751323 0 14 14 2025-06-21 14:00:00 0.114050 0.114050 1.517 2.051714 0 15 15 2025-06-21 15:00:00 0.144034 0.144034 1.061 2.350290 0 16 16 2025-06-21 16:00:00 0.147772 0.147772 1.253 2.579816 0 17 17 2025-06-21 17:00:00 0.220506 0.220506 0.853 2.687413 0 18 18 2025-06-21 18:00:00 0.269740 0.269740 1.102 2.541722 0 19 19 2025-06-21 19:00:00 0.302423 0.302423 1.429 2.109260 0 20 20 2025-06-21 20:00:00 0.337319 0.337319 3.260 1.224595 0 21 21 2025-06-21 21:00:00 0.348342 0.348342 3.092 0.295823 0 22 22 2025-06-21 22:00:00 0.318322 0.318322 2.656 0.000000 0 23 23 2025-06-21 23:00:00 0.292041 0.292041 0.840 0.000000 0 2025-06-20 15:20:18 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-06-20 15:20:18 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-06-20 15:20:18 info: Strategie: minimale kosten 2025-06-20 15:20:18 info: Het programma heeft een optimale oplossing gevonden. 2025-06-20 15:20:18 info: Niet geoptimaliseerd, kosten met day ahead tarieven: 2.27 2025-06-20 15:20:18 info: Geoptimaliseerd, kosten met day ahead tarieven: 2.24 2025-06-20 15:20:18 info: Levering: 16.95 (kWh) 2025-06-20 15:20:18 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem mach 0.00 0.00 0.00 0.19 0.00 0.29 0.00 0.00 0.00 0.00 0.06 -0.00 20.00 0.00 1.00 0.00 0.00 0.30 0.00 0.30 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 0.00 2.00 0.00 0.00 0.28 0.00 0.28 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 0.00 3.00 0.00 0.00 0.27 0.00 0.27 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 0.00 4.00 0.00 0.00 0.27 0.00 0.27 0.00 0.00 0.00 0.00 0.08 -0.00 20.00 0.00 5.00 0.00 0.00 0.22 0.00 0.27 0.00 0.00 0.00 0.05 0.06 -0.00 20.00 0.00 6.00 0.00 0.00 0.00 0.71 0.22 0.00 0.00 0.00 0.94 0.00 -0.19 20.00 0.00 7.00 0.00 0.00 0.00 0.14 1.01 0.00 0.00 0.00 1.15 0.00 -0.04 20.00 0.00 8.00 0.00 0.00 0.00 0.07 1.13 0.00 0.00 0.00 1.20 0.00 -0.02 20.00 0.00 9.00 0.00 0.00 0.45 0.00 1.63 0.00 0.00 0.00 1.19 0.08 -0.00 20.00 0.00 10.00 0.00 0.00 0.00 1.21 0.01 0.00 0.00 0.00 1.22 0.00 -0.18 20.00 0.00 11.00 0.00 0.00 0.99 0.00 2.31 0.00 0.00 0.00 1.32 0.14 -0.00 20.00 0.00 12.00 0.00 0.00 2.82 0.00 4.31 0.00 0.00 0.00 1.50 0.37 -0.00 20.00 0.00 13.00 0.00 0.00 2.85 0.00 4.60 0.00 0.00 0.00 1.75 0.33 -0.00 20.00 0.00 14.00 0.00 0.00 0.00 0.53 1.52 0.00 0.00 0.00 2.05 0.00 -0.06 20.00 0.00 15.00 0.00 0.00 0.00 1.29 1.06 0.00 0.00 0.00 2.35 0.00 -0.19 20.00 0.00 16.00 0.00 0.00 0.00 1.33 1.25 0.00 0.00 0.00 2.58 0.00 -0.20 20.00 0.00 17.00 0.00 0.00 0.00 1.83 0.85 0.00 0.00 0.00 2.69 0.00 -0.40 20.00 0.00 18.00 0.00 0.00 0.00 1.44 1.10 0.00 0.00 0.00 2.54 0.00 -0.39 20.00 0.00 19.00 0.00 0.00 0.00 0.68 1.43 0.00 0.00 0.00 2.11 0.00 -0.21 20.00 0.00 20.00 0.00 0.00 2.04 0.00 3.26 0.00 0.00 0.00 1.22 0.69 -0.00 20.00 0.00 21.00 0.00 0.00 2.80 0.00 3.09 0.00 0.00 0.00 0.30 0.97 -0.00 20.00 0.00 22.00 0.00 0.00 2.66 0.00 2.66 0.00 0.00 0.00 0.00 0.85 -0.00 20.00 0.00 23.00 0.00 0.00 0.84 0.00 0.84 0.00 0.00 0.00 0.00 0.25 -0.00 20.00 0.00 Totaal 0.00 0.00 16.95 9.24 33.96 0.00 0.00 0.00 26.16 4.10 -1.87 0.00 2025-06-20 15:20:18 info: Winst: € 0.03 2025-06-20 15:20:18 info: Doorzetten van alle settings naar HA 2025-06-20 15:20:18 info: Apparaat: wasmachine 2025-06-20 15:20:18 info: Programma: Kleur 40 graden 2025-06-20 15:20:18 info: Niet ingepland
1
2
3
4
5
| "entity start window": "input_datetime.start_window_wasmachine", "entity end window": "input_datetime.eind_window_wasmachine", "entity selected program": "input_select.wasmachine_programma", "entity calculated start": "input_datetime.berekende_start_wasmachine", "entity calculated end": "input_datetime.berekende_stop_wasmachine" |
Misschien kun je er een screenshot van maken, zoals deze(?):
:strip_exif()/f/image/Afcrv9NOI876OXwUnDqIwKHh.png?f=user_large)
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Dank! Dat was het idd.KC27 schreef op vrijdag 20 juni 2025 @ 16:12:
[...]
Zo te zien is je pv_ac een factor duizend te hoog en wordt die in HA geregistreerd in Wh ipv kWh.
HA is zo slim om dat zelf te corrigeren in de rapportages in het energy Dashboard, maar DAO moet nog veel bijleren en is nog niet zo slim 🤔.
Je kunt een template sensor maken in HA, bijvoorbeeld
code:
1 2 3 4 5 6 7 8 sensor: - platform: template sensors: solaredge_energ_kWh: friendly_name: '"solar energy in kWh' unit_of_measurement: 'kWh' value_template: "{{ states('sensor.solaredge_energy') | float / 1000 }}" icon_template: mdi:solar-power
:strip_exif()/f/image/7fXfxt7Bbh0HrsQboHTD7tBD.jpg?f=fotoalbum_large)
:strip_exif()/f/image/8U3iAsPdPfxgQaW1EkGJn8kf.jpg?f=fotoalbum_large)
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
| "battery": [ { "name": "EvaPower", "entity actual level": "sensor.gesimuleerde_evapower_soc_dao", "capacity": 3.072, "upper limit": 100, "lower limit": 10, "optimal lower level": 10, "entity set power feedin": "input_number.dao_feedin_grid", "entity calculated soc": "input_number.dao_entity_calculated_soc", "entity min soc end opt": "input_number.dao_entity_min_soc_end_eva", "cycle cost": 0.035, "dc_to_bat efficiency": 0.85, "bat_to_dc efficiency": 0.85, "minimum power": 120, "charge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100, "efficiency": 0.5 }, { "power": 800, "efficiency": 0.89 }, { "power": 1250, "efficiency": 0.85 }, { "power": 2000, "efficiency": 0.86 } ], "discharge stages": [ { "power": 0.0, "efficiency": 1 }, { "power": 100, "efficiency": 0.5 }, { "power": 800, "efficiency": 0.92 }, { "power": 400, "efficiency": 0.85 }, { "power": 600, "efficiency": 0.88 } ], "solar": [] }, { "name": "Delta2Max", "entity actual level": "sensor.gesimuleerde_delta2max_soc", "capacity": 2.048, "upper limit": 100, "lower limit": 10, "optimal lower level": 10, "minimum power": 200, "dc_to_bat efficiency": 0.85, "bat_to_dc efficiency": 0.85, "cycle cost": 0.035, "entity set power feedin": "input_number.dao_feedin_grid_d2max", "entity calculated soc": "input_number.dao_entity_calculated_soc_d2max", "entity min soc end opt": "input_number.dao_entity_min_soc_end", "solar": [], "charge stages": [ { "power": 0, "efficiency": 1 }, { "power": 100, "efficiency": 0.85 }, { "power": 200, "efficiency": 0.88 }, { "power": 300, "efficiency": 0.90 }, { "power": 400, "efficiency": 0.91 }, { "power": 1200, "efficiency": 0.91 }, { "power": 1800, "efficiency": 0.90 } ], "discharge stages": [ { "power": 0, "efficiency": 1 }, { "power": 100, "efficiency": 0.92 }, { "power": 200, "efficiency": 0.93 }, { "power": 300, "efficiency": 0.93 }, { "power": 400, "efficiency": 0.92 }, { "power": 500, "efficiency": 0.90 }, { "power": 600, "efficiency": 0.88 } ] } ], |
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
| 2025-06-20 18:20:20 info: Day Ahead Optimalisering versie: 2025.5.0 2025-06-20 18:20:20 info: Day Ahead Optimalisering gestart op: 20-06-2025 18:20:20 2025-06-20 18:20:20 info: Day Ahead Optimalisatie gestart: 20-06-2025 18:20:20 taak: calc_optimum_met_debug 2025-06-20 18:20:21 info: Debug = True 2025-06-20 18:20:21 info: Baseload uit instellingen 2025-06-20 18:20:21 info: Start waarden: uur tijd p_l p_t base pv_ac pv_dc 0 18 2025-06-20 18:00:00 0.28225 0.28225 0.26 0.455437 0 1 19 2025-06-20 19:00:00 0.31150 0.31150 0.26 0.445756 0 2 20 2025-06-20 20:00:00 0.38335 0.38335 0.22 0.190385 0 3 21 2025-06-20 21:00:00 0.36381 0.36381 0.19 0.065479 0 4 22 2025-06-20 22:00:00 0.31349 0.31349 0.18 0.000000 0 5 23 2025-06-20 23:00:00 0.29453 0.29453 0.16 0.000000 0 6 0 2025-06-21 00:00:00 0.29107 0.29107 0.14 0.000000 0 7 1 2025-06-21 01:00:00 0.28134 0.28134 0.38 0.000000 0 8 2 2025-06-21 02:00:00 0.27853 0.27853 0.26 0.000000 0 9 3 2025-06-21 03:00:00 0.27629 0.27629 0.42 0.000000 0 10 4 2025-06-21 04:00:00 0.28076 0.28076 0.15 0.000000 0 11 5 2025-06-21 05:00:00 0.27464 0.27464 0.12 0.019709 0 12 6 2025-06-21 06:00:00 0.26957 0.26957 0.13 0.377679 0 13 7 2025-06-21 07:00:00 0.25746 0.25746 0.15 0.935443 0 14 8 2025-06-21 08:00:00 0.23954 0.23954 0.23 1.303114 0 15 9 2025-06-21 09:00:00 0.17598 0.17598 0.26 1.481980 0 16 10 2025-06-21 10:00:00 0.14826 0.14826 0.31 1.588647 0 17 11 2025-06-21 11:00:00 0.14523 0.14523 0.32 1.634771 0 18 12 2025-06-21 12:00:00 0.13266 0.13266 0.31 1.615815 0 19 13 2025-06-21 13:00:00 0.11613 0.11613 0.23 1.542076 0 20 14 2025-06-21 14:00:00 0.11405 0.11405 0.26 1.423206 0 21 15 2025-06-21 15:00:00 0.14403 0.14403 0.21 1.275006 0 22 16 2025-06-21 16:00:00 0.14777 0.14777 0.21 1.100370 0 23 17 2025-06-21 17:00:00 0.22051 0.22051 0.54 0.912527 0 24 18 2025-06-21 18:00:00 0.26974 0.26974 0.26 0.711078 0 25 19 2025-06-21 19:00:00 0.30242 0.30242 0.26 0.504124 0 26 20 2025-06-21 20:00:00 0.33732 0.33732 0.22 0.279139 0 27 21 2025-06-21 21:00:00 0.34834 0.34834 0.19 0.085420 0 28 22 2025-06-21 22:00:00 0.31832 0.31832 0.18 0.000000 0 29 23 2025-06-21 23:00:00 0.29204 0.29204 0.16 0.000000 0 2025-06-20 18:20:37 info: Verbruik dit contractjaar: 645.898 kWh 2025-06-20 18:20:37 info: Productie dit contractjaar: 2739.942 kWh 2025-06-20 18:20:37 info: All taxes refund (alles wordt gesaldeerd) 2025-06-20 18:20:39 info: No reduced hours applied for EvaPower 2025-06-20 18:20:39 info: Startwaarde SoC EvaPower: 45.0% 2025-06-20 18:20:39 info: No reduced hours applied for Delta2Max 2025-06-20 18:20:39 info: Startwaarde SoC Delta2Max: 78.0% 2025-06-20 18:20:39 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland 2025-06-20 18:20:39 info: Instellingen voor laden van EV: Kia Niro EV 2025-06-20 18:20:39 info: Ampere Effic. Grid kW Accu kW 2025-06-20 18:20:39 info: 0.00 1.00 0.00 0.00 2025-06-20 18:20:39 info: 16.00 0.95 11.04 10.49 2025-06-20 18:20:39 info: Capaciteit accu: 55 kWh 2025-06-20 18:20:39 info: Maximaal laadvermogen: 11.04 kW 2025-06-20 18:20:39 info: Klaar met laden op: 21-06-2025 18:50:00 2025-06-20 18:20:39 info: Huidig laadniveau: 98.0 % 2025-06-20 18:20:39 info: Gewenst laadniveau:100.0 % 2025-06-20 18:20:39 info: Marge voor het laden: 2 % 2025-06-20 18:20:39 info: Locatie: home 2025-06-20 18:20:39 info: Ingeplugged:True 2025-06-20 18:20:39 info: Benodigde energie: 1.1 kWh 2025-06-20 18:20:39 info: Tijd nodig om te laden: 0.10 uur 2025-06-20 18:20:40 info: Afgerond naar hele uren: 1 2025-06-20 18:20:40 info: Stand laden schakelaar: off 2025-06-20 18:20:40 info: Stand aantal ampere laden: 0.0 A 2025-06-20 18:20:40 info: Opladen wordt niet ingepland, omdat werkelijk niveau (98.0%) hoger is of gelijk aan gewenst niveau (100.0% minus de marge 2%). 2025-06-20 18:20:40 info: Warmtepomp niet aanwezig of enabled - warmtepomp wordt niet ingepland 2025-06-20 18:20:41 info: Strategie: minimale kosten 2025-06-20 18:20:41 info: Het programma heeft een optimale oplossing gevonden. 2025-06-20 18:20:41 info: Geen saldeer correctie 2025-06-20 18:20:41 info: Niet geoptimaliseerd, kosten met reguliere tarieven: -4.32 2025-06-20 18:20:41 info: Niet geoptimaliseerd, kosten met day ahead tarieven: -1.57 2025-06-20 18:20:41 info: Geoptimaliseerd, kosten met day ahead tarieven: -1.88 2025-06-20 18:20:41 info: Levering: 2.59 (kWh) 2025-06-20 18:20:41 info: In- en uitgaande energie per uur batterij EvaPower uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 18 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 45.00 19 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 45.00 20 -0.40 92.00 -0.43 0.00 -0.43 85.00 -0.51 78.20 28.35 21 -0.40 92.00 -0.43 0.00 -0.43 85.00 -0.51 78.20 11.70 22 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 23 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 0 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 1 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 2 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 3 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 4 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 5 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 6 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 7 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 8 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 9 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 10 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 11 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 11.70 12 0.40 91.00 0.36 0.00 0.36 85.00 0.31 77.35 21.77 13 0.40 91.00 0.36 0.00 0.36 85.00 0.31 77.35 31.84 14 0.40 91.00 0.36 0.00 0.36 85.00 0.31 77.35 41.91 15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 41.91 16 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 41.91 17 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 41.91 18 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 41.91 19 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 41.91 20 -0.37 92.00 -0.40 0.00 -0.40 85.00 -0.47 78.20 26.65 21 -0.40 92.00 -0.43 0.00 -0.43 85.00 -0.51 78.20 10.00 22 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 23 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 Totaal -0.37 -- -0.61 0.00 -0.61 -- -1.08 -- 2025-06-20 18:20:41 info: In- en uitgaande energie per uur batterij Delta2Max uur ac-> eff ->dc pv->dc dc-> eff ->bat o_eff SoC kWh % kWh kWh kWh % kWh % % 18 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 78.00 19 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 78.00 20 -0.50 90.00 -0.56 0.00 -0.56 85.00 -0.65 76.50 46.09 21 -0.50 90.00 -0.56 0.00 -0.56 85.00 -0.65 76.50 14.17 22 -0.07 92.00 -0.07 0.00 -0.07 85.00 -0.09 78.20 10.00 23 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 0 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 1 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 2 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 3 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 4 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 5 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 6 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 7 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 8 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 9 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 10 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 11 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 12 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 13 1.18 91.00 1.08 0.00 1.08 85.00 0.92 77.35 54.68 14 1.20 91.00 1.09 0.00 1.09 85.00 0.93 77.35 100.00 15 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 16 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 17 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 18 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 100.00 19 -0.13 93.00 -0.14 0.00 -0.14 85.00 -0.17 79.05 91.87 20 -0.40 92.00 -0.43 0.00 -0.43 85.00 -0.51 78.20 66.89 21 -0.50 90.00 -0.56 0.00 -0.56 85.00 -0.65 76.50 34.98 22 -0.40 92.00 -0.43 0.00 -0.43 85.00 -0.51 78.20 10.00 23 0.00 -- 0.00 0.00 0.00 -- 0.00 -- 10.00 Totaal -0.12 -- -0.58 0.00 -0.58 -- -1.39 -- 2025-06-20 18:20:41 info: Berekende prognoses zijn niet opgeslagen. 2025-06-20 18:20:41 info: Berekende prognoses: uur bat_in bat_out cons prod base boil wp ev pv_ac cost profit b_tem 18.00 0.00 0.00 0.00 0.28 0.26 0.00 0.00 0.00 0.46 0.00 -0.08 20.00 19.00 0.00 0.00 0.00 0.19 0.26 0.00 0.00 0.00 0.45 0.00 -0.06 20.00 20.00 0.00 0.90 0.00 0.87 0.22 0.00 0.00 0.00 0.19 0.00 -0.33 20.00 21.00 0.00 0.90 0.00 0.78 0.19 0.00 0.00 0.00 0.07 0.00 -0.28 20.00 22.00 0.00 0.07 0.11 0.00 0.18 0.00 0.00 0.00 0.00 0.04 -0.00 20.00 23.00 0.00 0.00 0.16 0.00 0.16 0.00 0.00 0.00 0.00 0.05 -0.00 20.00 0.00 0.00 0.00 0.14 0.00 0.14 0.00 0.00 0.00 0.00 0.04 -0.00 20.00 1.00 0.00 0.00 0.38 0.00 0.38 0.00 0.00 0.00 0.00 0.11 -0.00 20.00 2.00 0.00 0.00 0.26 0.00 0.26 0.00 0.00 0.00 0.00 0.07 -0.00 20.00 3.00 0.00 0.00 0.42 0.00 0.42 0.00 0.00 0.00 0.00 0.12 -0.00 20.00 4.00 0.00 0.00 0.15 0.00 0.15 0.00 0.00 0.00 0.00 0.04 -0.00 20.00 5.00 0.00 0.00 0.10 0.00 0.12 0.00 0.00 0.00 0.02 0.03 -0.00 20.00 6.00 0.00 0.00 0.00 0.25 0.13 0.00 0.00 0.00 0.38 0.00 -0.07 20.00 7.00 0.00 0.00 0.00 0.79 0.15 0.00 0.00 0.00 0.94 0.00 -0.20 20.00 8.00 0.00 0.00 0.00 1.07 0.23 0.00 0.00 0.00 1.30 0.00 -0.26 20.00 9.00 0.00 0.00 0.00 1.22 0.26 0.00 0.00 0.00 1.48 0.00 -0.22 20.00 10.00 0.00 0.00 0.00 1.28 0.31 0.00 0.00 0.00 1.59 0.00 -0.19 20.00 11.00 0.00 0.00 0.00 1.31 0.32 0.00 0.00 0.00 1.63 0.00 -0.19 20.00 12.00 0.40 0.00 0.00 0.91 0.31 0.00 0.00 0.00 1.62 0.00 -0.12 20.00 13.00 1.58 0.00 0.27 0.00 0.23 0.00 0.00 0.00 1.54 0.03 0.00 20.00 14.00 1.60 0.00 0.44 0.00 0.26 0.00 0.00 0.00 1.42 0.05 0.00 20.00 15.00 0.00 0.00 0.00 1.07 0.21 0.00 0.00 0.00 1.28 0.00 -0.15 20.00 16.00 0.00 0.00 0.00 0.89 0.21 0.00 0.00 0.00 1.10 0.00 -0.13 20.00 17.00 0.00 0.00 0.00 0.37 0.54 0.00 0.00 0.00 0.91 0.00 -0.08 20.00 18.00 0.00 0.00 0.00 0.45 0.26 0.00 0.00 0.00 0.71 0.00 -0.12 20.00 19.00 0.00 0.13 0.00 0.38 0.26 0.00 0.00 0.00 0.50 0.00 -0.11 20.00 20.00 0.00 0.77 0.00 0.83 0.22 0.00 0.00 0.00 0.28 0.00 -0.28 20.00 21.00 0.00 0.90 0.00 0.80 0.19 0.00 0.00 0.00 0.09 0.00 -0.28 20.00 22.00 0.00 0.40 0.00 0.22 0.18 0.00 0.00 0.00 0.00 0.00 -0.07 20.00 23.00 0.00 0.00 0.16 0.00 0.16 0.00 0.00 0.00 0.00 0.05 -0.00 20.00 Totaal 3.58 4.07 2.59 13.94 7.17 0.00 0.00 0.00 17.95 0.62 -3.22 2025-06-20 18:20:41 info: Winst: € 0.31 2025-06-20 18:20:41 info: Onderstaande settings worden NIET doorgezet naar HA 2025-06-20 18:20:41 info: Berekeningsuitkomst voor opladen van Kia Niro EV: 2025-06-20 18:20:41 info: - aantal ampere 0A (was 0.0A) 2025-06-20 18:20:41 info: - stand schakelaar 'off' (was 'off') 2025-06-20 18:20:41 info: - positie: home 2025-06-20 18:20:41 info: - ingeplugd: True 2025-06-20 18:20:41 info: Evaluatie status laden Kia Niro EV op 2025-06-20 18:20 2025-06-20 18:20:41 info: - schakelaar laden: off 2025-06-20 18:20:41 info: - aantal ampere: 0.0 2025-06-20 18:20:41 info: Grid set point: -429.0 W 2025-06-20 18:20:41 info: Cycle cost EvaPower: 0.10 euro 2025-06-20 18:20:41 info: Netto vermogen naar(+)/uit(-) batterij EvaPower zou zijn: 0 W 2025-06-20 18:20:41 info: Balanceren zou zijn: False 2025-06-20 18:20:41 info: Grid set point: -429.0 W 2025-06-20 18:20:41 info: Cycle cost Delta2Max: 0.17 euro 2025-06-20 18:20:41 info: Netto vermogen naar(+)/uit(-) batterij Delta2Max zou zijn: 0 W 2025-06-20 18:20:41 info: Balanceren zou zijn: False |
[ Voor 80% gewijzigd door diamanten op 20-06-2025 18:41 ]
Ik snap na het zien van jou screenshot wat ik fout deed.KC27 schreef op vrijdag 20 juni 2025 @ 16:23:
[...]
Wat staat er in de entities die je hebt geconfigureerd:
code:
1 2 3 4 5 "entity start window": "input_datetime.start_window_wasmachine", "entity end window": "input_datetime.eind_window_wasmachine", "entity selected program": "input_select.wasmachine_programma", "entity calculated start": "input_datetime.berekende_start_wasmachine", "entity calculated end": "input_datetime.berekende_stop_wasmachine"
Misschien kun je er een screenshot van maken, zoals deze(?):
[Afbeelding]
Ik had niet door dat het window ingesteld moest worden, ik had de aanname gedaan dat dit door DAO gedaan werd. Nu ik het window tussen 7 en 19 heb gezet krijg ik wel een berekende start en stop tijd
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
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Soms zegt een plaatje meer dan 100 woordenf.welvering schreef op vrijdag 20 juni 2025 @ 19:44:
[...]
Ik snap na het zien van jou screenshot wat ik fout deed.
Ik had niet door dat het window ingesteld moest worden, ik had de aanname gedaan dat dit door DAO gedaan werd. Nu ik het window tussen 7 en 19 heb gezet krijg ik wel een berekende start en stop tijd
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
jazeker. ik doe 1 run voor mijn boiler per dag. deze laat ik DAO uitrekenen en aansturen. werkt bijna perfect.hemertje schreef op vrijdag 20 juni 2025 @ 21:22:
zijn er hier DAO-gebruikers die ook Panasonic warmtepomp hebben en ook @edterbak zijn Node Red gebruiken i.c.m. DAO?
De BMS dicteert de maximale laad en ontlaad stroomsterktes.
Als de Smartsolar al met 6kW aan het laden is, en DAO wil graag met 10kW laden, dan wordt het laadvermogen van de multiplussen begrensd doordat de maximale laadstroom overschreden wordt. De regeling verwacht in totaal 16kWh de accu's in te stoppen, in werkelijkheid is dat dan bijvoorbeeld 12kWh.
Is hier in de configuratie iets aan te doen?
32 kWp PV + 54kWh ESS+ 7.5 kW Mitsubishi Ecodan
Je kunt met de instellingen bat_to_dc max power en dc_to_bat max power het maximale vermogen van en naar de batterij (de cellen) begrenzen zie DOCS.md. Als je die optionele instellingen opgeeft zal DAO die bij de berekening respecteren.mightym schreef op zaterdag 21 juni 2025 @ 16:28:
@KC27 Ik maak al ruim een jaar gebruik van jouw addon en ik ben erg tevreden over de werking. Ik loop tegen een configuratie dingetje aan. Mijn accu wordt geladen door 3 multiplussen en via een victron smartsolar wordt er maximaal 6kW via DC direct geladen.
De BMS dicteert de maximale laad en ontlaad stroomsterktes.
Als de Smartsolar al met 6kW aan het laden is, en DAO wil graag met 10kW laden, dan wordt het laadvermogen van de multiplussen begrensd doordat de maximale laadstroom overschreden wordt. De regeling verwacht in totaal 16kWh de accu's in te stoppen, in werkelijkheid is dat dan bijvoorbeeld 12kWh.
Is hier in de configuratie iets aan te doen?
Ben je hiermee geholpen?
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
1. mijn HA database is incorrect
2. mijn DOA database is incorrect.
Ik draai op HA MariaDB via add-on. Zo heb ik ook DOA geinstallerd. Ik begreep uit de handleiding dat ik dan niets hoefde aan te passen. Ik heb wat betreft punt 1 nog gecontroleerd of de gegevens uit de MariaDB config overeen komen (databasenaam en gebruikersnaam = homeassistant, password komt overeen met secrets.yaml). Ik begreep uit de handleiding dat ik "mysql" niet hoefde aan te passen als ik mariadb draaide. Is dat correct?
Hieronder de foutmeldingen:
1
2
3
4
5
6
7
8
9
10
11
12
| => directory dao_data made, files copied => /root/dao/data doesn't exist, made => /root/dao/webserver/app/static/data exist Setting up watches. Watches established. [2025-06-21 16:02:56 +0200] [15] [INFO] Starting gunicorn 23.0.0 [2025-06-21 16:02:56 +0200] [15] [INFO] Listening at: http://0.0.0.0:5000 (15) [2025-06-21 16:02:56 +0200] [15] [INFO] Using worker: sync [2025-06-21 16:02:57 +0200] [25] [INFO] Booting worker with pid: 25 [2025-06-21 16:02:57 +0200] [26] [INFO] Booting worker with pid: 26 fout:root:Check your settings for Home Assistant database fout:root:Check your settings for day_ahead database |
En de config:
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
| { "homeassistant": { }, "database ha": { "engine": "mysql", "database": "homeassistant", "username": "homeassistant", "password": "!secret db_ha_password" }, "database da": { "engine" : "mysql", "database": "day_ahead", "username": "day_ahead", "password": "!secret db_da_password" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes production": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "cost supplier consumption": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "cost supplier production": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "vat consumption": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "vat production": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "last invoice": "2022-09-01", "tax refund": "True" }, "logging level" : "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.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": [ ], "solar": [ ], "electric vehicle": [ ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.grid_consumption_low", "sensor.grid_consumption_high" ], "entities grid production": [ "sensor.grid_production_low", "sensor.grid_production_high" ], "entities solar production ac": [ "sensor.solaredge_woning_ac_energy_kwh" ], "entities solar production dc": [], "entities ev consumption" : ["sensor.laadpunt_total_energy"], "entities wp consumption" : [], "entities boiler consumption": [], "entities battery consumption": ["sensor.ess_grid_consumption"], "entities battery production": ["sensor.ess_grid_production"] }, "scheduler": { "active": "false", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } } |
De db_da_password heb ik in de DOA secret config aangepast net als de aanpassingen voor db_ha_password.
Als ik meteogegevens ophalen doe onder run krijg ik de volgende foutmeldingen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Logging van bewerking "Meteoprognoses ophalen": fout:root:Check your settings for day_ahead database Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 3429, in <module> main() File "/root/dao/webserver/../prog/day_ahead.py", line 3392, in main da_calc = DaCalc("../data/options.json") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/webserver/../prog/day_ahead.py", line 28, in __init__ super().__init__(file_name=file_name) File "/root/dao/prog/da_base.py", line 202, in __init__ self.db_da.log_pool_status() ^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'log_pool_status' |
Nu suggereren de foutmeldingen dat mijn wachtwoord voor de DOA database niet correct zijn. Maar deze heb ik toch echt maar 1x ingesteld en later niet veranderd. Is er ergens een plek waar ik het wachtwoord voor de DOA database toch kan achterhalen of opnieuw kan instellen?
Ik heb DOA al een keer verwijder en HA opnieuw opgestart dat deed niet de truc
PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP
Die had ik nog niet gevonden, ik ga het proberen!KC27 schreef op zaterdag 21 juni 2025 @ 21:31:
[...]
Je kunt met de instellingen bat_to_dc max power en dc_to_bat max power het maximale vermogen van en naar de batterij (de cellen) begrenzen zie DOCS.md. Als je die optionele instellingen opgeeft zal DAO die bij de berekening respecteren.
Ben je hiermee geholpen?
32 kWp PV + 54kWh ESS+ 7.5 kW Mitsubishi Ecodan
Ik draai ook mariadb als addon.Impossibl3 schreef op zaterdag 21 juni 2025 @ 22:02:
Ik ben vandaag ook gestart met de DOA installatie alleen loop ik bij het begin al tegen twee foutmeldingen aan.
1. mijn HA database is incorrect
2. mijn DOA database is incorrect.
Ik draai op HA MariaDB via add-on. Zo heb ik ook DOA geinstallerd. Ik begreep uit de handleiding dat ik dan niets hoefde aan te passen. Ik heb wat betreft punt 1 nog gecontroleerd of de gegevens uit de MariaDB config overeen komen (databasenaam en gebruikersnaam = homeassistant, password komt overeen met secrets.yaml). Ik begreep uit de handleiding dat ik "mysql" niet hoefde aan te passen als ik mariadb draaide. Is dat correct?
Hieronder de foutmeldingen:
code:
1 2 3 4 5 6 7 8 9 10 11 12 => directory dao_data made, files copied => /root/dao/data doesn't exist, made => /root/dao/webserver/app/static/data exist Setting up watches. Watches established. [2025-06-21 16:02:56 +0200] [15] [INFO] Starting gunicorn 23.0.0 [2025-06-21 16:02:56 +0200] [15] [INFO] Listening at: http://0.0.0.0:5000 (15) [2025-06-21 16:02:56 +0200] [15] [INFO] Using worker: sync [2025-06-21 16:02:57 +0200] [25] [INFO] Booting worker with pid: 25 [2025-06-21 16:02:57 +0200] [26] [INFO] Booting worker with pid: 26 fout:root:Check your settings for Home Assistant database fout:root:Check your settings for day_ahead database
En de 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 { "homeassistant": { }, "database ha": { "engine": "mysql", "database": "homeassistant", "username": "homeassistant", "password": "!secret db_ha_password" }, "database da": { "engine" : "mysql", "database": "day_ahead", "username": "day_ahead", "password": "!secret db_da_password" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes production": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "cost supplier consumption": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "cost supplier production": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2024-08-01": 0.020496 }, "vat consumption": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "vat production": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "last invoice": "2022-09-01", "tax refund": "True" }, "logging level" : "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.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": [ ], "solar": [ ], "electric vehicle": [ ], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.grid_consumption_low", "sensor.grid_consumption_high" ], "entities grid production": [ "sensor.grid_production_low", "sensor.grid_production_high" ], "entities solar production ac": [ "sensor.solaredge_woning_ac_energy_kwh" ], "entities solar production dc": [], "entities ev consumption" : ["sensor.laadpunt_total_energy"], "entities wp consumption" : [], "entities boiler consumption": [], "entities battery consumption": ["sensor.ess_grid_consumption"], "entities battery production": ["sensor.ess_grid_production"] }, "scheduler": { "active": "false", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } }
De db_da_password heb ik in de DOA secret config aangepast net als de aanpassingen voor db_ha_password.
Als ik meteogegevens ophalen doe onder run krijg ik de volgende foutmeldingen:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Logging van bewerking "Meteoprognoses ophalen": fout:root:Check your settings for day_ahead database Traceback (most recent call last): File "/root/dao/webserver/../prog/day_ahead.py", line 3429, in <module> main() File "/root/dao/webserver/../prog/day_ahead.py", line 3392, in main da_calc = DaCalc("../data/options.json") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/dao/webserver/../prog/day_ahead.py", line 28, in __init__ super().__init__(file_name=file_name) File "/root/dao/prog/da_base.py", line 202, in __init__ self.db_da.log_pool_status() ^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'log_pool_status'
Nu suggereren de foutmeldingen dat mijn wachtwoord voor de DOA database niet correct zijn. Maar deze heb ik toch echt maar 1x ingesteld en later niet veranderd. Is er ergens een plek waar ik het wachtwoord voor de DOA database toch kan achterhalen of opnieuw kan instellen?
Ik heb DOA al een keer verwijder en HA opnieuw opgestart dat deed niet de truc
In mijn dao-addon heb ik de volgende instellingen:
1
2
3
4
5
6
| "database da": { "password": "!secret db_da_password" }, "database ha": { "password": "!secret db_ha_password" }, |
Omdat alle instellingen (behalve natuurlijk het wachtwoord) zoals ik die heb (exact hetzelfde als de jouwe) default zijn.
Ik heb op mijn laptop een ontwikkelomgeving en daar moet ik wel alles invullen. Bijvoorbeeld:
1
2
3
4
5
6
7
8
| "database da": { "engine": "mysql", "server": "192.168.178.36", "port": 3306, "database": "day_ahead", "username": "day_ahead", "password": "!secret db_da_password" }, |
Verder is het belangrijk dat je de rechten van de accounts in mariadb goed hebt staan.
Je kunt dat checken en goed zetten met de phpmyadmin-addon:
/f/image/RE33mtHkdj6nEhxj4ZOtnoWf.png?f=fotoalbum_large)
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
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
sjampeter schreef op zaterdag 21 juni 2025 @ 10:08:
[...]
jazeker. ik doe 1 run voor mijn boiler per dag. deze laat ik DAO uitrekenen en aansturen. werkt bijna perfect.
zou je @edterbak kunnen helpen met het de manier van Helpers aanmaken ?
Ed (en ik ook niet) heeft geen ervaring met DAO en/of HACS
maar een mooie integratie tussen beide tools DAO en Ed's Node Red zou super gaaf zijn
zie zijn verzoek hier:
edterbak in "Heishamon <> Node Red voor Panasonic warmtepompen"
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Super bedankt! Bleek dat mijn homeassistant niet alle rechten had. Daarnaast handmatig maar even een database aangemaakt via phpmyadmin en toen deed die het goed met het ophalen van de weergegevens!KC27 schreef op zaterdag 21 juni 2025 @ 22:34:
[...]
Ik draai ook mariadb als addon.
In mijn dao-addon heb ik de volgende instellingen:
code:
1 2 3 4 5 6 "database da": { "password": "!secret db_da_password" }, "database ha": { "password": "!secret db_ha_password" },
Omdat alle instellingen (behalve natuurlijk het wachtwoord) zoals ik die heb (exact hetzelfde als de jouwe) default zijn.
Ik heb op mijn laptop een ontwikkelomgeving en daar moet ik wel alles invullen. Bijvoorbeeld:
code:
1 2 3 4 5 6 7 8 "database da": { "engine": "mysql", "server": "192.168.178.36", "port": 3306, "database": "day_ahead", "username": "day_ahead", "password": "!secret db_da_password" },
Verder is het belangrijk dat je de rechten van de accounts in mariadb goed hebt staan.
Je kunt dat checken en goed zetten met de phpmyadmin-addon:
[Afbeelding]
Nu weer verder puzzelen.
PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP
Dit staat er in de changelog:
2025.6.2
- introduction new buildsystem (thanks @simnet )
- repair vat delivery -> vat consumption, vat redelivery -> vat production
Deprecating i386, coming breaking change
In the next coming version (2025.7.0) machines with i386-processor will not be supported anymore.Some necessary modules (o.a. cryptography) are not available for the i386 architecture.
There are a few users with this processor (5 of ca 200).
Please look out for another machine with an amd64 or aarch64 processor (perhaps a separate Docker-container on your NAS).
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Dat is niet mijn use-case (of ik snap het niet). Ik zal proberen het duidelijker te noteren. Het gaat me hierbij niet om de exacte uitkomst van DAO vandaag, maar hoe een veld soms een gewenste en soms een ongewenste beperking is. Vandaag is een mooi voorbeeld:KC27 schreef op donderdag 19 juni 2025 @ 13:38:
@storeman
Bij een hybride omvormer heb je twee instellingen waarmee je het laden en ontladen kunt beperken:
De eerste heb je net genoemd
Er is nog een tweede: bat_to_dc max power en dc_to_bat max power, zie DOCS.md.
Ben je hiermee geholpen?
Om 9u, iets hogere energieprijs
de accu zou geladen moeten met 1KW (hoger rendement in config), de rest mag terug het net in. Dus 'charge from PV' is dan 1KW.
Om 14 uur is de stroomprijs lager, DAO wil nog niet van AC laden, maar er is ook weinig zon voorspeld. DAO charge from PV is nu ook 1KW, maar dat komt door de verwachte instraling. Mocht de zon ineens doorbreken, dan wil ik alles in de accu stoppen, niet: slechts 1KW laden en de rest het net invoeden.
"Chaos kan niet uit de hand lopen"
ik ben ook (soort van) actief in dat draadje van edterbak, echter stel je eigen er niet teveel van voor hoor.hemertje schreef op zaterdag 21 juni 2025 @ 22:45:
[...]
![]()
zou je @edterbak kunnen helpen met het de manier van Helpers aanmaken ?
Ed (en ik ook niet) heeft geen ervaring met DAO en/of HACS
maar een mooie integratie tussen beide tools DAO en Ed's Node Red zou super gaaf zijn
zie zijn verzoek hier:
edterbak in "Heishamon <> Node Red voor Panasonic warmtepompen"
zeker niet van mijn programeercapaciteiten haha.
wat ik eigenlijk doe is het volgende.
ik geef in de instellingen van DAO aan, dat een dhw run ongeveer 9 kwartier duurt.
DAO rekent voor mij dan het beste tijdstip voor die run uit.
dit tijdstip komt in de entity "calculated start"
deze entitie lees ik in in Node-red, welke (met waarschijnlijk veel te veel omwegen) enkele external link nodes in "WP input" aciveert.
op manier wordt door DAO de dhw run aangestuurd.
qua verwarming doe ik helemaal niks, aangezien bij mij de wp, als het koud is, toch nagenoeg full-time moet draaien. enkel nachtverlaging pas ik soms toe, maar dat gaat gewoon via heishamon flow.
als je wil kan ik de node-red flow wel prive met je delen. moet wel nog opgepoetst worden eigenlijk. nog niet aan toegekomen. laat maar horen.
Het was even puzzelen, maar volgens mij heb ik de setup nu werkend.
Even wat over de setup:
1x Victron MultiPlus-II 48/5000/70-48
1x JK BMS 200a i.c.m. 16x Envision ESS 72173207 305Ah - LiFePO4 - 3.2V B-grade (16Kwh)
10x op het Oosten Canadian solar 295wp met een SAJ omvormer
14x op het westen Jinko Solar 375wp met een KOPP omvormer
1x Victron EV charger
Zonneplan met dynamisch contract
Het huis zit op de AC-out van de Victron, alleen de PV west en de EV charger zitten op de non-critical loads.
de 10 panelen van het oosten bewust wel op de AC-out, zodat in island mode ik de accu nog kan laden met solar.
Verbruikers:
1x Tesla model Y standard range (60 kwh)
1x Elektrisch boiler Tesy bellislimo 100 (volgende week aangesloten)
2x Airco's (moeten nog in DAO worden)
Victron is via MQTT aan Home Assistant gekoppeld. En ik gebruik geen Node-red.
Reden voor gebruik DAO is voornamelijk het slimmer aansturen van de verbruikers, zonder zelf 100 automations te hoeven schrijven. DESS kwam hier toch wel te kort, als je ook je verbruikers op slimme momenten kan aanzetten. Nu had ik bij negatieve prijzen dat ik zelf handmatig (lees via de app) dingen ging aanzetten om stroom te verbruiken.
Vannacht zag ik alleen iets interessants, namelijk de GridSetpoint niet niet helemaal logisch in mijn ogen. Deze is s'nachts Negatief, terwijl volgens de strategie deze positief zou moeten zijn toch? Het enige wat ik kan verzinnen, is dat de SOC op 20% stond inplaats van 10%.
Ik had een verschil tussen de min SOC in victron, en DAO. Deze staan nu gelijk op 20% min soc. Zou DAO de accu alsnog naar de 10% willen krijgen?
:strip_exif()/f/image/ineIch0spHZeWvFlsNQQy4PT.png?f=user_large)
/f/image/eK5H18DEDguHcT2RGCadthbK.png?f=fotoalbum_large)
Mijn DAO Config:
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
| { "homeassistant": { }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "entsoe-api-key": "!secret entsoe-api-key", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes production": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "cost supplier consumption": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2025-01-01": 0.01653 }, "cost supplier production": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2025-01-01": 0.01653 }, "vat delivery": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "vat redelivery": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "vat": { "2025-01-01": 21 }, "last invoice": "2024-09-01", "tax refund": "True" }, "logging level" : "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.35, 0.35, 0.35, 0.35, 0.35, 0.38, 0.45, 0.65, 0.70, 0.40, 0.38, 0.40, 0.50, 0.40, 0.38, 0.40, 0.55, 0.70, 0.85, 0.80, 0.90, 0.75, 0.50, 0.40 ], "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": 9 }, "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": "JK Accu", "entity actual level": "sensor.battery_percent", "capacity": 16, "upper limit": 100, "lower limit": 10, "entity min soc end opt": "input_number.dao_min_soc_limit", "entity max soc end opt": "input_number.dao_max_soc_limit", "charge stages": [ { "power": 0, "efficiency": 1 }, { "power": 500, "efficiency": 0.785 }, { "power": 1000, "efficiency": 0.872 }, { "power": 1500, "efficiency": 0.897 }, { "power": 2000, "efficiency": 0.899 }, { "power": 2500, "efficiency": 0.898 }, { "power": 3000, "efficiency": 0.892 }, { "power": 3500, "efficiency": 0.882 }, { "power": 4000, "efficiency": 0.865 } ], "discharge stages": [ { "power": 0, "efficiency": 1 }, { "power": 200, "efficiency": 0.891 }, { "power": 500, "efficiency": 0.935 }, { "power": 1000, "efficiency": 0.952 }, { "power": 1250, "efficiency": 0.962 }, { "power": 1500, "efficiency": 0.952 }, { "power": 2000, "efficiency": 0.950 }, { "power": 2500, "efficiency": 0.934 }, { "power": 3000, "efficiency": 0.925 }, { "power": 3500, "efficiency": 0.915 }, { "power": 4000, "efficiency": 0.900 }, { "power": 4350, "efficiency": 0.893 } ], "minimum power": 100, "cycle cost": 0.01, "dc_to_bat efficiency": 0.98, "bat_to_dc efficiency": 0.99, "entity set power feedin": "input_number.dao_setpoint_jk", "solar": [] } ], "solar": [ { "name": "pv oost", "tilt": 35, "orientation": -90, "capacity": 2.95, "max power": 2.95, "yield": 0.0065, "entity pv switch": "" }, { "name": "pv west", "tilt": 35, "orientation": 90, "capacity": 5.25, "max power": 5.25, "yield": 0.01116, "entity pv switch": "" } ], "electric vehicle": [], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.zonneplan_p1_electricity_consumption_today" ], "entities grid production": [ "sensor.zonneplan_p1_electricity_returned_today" ], "entities solar production ac": [ "sensor.energie_productie_oost", "sensor.energie_productie_west" ], "entities solar production dc": [], "entities ev consumption" : ["sensor.ev_charger_consumption"], "entities wp consumption" : [], "entities boiler consumption": [], "entities battery consumption": ["sensor.ess_grid_consumption"], "entities battery production": ["sensor.ess_grid_production"] }, "scheduler": { "active": "true", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } } |
ik heb zelf ook een victron.
SOC haal ik via modbus binnen in hass.
ik heb zelf ook nog wat accu beveiliging lopen via node-red.
feit is wel dat mijn SOC in principe niet lager kan dan 20 % en niet hoger als 95%.
vooral die ondergrens fluctureert wel wat, aangezien dit geen harde calculatie is.
ik houdt dus ook een marge aan betreffende SOC in DAO, wat wil zeggen een paar procent boven de eigenlijke onderste grens.
doe ik dit niet, blijft DAO proberen te ontladen in de berekeningen, waar echter de Victron/node-red dit blokkeert.
op dit moment nog niet mee bezig geweest om dit te fine-tunen.
iemand toevallig zelfde probleem/ oplossing?
Volgens de berekening van gisteren om 15:34 doet ie vannacht niks negatief met het grid-setpoint: allemaal kleine lichtblauwe (=levering) staafjes.patatman12 schreef op zondag 22 juni 2025 @ 11:57:
Ik ben sinds gisteren ook over op DAO, en heb DESS uitgezet.
Het was even puzzelen, maar volgens mij heb ik de setup nu werkend.
Even wat over de setup:
1x Victron MultiPlus-II 48/5000/70-48
1x JK BMS 200a i.c.m. 16x Envision ESS 72173207 305Ah - LiFePO4 - 3.2V B-grade (16Kwh)
10x op het Oosten Canadian solar 295wp met een SAJ omvormer
14x op het westen Jinko Solar 375wp met een KOPP omvormer
1x Victron EV charger
Zonneplan met dynamisch contract
Het huis zit op de AC-out van de Victron, alleen de PV west en de EV charger zitten op de non-critical loads.
de 10 panelen van het oosten bewust wel op de AC-out, zodat in island mode ik de accu nog kan laden met solar.
Verbruikers:
1x Tesla model Y standard range (60 kwh)
1x Elektrisch boiler Tesy bellislimo 100 (volgende week aangesloten)
2x Airco's (moeten nog in DAO worden)
Victron is via MQTT aan Home Assistant gekoppeld. En ik gebruik geen Node-red.
Reden voor gebruik DAO is voornamelijk het slimmer aansturen van de verbruikers, zonder zelf 100 automations te hoeven schrijven. DESS kwam hier toch wel te kort, als je ook je verbruikers op slimme momenten kan aanzetten. Nu had ik bij negatieve prijzen dat ik zelf handmatig (lees via de app) dingen ging aanzetten om stroom te verbruiken.
Vannacht zag ik alleen iets interessants, namelijk de GridSetpoint niet niet helemaal logisch in mijn ogen. Deze is s'nachts Negatief, terwijl volgens de strategie deze positief zou moeten zijn toch? Het enige wat ik kan verzinnen, is dat de SOC op 20% stond inplaats van 10%.
Ik had een verschil tussen de min SOC in victron, en DAO. Deze staan nu gelijk op 20% min soc. Zou DAO de accu alsnog naar de 10% willen krijgen?
[Afbeelding]
[Afbeelding]
Mijn DAO 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 { "homeassistant": { }, "database ha": { "engine": "sqlite", "database": "home-assistant_v2.db", "db_path": "/homeassistant" }, "database da": { "engine": "sqlite", "db_path": "../data" }, "meteoserver-key": "!secret meteoserver-key", "prices": { "source day ahead": "nordpool", "entsoe-api-key": "!secret entsoe-api-key", "regular high": 0.50, "regular low": 0.40, "switch to low": 23, "energy taxes consumption": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "energy taxes production": { "2022-01-01": 0.06729, "2023-01-01": 0.12599, "2024-01-01": 0.10880, "2025-01-01": 0.10154 }, "cost supplier consumption": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2025-01-01": 0.01653 }, "cost supplier production": { "2022-01-01": 0.002, "2023-03-01": 0.018, "2024-04-01": 0.0175, "2025-01-01": 0.01653 }, "vat delivery": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "vat redelivery": { "2022-01-01": 21, "2022-07-01": 9, "2023-01-01": 21 }, "vat": { "2025-01-01": 21 }, "last invoice": "2024-09-01", "tax refund": "True" }, "logging level" : "info", "use_calc_baseload": "False", "baseload calc periode": 56, "baseload": [ 0.35, 0.35, 0.35, 0.35, 0.35, 0.38, 0.45, 0.65, 0.70, 0.40, 0.38, 0.40, 0.50, 0.40, 0.38, 0.40, 0.55, 0.70, 0.85, 0.80, 0.90, 0.75, 0.50, 0.40 ], "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": 9 }, "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": "JK Accu", "entity actual level": "sensor.battery_percent", "capacity": 16, "upper limit": 100, "lower limit": 10, "entity min soc end opt": "input_number.dao_min_soc_limit", "entity max soc end opt": "input_number.dao_max_soc_limit", "charge stages": [ { "power": 0, "efficiency": 1 }, { "power": 500, "efficiency": 0.785 }, { "power": 1000, "efficiency": 0.872 }, { "power": 1500, "efficiency": 0.897 }, { "power": 2000, "efficiency": 0.899 }, { "power": 2500, "efficiency": 0.898 }, { "power": 3000, "efficiency": 0.892 }, { "power": 3500, "efficiency": 0.882 }, { "power": 4000, "efficiency": 0.865 } ], "discharge stages": [ { "power": 0, "efficiency": 1 }, { "power": 200, "efficiency": 0.891 }, { "power": 500, "efficiency": 0.935 }, { "power": 1000, "efficiency": 0.952 }, { "power": 1250, "efficiency": 0.962 }, { "power": 1500, "efficiency": 0.952 }, { "power": 2000, "efficiency": 0.950 }, { "power": 2500, "efficiency": 0.934 }, { "power": 3000, "efficiency": 0.925 }, { "power": 3500, "efficiency": 0.915 }, { "power": 4000, "efficiency": 0.900 }, { "power": 4350, "efficiency": 0.893 } ], "minimum power": 100, "cycle cost": 0.01, "dc_to_bat efficiency": 0.98, "bat_to_dc efficiency": 0.99, "entity set power feedin": "input_number.dao_setpoint_jk", "solar": [] } ], "solar": [ { "name": "pv oost", "tilt": 35, "orientation": -90, "capacity": 2.95, "max power": 2.95, "yield": 0.0065, "entity pv switch": "" }, { "name": "pv west", "tilt": 35, "orientation": 90, "capacity": 5.25, "max power": 5.25, "yield": 0.01116, "entity pv switch": "" } ], "electric vehicle": [], "machines" : [ ], "tibber": { "api_token": "!secret tibber_api_token" }, "report": { "entities grid consumption": [ "sensor.zonneplan_p1_electricity_consumption_today" ], "entities grid production": [ "sensor.zonneplan_p1_electricity_returned_today" ], "entities solar production ac": [ "sensor.energie_productie_oost", "sensor.energie_productie_west" ], "entities solar production dc": [], "entities ev consumption" : ["sensor.ev_charger_consumption"], "entities wp consumption" : [], "entities boiler consumption": [], "entities battery consumption": ["sensor.ess_grid_consumption"], "entities battery production": ["sensor.ess_grid_production"] }, "scheduler": { "active": "true", "0430": "get_meteo_data", "1030": "get_meteo_data", "1630": "get_meteo_data", "2230": "get_meteo_data", "1255": "get_day_ahead_prices", "1355": "get_day_ahead_prices", "1455": "get_day_ahead_prices", "1554": "get_day_ahead_prices", "1655": "get_day_ahead_prices", "xx00": "calc_optimum", "2359": "clean_data" } }
Heb je voor mij een grafiek van de berekening van vannacht om 4:00 uur dat het grid-setpoint toch negatief was in de nachtelijke uren?
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
in de regel kan ik programmeertaal lezen en begrijpensjampeter schreef op zondag 22 juni 2025 @ 11:40:
[...]
ik ben ook (soort van) actief in dat draadje van edterbak, echter stel je eigen er niet teveel van voor hoor.
zeker niet van mijn programeercapaciteiten haha.
wat ik eigenlijk doe is het volgende.
ik geef in de instellingen van DAO aan, dat een dhw run ongeveer 9 kwartier duurt.
DAO rekent voor mij dan het beste tijdstip voor die run uit.
dit tijdstip komt in de entity "calculated start"
deze entitie lees ik in in Node-red, welke (met waarschijnlijk veel te veel omwegen) enkele external link nodes in "WP input" aciveert.
op manier wordt door DAO de dhw run aangestuurd.
qua verwarming doe ik helemaal niks, aangezien bij mij de wp, als het koud is, toch nagenoeg full-time moet draaien. enkel nachtverlaging pas ik soms toe, maar dat gaat gewoon via heishamon flow.
als je wil kan ik de node-red flow wel prive met je delen. moet wel nog opgepoetst worden eigenlijk. nog niet aan toegekomen. laat maar horen.
maar on zelf te programmeren gaat me een paar stappen te ver helaas
ben benieuwd naar je NR flow
Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal
Ah, hierin zie je inderdaad dat hij probeert die laatste 10% uit de accu te duwen. Hij probeert het ook om 5:00 zie screenshots. En de daarop volgende uren, tot de zon weer gaat schijnen en de accu naar de 20% gaat.KC27 schreef op zondag 22 juni 2025 @ 13:49:
[...]
Volgens de berekening van gisteren om 15:34 doet ie vannacht niks negatief met het grid-setpoint: allemaal kleine lichtblauwe (=levering) staafjes.
Heb je voor mij een grafiek van de berekening van vannacht om 4:00 uur dat het grid-setpoint toch negatief was in de nachtelijke uren?
In dit geval dus een PEBKAC

/f/image/YPeWnVYxfV6fMYUyQBEpjFrB.png?f=fotoalbum_large)
/f/image/4UAZx3ZVyVq4gAat9zHJdgsO.png?f=fotoalbum_large)
Nou volgens de berekening van 15:34 zou de SoC al om 0:00 uur op 10% moeten zitten.patatman12 schreef op zondag 22 juni 2025 @ 14:47:
[...]
Ah, hierin zie je inderdaad dat hij probeert die laatste 10% uit de accu te duwen. Hij probeert het ook om 5:00 zie screenshots. En de daarop volgende uren, tot de zon weer gaat schijnen en de accu naar de 20% gaat.
In dit geval dus een PEBKAC![]()
[Afbeelding]
[Afbeelding]
Dus de vraag is: wat was de SoC om 0:00 uur en zijn in de uren daarvoor ook de kWh uit de batterij gehaald zoals berekend/voorspeld door DAO.
De berekening/voorspelling van DAO moet kloppen met de werkelijkheid (mag een procent afwijken).
Als de voorspelling van het verloop van de SoC door DAO niet klopt dan zit er (denk ik) iets fout in je instellingen.
Dat kan op twee vlakken fout zitten:
- de capaciteit is te laag ingesteld
- de efficiency van het ontladen is te laag ingesteld
Ik denk niet dat de ontlaad-efficiency te laag is ingesteld, omdat hij al "hoog" staat in vergelijking met het laden.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Ik geloof dat ik het begin te begrijpen (corrigeer me als ik het mis heb).storeman schreef op zondag 22 juni 2025 @ 10:17:
[...]
Dat is niet mijn use-case (of ik snap het niet). Ik zal proberen het duidelijker te noteren. Het gaat me hierbij niet om de exacte uitkomst van DAO vandaag, maar hoe een veld soms een gewenste en soms een ongewenste beperking is. Vandaag is een mooi voorbeeld:
Om 9u, iets hogere energieprijs
de accu zou geladen moeten met 1KW (hoger rendement in config), de rest mag terug het net in. Dus 'charge from PV' is dan 1KW.
Om 14 uur is de stroomprijs lager, DAO wil nog niet van AC laden, maar er is ook weinig zon voorspeld. DAO charge from PV is nu ook 1KW, maar dat komt door de verwachte instraling. Mocht de zon ineens doorbreken, dan wil ik alles in de accu stoppen, niet: slechts 1KW laden en de rest het net invoeden.
Tussen de uurlijkse berekeningen door wil je - afhankelijk van de prijs - schommelingen in je pv-productie anders opvangen:
Bij hoge prijzen (bijv hoger dan gemiddeld):
- als pv productie hoger is dan verwacht: terugleveren
- als pv productie lager is: niks doen
Bij lage prijzen (lager dan gemiddeld):
- als pv productie hoger is dan verwacht: opslaan
- als pv productie lager is dan verwacht: inkopen van het net
Dit kan DAO (nog) niet voor je oplossen.
Maar dit kun je perfect oplossen met een automation of nodered-flow in HA.
Maar voordat ik die hier ga delen, wil ik eerst weten dat dit de weg is die je op wil gaan.
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Ik stel me een configuratie instelling voor in een percentage (tientallen), waarmee het algoritme bepaald of het minimaliseren kosten is (0), maximaliseren eigen verbruik (1) of iets ertussenin (b.v. 0.5).
In mijn oude (zelf geautomatiseerde) aansturing ging ik voor maximaliseren eigen verbruik, maar wel binnen de grenzen van minimaliseren kosten. Dus het laden van de accu uitsmeren over de uren waarin de zonopbrengst groter is dan het eigen verbruik, maar de prijs ook laag genoeg om efficiency verliezen en cycle costs goed te maken (en andersom met ontladen).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| "machines" : [ { "name": "Airco", "programs":[ {"name": "Uit", "power": []}, {"name": "Auto", "power": [1000, 1000, 1000, 1000, 1000, 1000, 1000, 800] } ], "entity start window": "input_datetime.start_window_airco", "entity end window": "input_datetime.eind_window_airco", "entity selected program": "input_select.airco_programma", "entity calculated start": "input_datetime.berekende_start_airco", "entity calculated end": "input_datetime.berekende_stop_airco" } ], |
:no_upscale():strip_icc():strip_exif()/f/image/JJ1cPf6nVAsoGoNNyi4iN9n2.jpg?f=user_large)
Dit werkt op zich wel, maar is er een betere manier hiervoor?
[ Voor 11% gewijzigd door diamanten op 22-06-2025 20:26 ]
SoC om 0:00 was 20% i.p.v. de door DAO verwacht 10%.KC27 schreef op zondag 22 juni 2025 @ 15:42:
[...]
Nou volgens de berekening van 15:34 zou de SoC al om 0:00 uur op 10% moeten zitten.
Dus de vraag is: wat was de SoC om 0:00 uur en zijn in de uren daarvoor ook de kWh uit de batterij gehaald zoals berekend/voorspeld door DAO.
De berekening/voorspelling van DAO moet kloppen met de werkelijkheid (mag een procent afwijken).
Als de voorspelling van het verloop van de SoC door DAO niet klopt dan zit er (denk ik) iets fout in je instellingen.
Dat kan op twee vlakken fout zitten:Als de capaciteit te laag is ingesteld zul je ook problemen hebben tijdens het laden: dat hij ook daar langer over doet dan voorspeld.
- de capaciteit is te laag ingesteld
- de efficiency van het ontladen is te laag ingesteld
Ik denk niet dat de ontlaad-efficiency te laag is ingesteld, omdat hij al "hoog" staat in vergelijking met het laden.
Dat kwam omdat ik bij DAO 10% had opgegeven, en in de Victron DVCC 20% minimum SoC had aangeven.
In dit geval was DAO tegen de Victron aan het vechten door 2 verschillende parameters.
Ik zal de Setpoint in de gaten houden vanavond, en morgen even een kleine update geven. Maar verwacht dat het door de afwijkende min. SoC kwam.
Bedankt voor je uitgebreide reactie, geeft ook meer inzicht in de werking van DAO!
Ik heb nu in Home Assistant de logica zitten die bepaalt wat er moet gebeuren indien DAO setpoint 0 is. Onderstaande tabel is nog niet perfect, en ik moet de logica ook nog eens goed doorlopen. Ik heb twee sensoren gemaakt die bepalen of de prijs hoog, medium, laag of negatief is. Simpelweg drie blokken van 33% van de prijs range van vandaag. Stijgend en dalend is met een derivative sensor, een sprong van 3 cent per kWh geeft stijging/daling aan. Anders vlak.Torch1969 schreef op zondag 22 juni 2025 @ 17:09:
@KC27 Zou DAO ook een vorm van "hybride" aansturing aankunnen? Dus niet volledig minimaliseren kosten of volledig maximaliseren eigen verbruik, maar iets daartussen in? Een soort hybride aansturing?
Ik stel me een configuratie instelling voor in een percentage (tientallen), waarmee het algoritme bepaald of het minimaliseren kosten is (0), maximaliseren eigen verbruik (1) of iets ertussenin (b.v. 0.5).
In mijn oude (zelf geautomatiseerde) aansturing ging ik voor maximaliseren eigen verbruik, maar wel binnen de grenzen van minimaliseren kosten. Dus het laden van de accu uitsmeren over de uren waarin de zonopbrengst groter is dan het eigen verbruik, maar de prijs ook laag genoeg om efficiency verliezen en cycle costs goed te maken (en andersom met ontladen).
Kolom "Hoog" staat er 2 keer in, duplicaat.
SoC | Prijs hoog | Medium, dalend | Laag | Medium, stijgend | Hoog |
100% | XoM, discharge only | XoM, discharge only | idle (wacht op betere prijzen) | idle (wacht op betere prijzen) | XoM, discharge only |
> 70% | XoM, discharge only (export zon) | XoM, discharge only (export zon) | XoM, charge only | Idle (betere prijzen komen er aan) | XoM, discharge only |
> 40% | XoM, discharge only (export zon) | XoM, discharge only (export zon) | XoM, charge only | XoM, charge only | XoM, discharge only |
> 10% | idle | XoM, discharge only | XoM, charge only (?) | XoM, discharge only (?) | Idle |
< 10% (noodstroom) | idle | XoM, charge only | XoM, charge only | XoM, charge only | Idle |
Dit voelt voor mij beter dan domweg idle wanneer DAO 0 zegt. Misschien niet financieel optimaal maar zeker niet ver er onder.
Ik heb twee Sessy's, en die stuur ik aan met de XoM automation van PimDoos.
+++ edit
nu ik weer zo naar de tabel kijk zie ik toch nog gekke dingen. Er wordt nog aan gewerkt
beetje uitleg toegevoegd aan tabel
[ Voor 3% gewijzigd door balk op 22-06-2025 22:07 ]
Ik zou Victron DVCC en DAO op hetzelfde minimum zetten. Dan kan DAO daarmee de meest optimale inzet van je Victron berekenen.patatman12 schreef op zondag 22 juni 2025 @ 20:51:
[...]
SoC om 0:00 was 20% i.p.v. de door DAO verwacht 10%.
Dat kwam omdat ik bij DAO 10% had opgegeven, en in de Victron DVCC 20% minimum SoC had aangeven.
In dit geval was DAO tegen de Victron aan het vechten door 2 verschillende parameters.
Ik zal de Setpoint in de gaten houden vanavond, en morgen even een kleine update geven. Maar verwacht dat het door de afwijkende min. SoC kwam.
Bedankt voor je uitgebreide reactie, geeft ook meer inzicht in de werking van DAO!
WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer
Het is een interessante gedachte en de moeite waard om na te gaan of dit kan.Torch1969 schreef op zondag 22 juni 2025 @ 17:09:
@KC27 Zou DAO ook een vorm van "hybride" aansturing aankunnen? Dus niet volledig minimaliseren kosten of volledig maximaliseren eigen verbruik, maar iets daartussen in? Een soort hybride aansturing?
Ik stel me een configuratie instelling voor in een percentage (tientallen), waarmee het algoritme bepaald of het minimaliseren kosten is (0), maximaliseren eigen verbruik (1) of iets ertussenin (b.v. 0.5).
In mijn oude (zelf geautomatiseerde) aansturing ging ik voor maximaliseren eigen verbruik, maar wel binnen de grenzen van minimaliseren kosten. Dus het laden van de accu uitsmeren over de uren waarin de zonopbrengst groter is dan het eigen verbruik, maar de prijs ook laag genoeg om efficiency verliezen en cycle costs goed te maken (en andersom met ontladen).
Jouw vraag is ook een mooie aanleiding om uiteen te zetten hoe DAO nu rekent met "minimize consumption" (is eigenlijk hetzelfde als maximalisering eigen verbruik, toch?).
Als je bij DAO de strategie "minimize consumption" kiest rekent het programma in twee stappen:
stap 1: het programma stuurt de mip optimalisatie aan met de functie:"minimize consumption". Dit levert een uitkomst op waarbij geen rekening is gehouden met de kosten, maar (zeker in de zomer) op zonnige dagen met pv vaak consumption die op nul uitkomt. Maar de teruglevering is dan niet geoptimaliseerd. De zo berekende consumption noem ik consumption_stap_1.
stap 2: ik voer een extra randvoorwaarde in het model: consumption <= maximum(0, consumption_stap_1) en voer wederom een optimaliseringsberekening uit nu met als functie "minimize cost".
Het programma gaat nu de teruglevering sturen naar de uren waar het het meeste oplevert.
De uitkomst die dit oplevert wordt gepresenteerd als het eindresultaat van een bewerking.
Dus eigenlijk doet het programma al een beetje wat jij voorstelt.
Als je die twee strategieën wilt combineren dan zul je - als je mip wilt gebruiken als optimaliseringsalgoritme - die twee eenheden moeten gaan wegen en optellen tot een gecombineerde eenheid en die gaan optimaliseren.
Bijvoorbeeld (dit is een theoretische exercitie) we gaan rekenen met strafpunten (je mag dan zelf de strafpunten instellen in de settings):
1 kWh consumption = 10 strafpunten
1 euro cost = 5 strafpunten
1 euro profit = - 5 strafpunten
Dat stop je als extra randvoorwaarden in het model en je gaat met het model zoeken naar "minimize strafpunten").
Op deze manier zouden we die twee strategieën kunnen combineren.
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
Super interessant en ik zal het nog eens goed doornemen,balk schreef op zondag 22 juni 2025 @ 21:49:
[...]
Ik heb nu in Home Assistant de logica zitten die bepaalt wat er moet gebeuren indien DAO setpoint 0 is. Onderstaande tabel is nog niet perfect, en ik moet de logica ook nog eens goed doorlopen. Ik heb twee sensoren gemaakt die bepalen of de prijs hoog, medium, laag of negatief is. Simpelweg drie blokken van 33% van de prijs range van vandaag. Stijgend en dalend is met een derivative sensor, een sprong van 3 cent per kWh geeft stijging/daling aan. Anders vlak.
Kolom "Hoog" staat er 2 keer in, duplicaat.
SoC Prijs hoog Medium, dalend Laag Medium, stijgend Hoog 100% XoM, discharge only XoM, discharge only idle
(wacht op betere prijzen)idle
(wacht op betere prijzen)XoM, discharge only > 70% XoM, discharge only
(export zon)XoM, discharge only (export zon) XoM, charge only Idle
(betere prijzen komen er aan)XoM, discharge only > 40% XoM, discharge only (export zon) XoM, discharge only (export zon) XoM, charge only XoM, charge only XoM, discharge only > 10% idle XoM, discharge only XoM, charge only (?) XoM, discharge only (?) Idle < 10%
(noodstroom)idle XoM, charge only XoM, charge only XoM, charge only Idle
Dit voelt voor mij beter dan domweg idle wanneer DAO 0 zegt. Misschien niet financieel optimaal maar zeker niet ver er onder.
Ik heb twee Sessy's, en die stuur ik aan met de XoM automation van PimDoos.
+++ edit
nu ik weer zo naar de tabel kijk zie ik toch nog gekke dingen. Er wordt nog aan gewerkt
beetje uitleg toegevoegd aan tabel
Nadeel is wel dat je buiten DAO om de accu gaat gebruiken. Denk dat het mooier is dat DAO dit bedenkt zodat die weet wat er gaat gebeuren en daar ook rekening mee houdt.
De XOM blueprint van Pimdoos heb ik op mijn todo staan om te integreren om ook NOM te kunnen draaien voor de balanceer optie van DAO (eventueel 2 varianten waar de ene alleen kan laden en de andere alleen kan ontladen).
[ Voor 4% gewijzigd door Torch1969 op 23-06-2025 08:18 ]
Ja, met maximaliseer eigen verbruik bedoelde ik inderdaad “minimize consumption”. Dank voor de uitleg (zal die ook toevoegen in de wiki 😀). Goed te lezen dat die eigenlijk al een soort van hybride vorm is. Ik zal in mijn testomgeving eens schaduwdraaien met die instelling. Klinkt inderdaad alsof dat eigenlijk al is wat ik wil. Werkt dit ook zo bij ontladen? Dus sturen naar uren met minste zon opbrengst en daarbinnen naar duurste uren?KC27 schreef op zondag 22 juni 2025 @ 22:59:
[...]
Het is een interessante gedachte en de moeite waard om na te gaan of dit kan.
Jouw vraag is ook een mooie aanleiding om uiteen te zetten hoe DAO nu rekent met "minimize consumption" (is eigenlijk hetzelfde als maximalisering eigen verbruik, toch?).
Als je bij DAO de strategie "minimize consumption" kiest rekent het programma in twee stappen:
stap 1: het programma stuurt de mip optimalisatie aan met de functie:"minimize consumption". Dit levert een uitkomst op waarbij geen rekening is gehouden met de kosten, maar (zeker in de zomer) op zonnige dagen met pv vaak consumption die op nul uitkomt. Maar de teruglevering is dan niet geoptimaliseerd. De zo berekende consumption noem ik consumption_stap_1.
stap 2: ik voer een extra randvoorwaarde in het model: consumption <= maximum(0, consumption_stap_1) en voer wederom een optimaliseringsberekening uit nu met als functie "minimize cost".
Het programma gaat nu de teruglevering sturen naar de uren waar het het meeste oplevert.
De uitkomst die dit oplevert wordt gepresenteerd als het eindresultaat van een bewerking.
Dus eigenlijk doet het programma al een beetje wat jij voorstelt.
Als je die twee strategieën wilt combineren dan zul je - als je mip wilt gebruiken als optimaliseringsalgoritme - die twee eenheden moeten gaan wegen en optellen tot een gecombineerde eenheid en die gaan optimaliseren.
Bijvoorbeeld (dit is een theoretische exercitie) we gaan rekenen met strafpunten (je mag dan zelf de strafpunten instellen in de settings):
1 kWh consumption = 10 strafpunten
1 euro cost = 5 strafpunten
1 euro profit = - 5 strafpunten
Dat stop je als extra randvoorwaarden in het model en je gaat met het model zoeken naar "minimize strafpunten").
Op deze manier zouden we die twee strategieën kunnen combineren.
De werking met strafpunten zou een alternatief kunnen zijn, maar die moeten we nog maar eens goed doorgronden.
Ik heb eigenlijk een soortgelijke vraag. Ik heb de airco nu voor de reports als WP (is het eigenlijk ook) geconfigureerd, maar dus alleen voor vastleggen energieverbruik ( om die uit de baseload te halen). Voor de aansturing ben ik er ook nog niet uit. Voelt vreemd om de airco als “heating” te configureren, afgezien van het feit dat ik de benodigde gegevens lastig kan achterhalen.diamanten schreef op zondag 22 juni 2025 @ 20:20:
Vraagje: met dit warme weer wil ik graag mijn airco's aansturen via DAO. Ik heb nu de volgende machine aangemaakt:
code:[Afbeelding]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 "machines" : [ { "name": "Airco", "programs":[ {"name": "Uit", "power": []}, {"name": "Auto", "power": [1000, 1000, 1000, 1000, 1000, 1000, 1000, 800] } ], "entity start window": "input_datetime.start_window_airco", "entity end window": "input_datetime.eind_window_airco", "entity selected program": "input_select.airco_programma", "entity calculated start": "input_datetime.berekende_start_airco", "entity calculated end": "input_datetime.berekende_stop_airco" } ],
Dit werkt op zich wel, maar is er een betere manier hiervoor?
Zolang je zonnestroom hebt zal DAO nooit precies kunnen voorspellen wat er gaat gebeuren. Ook eigen gebruik is niet foutloos te voorspellen. Ik zie DAO als de strateeg die zich niet bemoeit met de directe uitvoering. Het is heel goed met het uitzetten van de grote lijnen maar kan niet op de seconde regelen. Home Assistant juist omgekeerd en daarom werkt het ook zo lekker samen.Torch1969 schreef op maandag 23 juni 2025 @ 07:56:
[...]
Super interessant en ik zal het nog eens goed doornemen,
Nadeel is wel dat je buiten DAO om de accu gaat gebruiken. Denk dat het mooier is dat DAO dit bedenkt zodat die weet wat er gaat gebeuren en daar ook rekening mee houdt.
De XOM blueprint van Pimdoos heb ik op mijn todo staan om te integreren om ook NOM te kunnen draaien voor de balanceer optie van DAO (eventueel 2 varianten waar de ene alleen kan laden en de andere alleen kan ontladen).
Dit is eigenlijk vergelijkbaar hoe DESS werkt met "Green Mode".KC27 schreef op zondag 22 juni 2025 @ 22:59:
[...]
Het is een interessante gedachte en de moeite waard om na te gaan of dit kan.
Jouw vraag is ook een mooie aanleiding om uiteen te zetten hoe DAO nu rekent met "minimize consumption" (is eigenlijk hetzelfde als maximalisering eigen verbruik, toch?).
Als je bij DAO de strategie "minimize consumption" kiest rekent het programma in twee stappen:
stap 1: het programma stuurt de mip optimalisatie aan met de functie:"minimize consumption". Dit levert een uitkomst op waarbij geen rekening is gehouden met de kosten, maar (zeker in de zomer) op zonnige dagen met pv vaak consumption die op nul uitkomt. Maar de teruglevering is dan niet geoptimaliseerd. De zo berekende consumption noem ik consumption_stap_1.
stap 2: ik voer een extra randvoorwaarde in het model: consumption <= maximum(0, consumption_stap_1) en voer wederom een optimaliseringsberekening uit nu met als functie "minimize cost".
Het programma gaat nu de teruglevering sturen naar de uren waar het het meeste oplevert.
De uitkomst die dit oplevert wordt gepresenteerd als het eindresultaat van een bewerking.
Dus eigenlijk doet het programma al een beetje wat jij voorstelt.
Als je die twee strategieën wilt combineren dan zul je - als je mip wilt gebruiken als optimaliseringsalgoritme - die twee eenheden moeten gaan wegen en optellen tot een gecombineerde eenheid en die gaan optimaliseren.
Bijvoorbeeld (dit is een theoretische exercitie) we gaan rekenen met strafpunten (je mag dan zelf de strafpunten instellen in de settings):
1 kWh consumption = 10 strafpunten
1 euro cost = 5 strafpunten
1 euro profit = - 5 strafpunten
Dat stop je als extra randvoorwaarden in het model en je gaat met het model zoeken naar "minimize strafpunten").
Op deze manier zouden we die twee strategieën kunnen combineren.
https://communityarchive....namic-ess-green-mode.html
Alleen met DAO zou je dan die laatste ook nog optimaliseren, dus alleen verkopen op de duurste momenten.Optimized Self-Consumption: With this mode enabled, your system first directs solar energy towards meeting your immediate consumption needs.
Battery Charging Priority: Once your consumption needs are met, any excess solar power is utilized to charge your batteries, ensuring they are charged sufficiently for hours without solar.
Grid trading: Only after your consumption and battery charging needs are fulfilled does the system consider selling surplus solar energy back to the grid.
Het mag dan misschien beter voelen, maar als DAO 0 als setpoint aanhoud is er kwa efficiency en kosten voor gebruik accu geen eer te behalen aan gebruik van die accu. Dan ben je volgens mij net zo goed of beter af door de laad/ontlaad efficiencies kunstmatig hoog te zetten en kosten voor gebruik accu kunstmatig laag.balk schreef op zondag 22 juni 2025 @ 21:49:
Ik heb nu in Home Assistant de logica zitten die bepaalt wat er moet gebeuren indien DAO setpoint 0 is.
Overigens: als DAO vind dat 0-op-meter de beste strategie is dan kiest-ie daar zelf ook voor. Sinds ik DAO (op de juiste manier) verteld heb dat ik 2 cent moet betalen voor het terugleveren van een kWh kiest-ie daar bij mij vrij vaak voor als de zon schijnt.
Een beetje lastig grafiekje als je 'm niet zelf ingesteld hebt, maar:
/f/image/h5vP5WP8NeormocfprRcrcsK.png?f=fotoalbum_large)
Waar de gele lijn (netbalans, vermogen op de P1 meter) redelijk strak op 0 zit is DAO aan het balanceren en aan het proberen de 'waardeloze' zonne-energie in de accu te krijgen.
Overigens is er ook goed te zien dat het niet handig is als DAO ergens niet vanaf weet. Om ca. 13.15 moet de auto nog even bijgeladen worden en wordt dat geforceerd door een van de familieleden (ze kiezen voor 'nu laden'). DAO weet daar niet van, en kiest vrolijk voor 'balanceren' met als gevolg dat veel van die autolaadenergie uit de accu komt.
(misschien moet ik 'nu laden' implementeren door de EV-moet-vol-zijn tijd aan te passen en DAO een schop te geven)
Ik ook, daarom laat ik 'm vaker draaien dan eens per uur zodat de strateeg de strategie bij kan werken als de praktijk wat afwijkt van de theorie. Zeker zinvol als HA buiten DAO om nog dingen met de 'door DAO beheerde apparatuur' doet.balk schreef op maandag 23 juni 2025 @ 08:32:
Ik zie DAO als de strateeg die zich niet bemoeit met de directe uitvoering. Het is heel goed met het uitzetten van de grote lijnen maar kan niet op de seconde regelen. Home Assistant juist omgekeerd en daarom werkt het ook zo lekker samen.
DAO gaat er voorlopig nog wel vanuit dat zaken binnen het uur klaar moeten zijn en houd geen rekening met verkorte tijden tussen de runs.
@KC27: zo'n cost-gebaseerde optimalisatie, of strafpunten zo je wil, is wel wat als je het mij vraagt.
[ Voor 9% gewijzigd door DaBit op 23-06-2025 09:14 ]
Dank voor je reactie KC27! Waar het bij mij schuurt is dat die entiteit dus eigenlijk twee functies heeft: begrenzing en planning.KC27 schreef op zondag 22 juni 2025 @ 16:40:
[...]
Ik geloof dat ik het begin te begrijpen (corrigeer me als ik het mis heb).
Tussen de uurlijkse berekeningen door wil je - afhankelijk van de prijs - schommelingen in je pv-productie anders ...
Maar voordat ik die hier ga delen, wil ik eerst weten dat dit de weg is die je op wil gaan.
Maar altijd goed om even te sparren. Ik heb nu bedacht dat als de `entity from ac` 0 is en `entity from pv` is dat niet, dat er onbeperkt geladen mag worden, volgens mij is dat de juiste logica.
"Chaos kan niet uit de hand lopen"
Mee eens, ik ben dat ook nog aan het inrichten. Mijn logica is een aanvulling daarop. Stel DAO kiest voor NoM midden op de dag en dan gaat hier de wasmachine/Quooker/oid aan , dan wil ik niet dat het tekort uit de batterij komt maar vanaf het net. Op die momenten is het dus XoM met alleen laden. Omgekeerd zijn er ook scenarios waarbij je niet wil laden, en alleen ontladen.DaBit schreef op maandag 23 juni 2025 @ 09:06:
[...]
Overigens: als DAO vind dat 0-op-meter de beste strategie is dan kiest-ie daar zelf ook voor. Sinds ik DAO (op de juiste manier) verteld heb dat ik 2 cent moet betalen voor het terugleveren van een kWh kiest-ie daar bij mij vrij vaak voor als de zon schijnt.
+++
Aanvulling: mijn PV vermogen is kleiner dan accu laad vermogen
[ Voor 4% gewijzigd door balk op 23-06-2025 13:42 ]
Ik zit met een vergelijkbare uitdaging, in dat ik graag mijn vaatwasser wil meenemen in DOA als machine, maar hij is alleen niet slim te sturen (en de vrouw wil hem ook gewoon zelf kunnen starten wanner zij wil). Ik weet (aan de hand van een energysocket) wel wanneer hij start en heb zitten proberen om vergelijkbaar met jou DAO daar van op de hoogte te stellen. Ik heb nog niet een echt betrouwbare methode gevonden.DaBit schreef op maandag 23 juni 2025 @ 09:06:
[...]
Overigens is er ook goed te zien dat het niet handig is als DAO ergens niet vanaf weet. Om ca. 13.15 moet de auto nog even bijgeladen worden en wordt dat geforceerd door een van de familieleden (ze kiezen voor 'nu laden'). DAO weet daar niet van, en kiest vrolijk voor 'balanceren' met als gevolg dat veel van die autolaadenergie uit de accu komt.
(misschien moet ik 'nu laden' implementeren door de EV-moet-vol-zijn tijd aan te passen en DAO een schop
Dit is overigens ook een feature request aan @KC27 die ik nog aan het formulieren was...
Dus eigenlijk een endpoint binnen DAO om direct een machine te starten en een hercalculatie te doen. Mede omdat op dit soort momenten de batterij strategie flink kan wijzigen.
Ik liet precies zo'n moment liet zien in mijn grafiekje (en ook nog eens eentje waarvoor de accu relatief flink aan de bak moest want zo'n EV-met-voorrang lust meteen 11kW), maar heel erg is het niet:balk schreef op maandag 23 juni 2025 @ 13:30:
Mee eens, ik ben dat ook nog aan het inrichten. Mijn logica is een aanvulling daarop.
- Normaal heb ik ruim >3kW aan zon als DAO gaat balanceren. Als er dan een vaatwasser oid aan gaat laad de accu tijdelijk even wat minder vlot. Dat wordt in de uren erna wel weer rechtgetrokken; je hebt al gauw meer opbrengst op een dag dan kWh-en aan accucapaciteit om te vullen.
- Die paar kWh die deze special case uit de accu komen zijn hoogstwaarschijnlijk goedkoop verkregen kWh-en, je 'betaalt' er alleen een procent of 15 aan laad/ontlaadverliezen voor en een paar cent aan apparatuurslijtage als je dat wil verrekenen. Eigenlijk niet of amper meer dan de inkoopvergoeding die je zou moeten betalen als het van het net af komt, dus accu of net is best wel lood om oud ijzer eigenlijk....
- Het is over tijdsspannes van maanden gemeten zo'n klein deel van de tijd dat dit euvel zich voordoet. Over het aantal kWh-en aan energiestromen gemeten ook.
De ene kant van het muntje is dat er winst te behalen is door de special case af te handelen, maar al met al is de winst die ik ermee kan halen door het aan te pakken erg klein.
De andere kant van het muntje is een hoop extra bitjes aan automaties toevoegen. En al die bitjes die je toevoegt kunnen omvallen en hebben onderhoud nodig om te voorkomen dat er bitrot ontstaat.
Mijn persoonlijke keuze: ik vind kosten vs baten te ongunstig uitvallen en pak mijn 'verlies' wel. Simpel, rechttoerechtaan en robuust heeft zo z'n charmes.
Dus of ik DAO in ga lichten dat de EV aan het laden is? Ik krijg net zoals jullie weer van die jeukende vingers om een automatie in elkaar te draaien die de auto-klaar tijd even aanpast, het gewenste percentage op 100 zet en DAO een schop geeft. Maar in werkelijkheid denk ik dat ik het lekker zo hou. KISS.
[ Voor 7% gewijzigd door DaBit op 23-06-2025 15:30 ]
/f/image/pr0fKDjcWN4pVQ0vXeMibwuE.png?f=fotoalbum_large)
Ik vind de schade wel meevallen. Meer dan 100% krijg ik toch niet in die accu en dat haalt-ie met gemak. En wat er in die dipjes uit de accu gehaald wordt is eerder opgeslagen zonne-energie. Daar heb ik geen belasting over betaald en geen 2 cent vergoeding voor aan de leverancier betaald dus dat is netzogoed goedkope stroom.
[ Voor 15% gewijzigd door DaBit op 23-06-2025 16:10 ]
@DaBit en @balk dankDaBit schreef op maandag 23 juni 2025 @ 16:07:
Hier eenje van vandaag overdag. Een 'rotdag' voor de digitale kaboutertjes die het allemaal maar moeten zien te rooien met die sterk varierende zon en kinderen die thuis rondhangen:
[Afbeelding]
Ik vind de schade wel meevallen. Meer dan 100% krijg ik toch niet in die accu en dat haalt-ie met gemak. En wat er in die dipjes uit de accu gehaald wordt is eerder opgeslagen zonne-energie. Daar heb ik geen belasting over betaald en geen 2 cent vergoeding voor aan de leverancier betaald dus dat is netzogoed goedkope stroom.
(je kunt 'm wel elk kwartier draaien, maar de berekeningresultaten zijn voor het komende uur)
Als je een sensor hebt in HA waarvan de waarde verandert (state change) omdat iemand de auto gaat laden, de vaatwasser aanzet of anderszins dan kun je al vanuit HA een berekening van DAO initiëren (RTFM
Maak in configuration.yaml van HA een restcommando aan (bijvoorbeeld)
1
2
3
4
| rest_command: start_dao_calc: url: http://192.168.178.36:5000/api/run/calc_zonder_debug verify_ssl: false |
Maak een automation in HA die wordt getriggerd door de genoemde state-change(s) (hier door een input_button):
1
2
3
4
5
6
7
8
9
10
11
| alias: Start berekening DAO via rest description: Start berekening DAO mode: single triggers: - entity_id: - input_button.start_day_ahead_berekening trigger: state conditions: [] actions: - data: {} action: rest_command.start_dao_calc |
Bij mij werkt ie.
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
Maar stel, plingpling op de app 'Wij kunnen niet naar het toernooi van de kinderen rijden want ziek. Kun jij het overnemen?' Ja, opzich wel, maar dan moet ik wel even rap de auto bijladen. Voor die gevallen heb ik een knopje 'Nu laden'. Die zet simpelweg de laadpaal op '3x16A gewenst'. Auto gaat laden, en als iemand de laadstekker eruit trekt gaat de boel weer terug naar normaal, oftewel DAO gestuurd.
Zou ik dat via DAO willen repliceren dan moet ik in een automatie:
- De gewenste lading op 100% zetten.
- De helper die aangeeft wanneer DAO klaar moet zijn met EV laden op een zinnige tijd zetten, die ook nog eens afhankelijk is van de SoC van de accu. Want als ik DAO meer tijd geef dan nodig dan zou-ie voor een lager vermogen kunnen kiezen
- een berekening zonder debug starten via REST.
- Als de auto losgekoppeld word het ladingspercentage en tijd-klaar weer herstellen.
Voordat dat feilloos werkt... 'Nu laden' is nu knap betrouwbaar. Of de communicatie naar de paal werkt en ik kan 3x16A, of de boel ligt op z'n gat en de paal doet 3x10A als fallback.
Hoe het bij jullie thuis zit weet ik niet, maar hier is de oepsmomentjes-tolerantie van de rondborstige directie exact 0.
Ik had ook zo'n nu laden functie gemaakt. Maar als je 10 minuten voor het hele uur start wordt het laden vaak gestopt door DAO.DaBit schreef op maandag 23 juni 2025 @ 22:55:
@KC27 : Ja, dat ik at kan weet ik. Haal ik ook aan ergens in de posts.
Maar stel, plingpling op de app 'Wij kunnen niet naar het toernooi van de kinderen rijden want ziek. Kun jij het overnemen?' Ja, opzich wel, maar dan moet ik wel even rap de auto bijladen. Voor die gevallen heb ik een knopje 'Nu laden'. Die zet simpelweg de laadpaal op '3x16A gewenst'. Auto gaat laden, en als iemand de laadstekker eruit trekt gaat de boel weer terug naar normaal, oftewel DAO gestuurd.
Zou ik dat via DAO willen repliceren dan moet ik in een automatie:
- De gewenste lading op 100% zetten.
- De helper die aangeeft wanneer DAO klaar moet zijn met EV laden op een zinnige tijd zetten, die ook nog eens afhankelijk is van de SoC van de accu. Want als ik DAO meer tijd geef dan nodig dan zou-ie voor een lager vermogen kunnen kiezen
- een berekening zonder debug starten via REST.
- Als de auto losgekoppeld word het ladingspercentage en tijd-klaar weer herstellen.
Voordat dat feilloos werkt... 'Nu laden' is nu knap betrouwbaar. Of de communicatie naar de paal werkt en ik kan 3x16A, of de boel ligt op z'n gat en de paal doet 3x10A als fallback.
Hoe het bij jullie thuis zit weet ik niet, maar hier is de oepsmomentjes-tolerantie van de rondborstige directie exact 0.
Om dat te voorkomen heb ik idd gemaakt wat je beschrijft. En dat werkt perfect.
Ik heb de volgende 2 sensoren gemaakt. De sensoren berekenen de vertrek tijd op basis van de huidige SOC. Een automatisering zet de berekende vertrektijd in de DAO helper.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| - platform: template sensors: ev_charge_time: friendly_name: "Estimated Charging Time" unit_of_measurement: "hours" value_template: >- {% set soc_remaining = 100 - states('sensor.zoe_state_of_charge') | int %} {% set energy_needed_kWh = soc_remaining * 4 / 10 %} {% set charging_power = 10 %} {{ (energy_needed_kWh / charging_power) | round(2) }} zoe_charge_now_time: friendly_name: "Zoe charge now time" value_template: >- {% set charge_time = states('sensor.ev_charge_time') | float %} {{ (now() + timedelta(hours=charge_time) + timedelta(hours=1)).strftime('%H:%M') }} |
Mitsubishi PUHZ-W50VHA + EHPT20X-VM2C / 30x JASolar 265Wp oost/west + SolarEdge 7K
Ik heb die rest call inderdaad al geimplementeerd, echter moet ik de vaatwasser nogal omslacht inplannen:
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
| alias: "DAO: trigger run by dishwasher" description: "" triggers: - trigger: state entity_id: - input_select.dishwasher_status to: Running from: Idle conditions: [] actions: - action: input_select.select_option metadata: {} data: option: eco target: entity_id: input_select.dao_program_vaatwasser enabled: true - data_template: entity_id: input_datetime.dao_calculated_start_vaatwasser date: > {% set date_time = as_timestamp(now()) | int %} {{ date_time | timestamp_custom("%Y-%m-%d", true) }} time: "00:00:00" action: input_datetime.set_datetime enabled: true - data_template: entity_id: input_datetime.dao_calculated_stop_vaatwasser date: > {% set date_time = as_timestamp(now()) | int %} {{ date_time | timestamp_custom("%Y-%m-%d", true) }} time: "23:59:00" action: input_datetime.set_datetime enabled: true - data_template: entity_id: input_datetime.dao_start_window_vaatwasser time: > {% set date_time = as_timestamp(now()) | int - 60 %} {{ date_time | timestamp_custom("%H:%M:00", true) }} action: input_datetime.set_datetime - data_template: entity_id: input_datetime.dao_end_window_vaatwasser time: > {% set date_time = as_timestamp(now()) | int + 3600 + 900 %} {{ date_time | timestamp_custom("%H:%M:00", true) }} action: input_datetime.set_datetime - action: rest_command.dao_start_calc metadata: {} data: {} enabled: true mode: single |
Ik zou het fijner vinden om het hele rekenen met datums achterwege te laten en tegen DAO te zeggen, 'start vaatwasser nu'. (dito voor andere machines)