• timscheffers
  • Registratie: November 2009
  • Laatst online: 20:04
Ik heb zojuist geupdate naar de laatste versie (4.1). Ik krijg echter onderstaande fouten:
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
2026-04-11 16:08:52 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-11 16:08:52 INFO: Validating configuration with ConfigurationV0
2026-04-11 16:08:52 info: Day Ahead Optimalisering versie: 2026.04.1
2026-04-11 16:08:52 info: Day Ahead Optimalisering gestart op: 11-04-2026 16:08:52
2026-04-11 16:08:52 info: Day Ahead Optimalisatie gestart: 11-04-2026 16:08:52 taak: calc_optimum_met_debug
2026-04-11 16:08:52 info: Debug = True
2026-04-11 16:08:52 info: Baseload uit instellingen
2026-04-11 16:08:52 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 694, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 538, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 288, in calc_optimum
    solar_prog = self.calc_solar_predictions(
        self.solar[s], start_interval_dt, end, self.interval
    )
  File "/root/dao/prog/da_base.py", line 587, in calc_solar_predictions
    solar_prog = solar_predictor.predict_solar_device(
        solar_option, vanaf, tot
    )
  File "/root/dao/prog/solar_predictor.py", line 1024, in predict_solar_device
    prediction = self.predict(weather_data)
  File "/root/dao/prog/solar_predictor.py", line 702, in predict
    prediction = self.model.predict(featured_df)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/sklearn.py", line 1446, in predict
    predts = self.get_booster().inplace_predict(
        data=X,
    ...<4 lines>...
        validate_features=validate_features,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2854, in inplace_predict
    self._validate_features(fns)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 3429, in _validate_features
    raise ValueError(msg.format(self.feature_names, feature_names))
ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 4709, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 4680, in main
    da_calc.run_task_function("calc_optimum_met_debug")
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_base.py", line 694, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 538, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 288, in calc_optimum
    solar_prog = self.calc_solar_predictions(
        self.solar[s], start_interval_dt, end, self.interval
    )
  File "/root/dao/prog/da_base.py", line 587, in calc_solar_predictions
    solar_prog = solar_predictor.predict_solar_device(
        solar_option, vanaf, tot
    )
  File "/root/dao/prog/solar_predictor.py", line 1024, in predict_solar_device
    prediction = self.predict(weather_data)
  File "/root/dao/prog/solar_predictor.py", line 702, in predict
    prediction = self.model.predict(featured_df)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/sklearn.py", line 1446, in predict
    predts = self.get_booster().inplace_predict(
        data=X,
    ...<4 lines>...
        validate_features=validate_features,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2854, in inplace_predict
    self._validate_features(fns)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 3429, in _validate_features
    raise ValueError(msg.format(self.feature_names, feature_names))
ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity
Edit: lezen is ook een kunst :) het opnieuw trainen van de ml modellen heeft het opgelost

  • Lasoul
  • Registratie: November 2001
  • Laatst online: 00:59
Is er al iemand die DAO in combinatie gebruikt met een Deye hybride omvormer en dat goed heeft draaien?
Ben opzoek naar de automatiseringen en config.

  • tomvandepoel3
  • Registratie: Januari 2026
  • Laatst online: 17:36
Hier ook 2 probleempjes met de migratie die met een handmatige aanpassing van de config (voorlopig) zijn opgelost

1. De eerder gemelde "lege entity settings". Ik had voor de machines die ik niet laat inplannen maar waarbij ik enkel de "direct start" gebruik geen "entity start window" en "entity end window" gedefinieerd in de config.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
      "name" : "Vaatwasser",
      "programs" : [
        {
          "name": "Uit",
          "power": []
        },
        {
          "name": "Snel",
          "power": [2000, 1800, 1800 ]
        }
      ],
      "entity instant start": "input_boolean.dao_vaatwasser_instant_start",
      "entity selected program" : "input_select.dao_vaatwasser_select_program",
     "entity calculated start" : "input_datetime.dao_vaatwasser_calculated_start",
    "entity calculated end" : "input_datetime.dao_vaatwasser_calculated_end"
    },
Dit resulteert in de volgende errors:
code:
1
2
3
4
5
6
machines.3.entity start window
  Field required [type=missing, input_value={'name': 'Vaatwasser', 'p...twasser_calculated_end'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
machines.3.entity end window
  Field required [type=missing, input_value={'name': 'Vaatwasser', 'p...twasser_calculated_end'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
2. Daarnaast liep de migratie ook fout op de configuratie van mijn "yacuzzi" boiler:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
"boiler": {
        "boiler present": "True",
        "entity boiler enabled": "input_boolean.dao_yacuzzi_boiler_enabled",
        "entity actual temp.": "sensor.dao_yacuzzi_boiler_accurate_current_temperature",
        "entity setpoint": "input_number.dao_yacuzzi_boiler_setpoint", 
        "entity hysterese": "input_number.dao_yacuzzi_boiler_hysterese", 
        "cop": 0.8,
        "cooling rate": 0.16, 
        "volume": 1200,
        "heating allowed below": "sensor.dao_yacuzzi_boiler_heating_allowed_below",
        "elec. power": 3000,
    "switch entity": "input_boolean.dao_yacuzzi_boiler_activate_toggle"
  },
Dit resulteert in de volgende error:
code:
1
2
3
boiler.1.heating allowed below
  Input should be a valid number, unable to parse string as a number [type=float_parsing, input_value='sensor.dao_yacuzzi_boiler_heating_allowed_below', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/float_parsing
Als tijdelijke oplossing heb ik zowel deze machines (Vaatwasser, Wasmachine en Wasdroger) alsook de boiler uit de config gehaald en daarna draait DAO weer.

  • pimNH
  • Registratie: Mei 2011
  • Laatst online: 18-04 12:43
KC27 schreef op zaterdag 11 april 2026 @ 15:27:
Er zit een storende fout in versie 2026.04.0 / 2026.04.0.rc3:
Bedankt voor de snelle reactie, ik heb de nieuwste versie geinstalleerd maar krijg nog steeds de volgende fout:
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
[16:13:46] INFO: check_db.py failed, exiting
[16:20:49] INFO: => directory dao_data exist
[16:20:49] INFO: => /root/dao/data doesn't exist, made
[16:20:49] INFO: => /root/dao/webserver/app/static/data exist
2026-04-11 16:20:53 INFO: Configuration needs migration from unversioned to v0
2026-04-11 16:20:53 INFO: Saved backup configuration to ../data/options_unversioned.json
2026-04-11 16:20:53 INFO: Migrating unversioned configuration to v0
2026-04-11 16:20:53 INFO: Added config_version=0 to unversioned configuration
2026-04-11 16:20:53 INFO: Migrated scheduler: active=True, 11 schedule entries
2026-04-11 16:20:53 INFO: Coerced boiler.boiler present from 'False' to boolean
2026-04-11 16:20:53 INFO: Coerced heating.heater present from 'False' to boolean
2026-04-11 16:20:53 INFO: Configuration at version 0
Error loading configuration: 5 validation errors for ConfigurationV0
battery.0.entity set power feedin
  Value error, Invalid Home Assistant entity ID: 'input_number.DAO_Bat_pwr'. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='input_number.DAO_Bat_pwr', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
battery.0.entity set operating mode
  Value error, Invalid Home Assistant entity ID: 'input_select.DAO_Bat_opmode'. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='input_select.DAO_Bat_opmode', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
battery.0.entity balance switch
  Value error, Invalid Home Assistant entity ID: 'input_boolean.DAO_Bat_balance'. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='input_boolean.DAO_Bat_balance', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
battery.0.solar
  Input should be a valid list [type=list_type, input_value='', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/list_type
solar.0.entity pv switch
  Value error, Invalid Home Assistant entity ID: ''. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
[16:20:53] INFO: check_db.py failed, exiting
Weet iemand hoe ik bij de config kan komen buiten DAO om. Ik draai gewoon in homeassistant.

  • Lasoul
  • Registratie: November 2001
  • Laatst online: 00:59
pimNH schreef op zaterdag 11 april 2026 @ 16:24:
[...]


Bedankt voor de snelle reactie, ik heb de nieuwste versie geinstalleerd maar krijg nog steeds de volgende fout:
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
[16:13:46] INFO: check_db.py failed, exiting
[16:20:49] INFO: => directory dao_data exist
[16:20:49] INFO: => /root/dao/data doesn't exist, made
[16:20:49] INFO: => /root/dao/webserver/app/static/data exist
2026-04-11 16:20:53 INFO: Configuration needs migration from unversioned to v0
2026-04-11 16:20:53 INFO: Saved backup configuration to ../data/options_unversioned.json
2026-04-11 16:20:53 INFO: Migrating unversioned configuration to v0
2026-04-11 16:20:53 INFO: Added config_version=0 to unversioned configuration
2026-04-11 16:20:53 INFO: Migrated scheduler: active=True, 11 schedule entries
2026-04-11 16:20:53 INFO: Coerced boiler.boiler present from 'False' to boolean
2026-04-11 16:20:53 INFO: Coerced heating.heater present from 'False' to boolean
2026-04-11 16:20:53 INFO: Configuration at version 0
Error loading configuration: 5 validation errors for ConfigurationV0
battery.0.entity set power feedin
  Value error, Invalid Home Assistant entity ID: 'input_number.DAO_Bat_pwr'. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='input_number.DAO_Bat_pwr', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
battery.0.entity set operating mode
  Value error, Invalid Home Assistant entity ID: 'input_select.DAO_Bat_opmode'. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='input_select.DAO_Bat_opmode', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
battery.0.entity balance switch
  Value error, Invalid Home Assistant entity ID: 'input_boolean.DAO_Bat_balance'. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='input_boolean.DAO_Bat_balance', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
battery.0.solar
  Input should be a valid list [type=list_type, input_value='', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/list_type
solar.0.entity pv switch
  Value error, Invalid Home Assistant entity ID: ''. Expected format: 'domain.object_id' (e.g. 'sensor.battery_soc'). [type=value_error, input_value='', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
[16:20:53] INFO: check_db.py failed, exiting
Weet iemand hoe ik bij de config kan komen buiten DAO om. Ik draai gewoon in homeassistant.
Terminal addon/app installeren en dan in de terminal naar de directory "/addon_config/xxxxxx_day_ahead_opt/dao_data" gaan en daar het bestand options.json aanpassen.

  • simnet
  • Registratie: Januari 2020
  • Laatst online: 20:41
HA entities worden gecontroleerd met deze RE: https://github.com/cornee...config/models/base.py#L18

Ik heb nooit rekening gehouden dat iemand hoofdletters zou gebruiken 🙈

  • pimNH
  • Registratie: Mei 2011
  • Laatst online: 18-04 12:43
simnet schreef op zaterdag 11 april 2026 @ 17:19:
HA entities worden gecontroleerd met deze RE: https://github.com/cornee...config/models/base.py#L18

Ik heb nooit rekening gehouden dat iemand hoofdletters zou gebruiken 🙈
Haha dan denk ik dat daar mijn probleem zit. Gaat dit aangepast worden in DAO of zal ik de entities hernoemen?

  • simnet
  • Registratie: Januari 2020
  • Laatst online: 20:41
pimNH schreef op zaterdag 11 april 2026 @ 17:35:
[...]


Haha dan denk ik dat daar mijn probleem zit. Gaat dit aangepast worden in DAO of zal ik de entities hernoemen?
Ik geloof dat @KC27 al bezig is.
Er is een nieuwe versie onderweg waarin de hoofdletters in entity-namen worden geaccepteerd:
versie 2026.04.2 / 2026.04.2.rc1
Die zal er over ongeveer 10 minuten zijn.

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


  • pimNH
  • Registratie: Mei 2011
  • Laatst online: 18-04 12:43
Bedankt voor de snelle fix, alles werkt weer.
Ik krijg wel de melding: Opdracht 'Optimaliseringsberekening zonder debug' geëindigd met fout
maar ik zie in de logging niks fout gaan en ik krijg ook gewoon een voorspelling:
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
2026-04-11 18:43:21 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-11 18:43:21 INFO: Validating configuration with ConfigurationV0
2026-04-11 18:43:21 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-11 18:43:21 info: Day Ahead Optimalisering gestart op: 11-04-2026 18:43:21
2026-04-11 18:43:21 info: Day Ahead Optimalisatie gestart: 11-04-2026 18:43:21 taak: calc_optimum
2026-04-11 18:43:21 info: Debug = False
2026-04-11 18:43:21 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2026-04-11 18:43:21 info: Baseload uit instellingen
2026-04-11 18:43:22 info: ML prediction achter
                   date_time  prediction
0  2026-04-11 18:00:00+02:00       0.036
1  2026-04-11 19:00:00+02:00       0.032
2  2026-04-11 20:00:00+02:00       0.007
3  2026-04-11 21:00:00+02:00       0.005
4  2026-04-11 22:00:00+02:00       0.005
5  2026-04-11 23:00:00+02:00       0.005
6  2026-04-12 00:00:00+02:00       0.005
7  2026-04-12 01:00:00+02:00       0.005
8  2026-04-12 02:00:00+02:00       0.005
9  2026-04-12 03:00:00+02:00       0.005
10 2026-04-12 04:00:00+02:00       0.005
11 2026-04-12 05:00:00+02:00       0.005
12 2026-04-12 06:00:00+02:00       0.005
13 2026-04-12 07:00:00+02:00       1.336
14 2026-04-12 08:00:00+02:00       2.879
15 2026-04-12 09:00:00+02:00       4.035
16 2026-04-12 10:00:00+02:00       4.658
17 2026-04-12 11:00:00+02:00       4.453
18 2026-04-12 12:00:00+02:00       4.555
19 2026-04-12 13:00:00+02:00       4.150
20 2026-04-12 14:00:00+02:00       3.034
21 2026-04-12 15:00:00+02:00       1.879
22 2026-04-12 16:00:00+02:00       0.982
23 2026-04-12 17:00:00+02:00       0.563
24 2026-04-12 18:00:00+02:00       0.370
25 2026-04-12 19:00:00+02:00       0.250
26 2026-04-12 20:00:00+02:00       0.016
27 2026-04-12 21:00:00+02:00       0.005
28 2026-04-12 22:00:00+02:00       0.005
29 2026-04-12 23:00:00+02:00       0.005
2026-04-11 18:43:22 info: Start waarden: 
      uur                tijd   spot   p_l   p_t  base  pv_ac  pv_dc
0   18:00 2026-04-11 18:00:00  0.070 0.216 0.171 0.300  0.010      0
1   19:00 2026-04-11 19:00:00  0.091 0.241 0.197 0.300  0.032      0
2   20:00 2026-04-11 20:00:00  0.107 0.261 0.216 0.300  0.007      0
3   21:00 2026-04-11 21:00:00  0.103 0.256 0.211 0.300  0.005      0
4   22:00 2026-04-11 22:00:00  0.120 0.276 0.232 0.140  0.005      0
5   23:00 2026-04-11 23:00:00  0.082 0.231 0.186 0.140  0.005      0
6   00:00 2026-04-12 00:00:00  0.068 0.213 0.169 0.140  0.005      0
7   01:00 2026-04-12 01:00:00  0.070 0.216 0.171 0.140  0.005      0
8   02:00 2026-04-12 02:00:00  0.073 0.220 0.175 0.140  0.005      0
9   03:00 2026-04-12 03:00:00  0.077 0.224 0.180 0.140  0.005      0
10  04:00 2026-04-12 04:00:00  0.086 0.235 0.190 0.140  0.005      0
11  05:00 2026-04-12 05:00:00  0.088 0.238 0.194 0.140  0.005      0
12  06:00 2026-04-12 06:00:00  0.088 0.238 0.194 0.140  0.005      0
13  07:00 2026-04-12 07:00:00  0.084 0.233 0.188 0.140  1.336      0
14  08:00 2026-04-12 08:00:00  0.068 0.214 0.169 0.140  2.879      0
15  09:00 2026-04-12 09:00:00  0.046 0.187 0.143 0.140  4.035      0
16  10:00 2026-04-12 10:00:00  0.016 0.151 0.106 0.140  4.658      0
17  11:00 2026-04-12 11:00:00 -0.002 0.129 0.084 0.140  4.453      0
18  12:00 2026-04-12 12:00:00 -0.002 0.129 0.084 0.140  4.555      0
19  13:00 2026-04-12 13:00:00 -0.001 0.130 0.085 0.140  4.150      0
20  14:00 2026-04-12 14:00:00  0.005 0.137 0.092 0.140  3.034      0
21  15:00 2026-04-12 15:00:00  0.016 0.151 0.106 0.140  1.879      0
22  16:00 2026-04-12 16:00:00  0.062 0.206 0.161 0.140  0.982      0
23  17:00 2026-04-12 17:00:00  0.103 0.256 0.211 0.600  0.563      0
24  18:00 2026-04-12 18:00:00  0.132 0.292 0.247 0.300  0.370      0
25  19:00 2026-04-12 19:00:00  0.144 0.306 0.261 0.300  0.250      0
26  20:00 2026-04-12 20:00:00  0.146 0.308 0.263 0.300  0.016      0
27  21:00 2026-04-12 21:00:00  0.137 0.297 0.252 0.300  0.005      0
28  22:00 2026-04-12 22:00:00  0.131 0.289 0.245 0.140  0.005      0
29  23:00 2026-04-12 23:00:00  0.121 0.278 0.233 0.140  0.005      0
2026-04-11 18:43:22 info: No reduced hours applied for Marstek Venus-E
2026-04-11 18:43:22 info: No reduced power applied during discharging at low soc
2026-04-11 18:43:22 info: No reduced power applied during charging at high soc
2026-04-11 18:43:22 info: Startwaarde SoC Marstek Venus-E: 24.0%

2026-04-11 18:43:22 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2026-04-11 18:43:22 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland
2026-04-11 18:43:22 info: Apparaat vaatwasser direct starten staat uit
2026-04-11 18:43:22 info: Machine vaatwasser wordt niet ingepland, want er is gekozen voor Uit
2026-04-11 18:43:22 info: Apparaat Koelkast direct starten staat uit
2026-04-11 18:43:22 info: Apparaat Koelkast met programma 'Kouder' wordt ingepland tussen 2026-04-11 18:43 en 2026-04-12 13:58.
2026-04-11 18:43:22 info: Apparaat WPBoiler direct starten staat uit
2026-04-11 18:43:22 info: Apparaat WPBoiler met programma 'aan' wordt ingepland tussen 2026-04-11 19:00 en 2026-04-12 17:00.
2026-04-11 18:43:22 info: Strategie: minimale kosten
2026-04-11 18:43:22 info: Maximale fout (maximal gap): 0.005000 euro
2026-04-11 18:43:23 info: Rekentijd: 0.28  sec
2026-04-11 18:43:23 info: Het programma heeft een optimale oplossing gevonden.
2026-04-11 18:43:23 info: Ontlaad volume in uur 2 20:00 0.29268498178571456 kWh
2026-04-11 18:43:23 info: 2 0.36585622723214317 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 3 21:00 0.09055022624754883 kWh
2026-04-11 18:43:23 info: 2 0.11318778280943602 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 4 22:00 0.13490879196673633 kWh
2026-04-11 18:43:23 info: 2 0.1686359899584204 0.8
2026-04-11 18:43:23 info: Laad volume in uur 17 11:00 0.0 kWh
2026-04-11 18:43:23 info: 4 1.0 2.5
2026-04-11 18:43:23 info: Laad volume in uur 18 12:00 0.0 kWh
2026-04-11 18:43:23 info: 3 0.5127356321839087 1.25
2026-04-11 18:43:23 info: 4 0.4872643678160914 2.5
2026-04-11 18:43:23 info: Laad volume in uur 19 13:00 0.0 kWh
2026-04-11 18:43:23 info: 2 1.0 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 23 17:00 0.03687176704406734 kWh
2026-04-11 18:43:23 info: 2 0.04608970880508417 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 25 19:00 0.8 kWh
2026-04-11 18:43:23 info: 2 1.0 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 26 20:00 2.096082186021485 kWh
2026-04-11 18:43:23 info: 4 0.8384328744085937 2.5
2026-04-11 18:43:23 info: Ontlaad volume in uur 27 21:00 0.8 kWh
2026-04-11 18:43:23 info: 2 1.0 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 28 22:00 0.13490879196673633 kWh
2026-04-11 18:43:23 info: 2 0.16863598995842044 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 29 23:00 0.13490879196673633 kWh
2026-04-11 18:43:23 info: 2 0.1686359899584204 0.8
2026-04-11 18:43:23 info: In- en uitgaande energie per uur batterij Marstek Venus-E
   uur   ac->    eff   ->dc pv->dc   dc->    eff  ->bat  o_eff    SoC
          kWh      %    kWh    kWh    kWh      %    kWh      %      %
 18:00   0.00     --   0.00   0.00   0.00     --   0.00     --  24.00
 19:00   0.00     --   0.00   0.00   0.00     --   0.00     --  24.00
 20:00  -0.29  92.00  -0.32   0.00  -0.32 100.00  -0.32  92.00  17.79
 21:00  -0.09  92.00  -0.10   0.00  -0.10 100.00  -0.10  92.00  15.86
 22:00  -0.13  92.00  -0.15   0.00  -0.15 100.00  -0.15  92.00  13.00
 23:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 00:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 01:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 02:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 03:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 04:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 05:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 06:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 07:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 08:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 09:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 10:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 11:00   2.50  86.00   2.15   0.00   2.15 100.00   2.15  86.00  54.99
 12:00   1.86  85.66   1.59   0.00   1.59 100.00   1.59  85.66  86.09
 13:00   0.80  89.00   0.71   0.00   0.71 100.00   0.71  89.00 100.00
 14:00   0.00     --   0.00   0.00   0.00     --   0.00     -- 100.00
 15:00   0.00     --   0.00   0.00   0.00     --   0.00     -- 100.00
 16:00   0.00     --   0.00   0.00   0.00     --   0.00     -- 100.00
 17:00  -0.04  92.00  -0.04   0.00  -0.04 100.00  -0.04  92.00  99.22
 18:00   0.00     --   0.00   0.00   0.00     --   0.00     --  99.22
 19:00  -0.80  92.00  -0.87   0.00  -0.87 100.00  -0.87  92.00  82.23
 20:00  -2.10  88.00  -2.38   0.00  -2.38 100.00  -2.38  88.00  35.71
 21:00  -0.80  92.00  -0.87   0.00  -0.87 100.00  -0.87  92.00  18.73
 22:00  -0.13  92.00  -0.15   0.00  -0.15 100.00  -0.15  92.00  15.86
 23:00  -0.13  92.00  -0.15   0.00  -0.15 100.00  -0.15  92.00  13.00
Totaal   0.64         -0.56   0.00  -0.56         -0.56              
2026-04-11 18:43:23 info: Berekende prognoses: 
   uur  bat_in  bat_out   cons   prod   base   boil     wp     ev  pv_ac   cost  profit  b_tem   mach
 18:00    0.00     0.00   0.07   0.00   0.30   0.00   0.00   0.00   0.01   0.02   -0.00  20.00   0.00
 19:00    0.00     0.00   0.27   0.00   0.30   0.00   0.00   0.00   0.03   0.06   -0.00  20.00   0.00
 20:00    0.00     0.29   0.00   0.00   0.30   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 21:00    0.00     0.09   0.20   0.00   0.30   0.00   0.00   0.00   0.01   0.05   -0.00  20.00   0.00
 22:00    0.00     0.13   0.00   0.00   0.14   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 23:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 00:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 01:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 02:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 03:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 04:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 05:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 06:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 07:00    0.00     0.00   0.00   1.20   0.14   0.00   0.00   0.00   1.34   0.00   -0.23  20.00   0.00
 08:00    0.00     0.00   0.00   2.74   0.14   0.00   0.00   0.00   2.88   0.00   -0.46  20.00   0.00
 09:00    0.00     0.00   0.00   3.89   0.14   0.00   0.00   0.00   4.03   0.00   -0.56  20.00   0.00
 10:00    0.00     0.00   0.00   4.52   0.14   0.00   0.00   0.00   4.66   0.00   -0.48  20.00   0.00
 11:00    2.50     0.00   0.00   1.81   0.14   0.00   0.00   0.00   4.45   0.00   -0.15  20.00   0.00
 12:00    1.86     0.00   0.00   2.56   0.14   0.00   0.00   0.00   4.56   0.00   -0.22  20.00   0.00
 13:00    0.80     0.00   0.00   3.21   0.14   0.00   0.00   0.00   4.15   0.00   -0.27  20.00   0.00
 14:00    0.00     0.00   0.00   2.89   0.14   0.00   0.00   0.00   3.03   0.00   -0.27  20.00   0.00
 15:00    0.00     0.00   0.00   1.74   0.14   0.00   0.00   0.00   1.88   0.00   -0.18  20.00   0.00
 16:00    0.00     0.00   0.00   0.84   0.14   0.00   0.00   0.00   0.98   0.00   -0.14  20.00   0.00
 17:00    0.00     0.04   0.00   0.00   0.60   0.00   0.00   0.00   0.56   0.00   -0.00  20.00   0.00
 18:00    0.00     0.00   0.00   0.07   0.30   0.00   0.00   0.00   0.37   0.00   -0.02  20.00   0.00
 19:00    0.00     0.80   0.00   0.75   0.30   0.00   0.00   0.00   0.25   0.00   -0.20  20.00   0.00
 20:00    0.00     2.10   0.00   1.81   0.30   0.00   0.00   0.00   0.02   0.00   -0.48  20.00   0.00
 21:00    0.00     0.80   0.00   0.51   0.30   0.00   0.00   0.00   0.01   0.00   -0.13  20.00   0.00
 22:00    0.00     0.13   0.00   0.00   0.14   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 23:00    0.00     0.13   0.00   0.00   0.14   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
Totaal    5.16     4.52   1.62  28.54   5.94   0.00   0.00   0.00  33.28   0.38   -3.77    NaN   0.00

2026-04-11 18:43:23 info: Consumption               1.62 (kWh)
2026-04-11 18:43:23 info: Cost consumption          0.38 (€)
2026-04-11 18:43:23 info: Tariff consumption        0.233 (€/kWh)
2026-04-11 18:43:23 info: Production               28.54 (kWh)
2026-04-11 18:43:23 info: Profit production        -3.77 (€)
2026-04-11 18:43:23 info: Tariff production         0.132 (€/kWh)

2026-04-11 18:43:23 info: 
Calculation profit after optimize in €
Cost before optimize             -2.57
Cost consumption      0.38
Cycle cost            0.38
Penalty cost          0.00
Battery storage       0.10
Boiler storage        0.00
Profit production    -3.77
Total                -2.91
Cost after optimize              -2.91
Profit:                           0.35
2026-04-11 18:43:23 info: Doorzetten van alle settings naar HA
2026-04-11 18:43:23 info: Grid set point: 264.0 W
2026-04-11 18:43:23 info: Cycle cost Marstek Venus-E: 0.38 euro
2026-04-11 18:43:24 info: Netto vermogen naar(+)/uit(-) omvormer Marstek Venus-E: 0 W 
2026-04-11 18:43:24 info: Balanceren: off
2026-04-11 18:43:24 info: Vermogen uit batterij: 0W
2026-04-11 18:43:24 info: Vermogen dat binnenkomt van pv: 0W
2026-04-11 18:43:24 info: Vermogen dat binnenkomt van ac: 0W
2026-04-11 18:43:24 info: Waarde SoC na eerste uur: 24.0%
2026-04-11 18:43:24 info: Apparaat: vaatwasser
2026-04-11 18:43:24 info: Programma: Uit
2026-04-11 18:43:24 info: Apparaat: Koelkast
2026-04-11 18:43:24 info: Programma: Kouder
2026-04-11 18:43:24 info: Start op 2026-04-12 09:45
2026-04-11 18:43:24 info: Is klaar op 2026-04-12 13:45
2026-04-11 18:43:24 info: Apparaat: WPBoiler
2026-04-11 18:43:24 info: Programma: aan
2026-04-11 18:43:24 info: Start op 2026-04-12 11:00
2026-04-11 18:43:24 info: Is klaar op 2026-04-12 11:45
Config:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
{
  "config_version": 0,
  "homeassistant": {
    "ip_address": "supervisor",
    "protocol_api": "http"
  },
  "database_ha": {
    "engine": "sqlite",
    "db_path": "/homeassistant",
    "database": "home-assistant_v2.db"
  },
  "database_da": {
    "engine": "sqlite",
    "db_path": "../data",
    "database": "day_ahead.db"
  },
  "meteoserver_key": "!secret meteoserver-key",
  "meteoserver_model": "harmonie",
  "meteoserver_attemps": 2,
  "prices": {
    "source_day_ahead": "nordpool",
    "energy_taxes_consumption": {
      "2026-01-01": 0.09161
    },
    "energy_taxes_production": {
      "2026-01-01": 0.09161
    },
    "cost_supplier_consumption": {
      "2024-08-01": 0.017
    },
    "cost_supplier_production": {
      "2024-08-01": -0.02
    },
    "vat_consumption": {
      "2023-01-01": 21.0
    },
    "vat_production": {
      "2023-01-01": 21.0
    },
    "last_invoice": "2022-09-01",
    "tax_refund": true,
    "regular high": 0.5,
    "regular low": 0.4,
    "switch to low": 23
  },
  "logging_level": "info",
  "use_calc_baseload": false,
  "baseload_calc_periode": 56,
  "baseload": [
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.6,
    0.3,
    0.3,
    0.3,
    0.3,
    0.14,
    0.14
  ],
  "graphical_backend": "",
  "graphics": {
    "style": "default",
    "battery_balance": true,
    "prices_consumption": true,
    "prices_production": true,
    "prices_spot": true,
    "average_consumption": true,
    "show": "true"
  },
  "interval": "1hour",
  "strategy": "minimize cost",
  "max_gap": 0.005,
  "notifications": {
    "opstarten": false,
    "berekening": false
  },
  "grid": {
    "max_power": 17.0
  },
  "history": {
    "save_days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "battery": [
    {
      "name": "Marstek Venus-E",
      "entity_actual_level": "sensor.marstek1_battery_soc",
      "capacity": 5.12,
      "upper_limit": 100,
      "lower_limit": 13,
      "optimal_lower_level": 13,
      "penalty_low_soc": 0.0025,
      "charge_stages": [
        {
          "power": 0.0,
          "efficiency": 1.0
        },
        {
          "power": 100.0,
          "efficiency": 0.5
        },
        {
          "power": 800.0,
          "efficiency": 0.89
        },
        {
          "power": 1250.0,
          "efficiency": 0.85
        },
        {
          "power": 2500.0,
          "efficiency": 0.86
        }
      ],
      "discharge_stages": [
        {
          "power": 0.0,
          "efficiency": 1.0
        },
        {
          "power": 100.0,
          "efficiency": 0.5
        },
        {
          "power": 800.0,
          "efficiency": 0.92
        },
        {
          "power": 1250.0,
          "efficiency": 0.85
        },
        {
          "power": 2500.0,
          "efficiency": 0.88
        }
      ],
      "reduce_power_low_soc": [],
      "reduce_power_high_soc": [],
      "minimum_power": 100,
      "dc_to_bat_efficiency": 1.0,
      "bat_to_dc_efficiency": 1.0,
      "cycle_cost": 0.04,
      "entity_set_power_feedin": "input_number.DAO_Bat_pwr",
      "entity_set_operating_mode": "input_select.DAO_Bat_opmode",
      "entity_set_operating_mode_on": "Aan",
      "entity_set_operating_mode_off": "Uit",
      "entity_balance_switch": "input_boolean.DAO_Bat_balance",
      "solar": []
    }
  ],
  "solar": [
    {
      "name": "achter",
      "tilt": 41.0,
      "orientation": -65.0,
      "capacity": 5.0,
      "yield_factor": 0.01852,
      "strings": [],
      "ml_prediction": true,
      "entities_sensors": [
        "sensor.sn_3020730749_pv_gen_meter"
      ]
    }
  ],
  "electric_vehicle": [],
  "machines": [
    {
      "name": "vaatwasser",
      "programs": [
        {
          "name": "auto",
          "power": [
            2.0,
            2.0,
            0.1,
            0.1,
            2.0,
            0.14,
            0.14,
            0.14
          ]
        },
        {
          "name": "Uit",
          "power": []
        }
      ],
      "entity_start_window": "input_datetime.dao_vaatwasser_start_window",
      "entity_end_window": "input_datetime.dao_vaatwasser_end_window",
      "entity_selected_program": "input_select.dao_vaatwasser_programma",
      "entity_calculated_start": "input_datetime.dao_vaatwasser_calculated_start",
      "entity_calculated_end": "input_datetime.dao_vaatwasser_calculated_end"
    },
    {
      "name": "Koelkast",
      "programs": [
        {
          "name": "Kouder",
          "power": [
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05
          ]
        },
        {
          "name": "Uit",
          "power": []
        }
      ],
      "entity_start_window": "input_datetime.dao_koelkast_start_window",
      "entity_end_window": "input_datetime.dao_koelkast_end_window",
      "entity_selected_program": "input_select.dao_koelkast_programma",
      "entity_calculated_start": "input_datetime.dao_koelkast_calculated_start",
      "entity_calculated_end": "input_datetime.dao_koelkast_calculated_end"
    },
    {
      "name": "WPBoiler",
      "programs": [
        {
          "name": "Aan",
          "power": [
            1.0,
            1.1,
            1.2
          ]
        },
        {
          "name": "Uit",
          "power": []
        }
      ],
      "entity_start_window": "input_datetime.dao_wpboiler_start_window",
      "entity_end_window": "input_datetime.dao_wpboiler_end_window",
      "entity_selected_program": "input_select.dao_wpboiler_programma",
      "entity_calculated_start": "input_datetime.dao_wpboiler_calculated_start",
      "entity_calculated_end": "input_datetime.dao_wpboiler_calculated_end"
    }
  ],
  "boiler": {
    "boiler_present": false,
    "entity actual temp.": "sensor.ecodan_heatpump_dhw_current_temp",
    "entity setpoint": "sensor.ecodan_heatpump_dhw_setpoint_value",
    "entity hysterese": 15,
    "cop": 2.2,
    "cooling rate": 0.2,
    "volume": 200,
    "heating allowed below": 45,
    "elec. power": 1500,
    "activate service": "turn_on",
    "activate entity": "input_boolean.forcedhwhelper"
  },
  "heating": {
    "heater_present": false,
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "tibber": {
    "api_token": "!secret tibber_api_token",
    "api_url": "https://api.tibber.com/v1-beta/gql"
  },
  "xgboost": {
    "tune_hyperparameters": true
  },
  "report": {
    "entities_grid_consumption": [
      "sensor.grid_consumption_low",
      "sensor.grid_consumption_high"
    ],
    "entities_grid_production": [
      "sensor.grid_production_low",
      "sensor.grid_production_high"
    ],
    "entities_solar_production_ac": [
      "sensor.sn_3020730749_pv_gen_meter"
    ],
    "entities_solar_production_dc": [],
    "entities_ev_consumption": [
      "sensor.laadpunt_total_energy"
    ],
    "entities_wp_consumption": [],
    "entities_boiler_consumption": [],
    "entities_battery_consumption": [
      "sensor.ess_grid_consumption"
    ],
    "entities_battery_production": [
      "sensor.ess_grid_production"
    ],
    "entities_machine_consumption": []
  },
  "scheduler": {
    "active": true,
    "schedule": [
      {
        "time": "0432",
        "action": "get_meteo_data"
      },
      {
        "time": "1031",
        "action": "get_meteo_data"
      },
      {
        "time": "1633",
        "action": "get_meteo_data"
      },
      {
        "time": "2234",
        "action": "get_meteo_data"
      },
      {
        "time": "1256",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1357",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1455",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1554",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1655",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "xx00",
        "action": "calc_optimum"
      },
      {
        "time": "2352",
        "action": "clean_data"
      }
    ]
  }
}
pimNH schreef op zaterdag 11 april 2026 @ 18:50:
Bedankt voor de snelle fix, alles werkt weer.
Ik krijg wel de melding: Opdracht 'Optimaliseringsberekening zonder debug' geëindigd met fout
maar ik zie in de logging niks fout gaan en ik krijg ook gewoon een voorspelling:
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
2026-04-11 18:43:21 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-11 18:43:21 INFO: Validating configuration with ConfigurationV0
2026-04-11 18:43:21 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-11 18:43:21 info: Day Ahead Optimalisering gestart op: 11-04-2026 18:43:21
2026-04-11 18:43:21 info: Day Ahead Optimalisatie gestart: 11-04-2026 18:43:21 taak: calc_optimum
2026-04-11 18:43:21 info: Debug = False
2026-04-11 18:43:21 waarschuwing: "last invoice" (2022-09-01) is verouderd en moet worden bijgewerkt
2026-04-11 18:43:21 info: Baseload uit instellingen
2026-04-11 18:43:22 info: ML prediction achter
                   date_time  prediction
0  2026-04-11 18:00:00+02:00       0.036
1  2026-04-11 19:00:00+02:00       0.032
2  2026-04-11 20:00:00+02:00       0.007
3  2026-04-11 21:00:00+02:00       0.005
4  2026-04-11 22:00:00+02:00       0.005
5  2026-04-11 23:00:00+02:00       0.005
6  2026-04-12 00:00:00+02:00       0.005
7  2026-04-12 01:00:00+02:00       0.005
8  2026-04-12 02:00:00+02:00       0.005
9  2026-04-12 03:00:00+02:00       0.005
10 2026-04-12 04:00:00+02:00       0.005
11 2026-04-12 05:00:00+02:00       0.005
12 2026-04-12 06:00:00+02:00       0.005
13 2026-04-12 07:00:00+02:00       1.336
14 2026-04-12 08:00:00+02:00       2.879
15 2026-04-12 09:00:00+02:00       4.035
16 2026-04-12 10:00:00+02:00       4.658
17 2026-04-12 11:00:00+02:00       4.453
18 2026-04-12 12:00:00+02:00       4.555
19 2026-04-12 13:00:00+02:00       4.150
20 2026-04-12 14:00:00+02:00       3.034
21 2026-04-12 15:00:00+02:00       1.879
22 2026-04-12 16:00:00+02:00       0.982
23 2026-04-12 17:00:00+02:00       0.563
24 2026-04-12 18:00:00+02:00       0.370
25 2026-04-12 19:00:00+02:00       0.250
26 2026-04-12 20:00:00+02:00       0.016
27 2026-04-12 21:00:00+02:00       0.005
28 2026-04-12 22:00:00+02:00       0.005
29 2026-04-12 23:00:00+02:00       0.005
2026-04-11 18:43:22 info: Start waarden: 
      uur                tijd   spot   p_l   p_t  base  pv_ac  pv_dc
0   18:00 2026-04-11 18:00:00  0.070 0.216 0.171 0.300  0.010      0
1   19:00 2026-04-11 19:00:00  0.091 0.241 0.197 0.300  0.032      0
2   20:00 2026-04-11 20:00:00  0.107 0.261 0.216 0.300  0.007      0
3   21:00 2026-04-11 21:00:00  0.103 0.256 0.211 0.300  0.005      0
4   22:00 2026-04-11 22:00:00  0.120 0.276 0.232 0.140  0.005      0
5   23:00 2026-04-11 23:00:00  0.082 0.231 0.186 0.140  0.005      0
6   00:00 2026-04-12 00:00:00  0.068 0.213 0.169 0.140  0.005      0
7   01:00 2026-04-12 01:00:00  0.070 0.216 0.171 0.140  0.005      0
8   02:00 2026-04-12 02:00:00  0.073 0.220 0.175 0.140  0.005      0
9   03:00 2026-04-12 03:00:00  0.077 0.224 0.180 0.140  0.005      0
10  04:00 2026-04-12 04:00:00  0.086 0.235 0.190 0.140  0.005      0
11  05:00 2026-04-12 05:00:00  0.088 0.238 0.194 0.140  0.005      0
12  06:00 2026-04-12 06:00:00  0.088 0.238 0.194 0.140  0.005      0
13  07:00 2026-04-12 07:00:00  0.084 0.233 0.188 0.140  1.336      0
14  08:00 2026-04-12 08:00:00  0.068 0.214 0.169 0.140  2.879      0
15  09:00 2026-04-12 09:00:00  0.046 0.187 0.143 0.140  4.035      0
16  10:00 2026-04-12 10:00:00  0.016 0.151 0.106 0.140  4.658      0
17  11:00 2026-04-12 11:00:00 -0.002 0.129 0.084 0.140  4.453      0
18  12:00 2026-04-12 12:00:00 -0.002 0.129 0.084 0.140  4.555      0
19  13:00 2026-04-12 13:00:00 -0.001 0.130 0.085 0.140  4.150      0
20  14:00 2026-04-12 14:00:00  0.005 0.137 0.092 0.140  3.034      0
21  15:00 2026-04-12 15:00:00  0.016 0.151 0.106 0.140  1.879      0
22  16:00 2026-04-12 16:00:00  0.062 0.206 0.161 0.140  0.982      0
23  17:00 2026-04-12 17:00:00  0.103 0.256 0.211 0.600  0.563      0
24  18:00 2026-04-12 18:00:00  0.132 0.292 0.247 0.300  0.370      0
25  19:00 2026-04-12 19:00:00  0.144 0.306 0.261 0.300  0.250      0
26  20:00 2026-04-12 20:00:00  0.146 0.308 0.263 0.300  0.016      0
27  21:00 2026-04-12 21:00:00  0.137 0.297 0.252 0.300  0.005      0
28  22:00 2026-04-12 22:00:00  0.131 0.289 0.245 0.140  0.005      0
29  23:00 2026-04-12 23:00:00  0.121 0.278 0.233 0.140  0.005      0
2026-04-11 18:43:22 info: No reduced hours applied for Marstek Venus-E
2026-04-11 18:43:22 info: No reduced power applied during discharging at low soc
2026-04-11 18:43:22 info: No reduced power applied during charging at high soc
2026-04-11 18:43:22 info: Startwaarde SoC Marstek Venus-E: 24.0%

2026-04-11 18:43:22 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2026-04-11 18:43:22 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland
2026-04-11 18:43:22 info: Apparaat vaatwasser direct starten staat uit
2026-04-11 18:43:22 info: Machine vaatwasser wordt niet ingepland, want er is gekozen voor Uit
2026-04-11 18:43:22 info: Apparaat Koelkast direct starten staat uit
2026-04-11 18:43:22 info: Apparaat Koelkast met programma 'Kouder' wordt ingepland tussen 2026-04-11 18:43 en 2026-04-12 13:58.
2026-04-11 18:43:22 info: Apparaat WPBoiler direct starten staat uit
2026-04-11 18:43:22 info: Apparaat WPBoiler met programma 'aan' wordt ingepland tussen 2026-04-11 19:00 en 2026-04-12 17:00.
2026-04-11 18:43:22 info: Strategie: minimale kosten
2026-04-11 18:43:22 info: Maximale fout (maximal gap): 0.005000 euro
2026-04-11 18:43:23 info: Rekentijd: 0.28  sec
2026-04-11 18:43:23 info: Het programma heeft een optimale oplossing gevonden.
2026-04-11 18:43:23 info: Ontlaad volume in uur 2 20:00 0.29268498178571456 kWh
2026-04-11 18:43:23 info: 2 0.36585622723214317 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 3 21:00 0.09055022624754883 kWh
2026-04-11 18:43:23 info: 2 0.11318778280943602 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 4 22:00 0.13490879196673633 kWh
2026-04-11 18:43:23 info: 2 0.1686359899584204 0.8
2026-04-11 18:43:23 info: Laad volume in uur 17 11:00 0.0 kWh
2026-04-11 18:43:23 info: 4 1.0 2.5
2026-04-11 18:43:23 info: Laad volume in uur 18 12:00 0.0 kWh
2026-04-11 18:43:23 info: 3 0.5127356321839087 1.25
2026-04-11 18:43:23 info: 4 0.4872643678160914 2.5
2026-04-11 18:43:23 info: Laad volume in uur 19 13:00 0.0 kWh
2026-04-11 18:43:23 info: 2 1.0 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 23 17:00 0.03687176704406734 kWh
2026-04-11 18:43:23 info: 2 0.04608970880508417 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 25 19:00 0.8 kWh
2026-04-11 18:43:23 info: 2 1.0 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 26 20:00 2.096082186021485 kWh
2026-04-11 18:43:23 info: 4 0.8384328744085937 2.5
2026-04-11 18:43:23 info: Ontlaad volume in uur 27 21:00 0.8 kWh
2026-04-11 18:43:23 info: 2 1.0 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 28 22:00 0.13490879196673633 kWh
2026-04-11 18:43:23 info: 2 0.16863598995842044 0.8
2026-04-11 18:43:23 info: Ontlaad volume in uur 29 23:00 0.13490879196673633 kWh
2026-04-11 18:43:23 info: 2 0.1686359899584204 0.8
2026-04-11 18:43:23 info: In- en uitgaande energie per uur batterij Marstek Venus-E
   uur   ac->    eff   ->dc pv->dc   dc->    eff  ->bat  o_eff    SoC
          kWh      %    kWh    kWh    kWh      %    kWh      %      %
 18:00   0.00     --   0.00   0.00   0.00     --   0.00     --  24.00
 19:00   0.00     --   0.00   0.00   0.00     --   0.00     --  24.00
 20:00  -0.29  92.00  -0.32   0.00  -0.32 100.00  -0.32  92.00  17.79
 21:00  -0.09  92.00  -0.10   0.00  -0.10 100.00  -0.10  92.00  15.86
 22:00  -0.13  92.00  -0.15   0.00  -0.15 100.00  -0.15  92.00  13.00
 23:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 00:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 01:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 02:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 03:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 04:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 05:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 06:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 07:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 08:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 09:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 10:00   0.00     --   0.00   0.00   0.00     --   0.00     --  13.00
 11:00   2.50  86.00   2.15   0.00   2.15 100.00   2.15  86.00  54.99
 12:00   1.86  85.66   1.59   0.00   1.59 100.00   1.59  85.66  86.09
 13:00   0.80  89.00   0.71   0.00   0.71 100.00   0.71  89.00 100.00
 14:00   0.00     --   0.00   0.00   0.00     --   0.00     -- 100.00
 15:00   0.00     --   0.00   0.00   0.00     --   0.00     -- 100.00
 16:00   0.00     --   0.00   0.00   0.00     --   0.00     -- 100.00
 17:00  -0.04  92.00  -0.04   0.00  -0.04 100.00  -0.04  92.00  99.22
 18:00   0.00     --   0.00   0.00   0.00     --   0.00     --  99.22
 19:00  -0.80  92.00  -0.87   0.00  -0.87 100.00  -0.87  92.00  82.23
 20:00  -2.10  88.00  -2.38   0.00  -2.38 100.00  -2.38  88.00  35.71
 21:00  -0.80  92.00  -0.87   0.00  -0.87 100.00  -0.87  92.00  18.73
 22:00  -0.13  92.00  -0.15   0.00  -0.15 100.00  -0.15  92.00  15.86
 23:00  -0.13  92.00  -0.15   0.00  -0.15 100.00  -0.15  92.00  13.00
Totaal   0.64         -0.56   0.00  -0.56         -0.56              
2026-04-11 18:43:23 info: Berekende prognoses: 
   uur  bat_in  bat_out   cons   prod   base   boil     wp     ev  pv_ac   cost  profit  b_tem   mach
 18:00    0.00     0.00   0.07   0.00   0.30   0.00   0.00   0.00   0.01   0.02   -0.00  20.00   0.00
 19:00    0.00     0.00   0.27   0.00   0.30   0.00   0.00   0.00   0.03   0.06   -0.00  20.00   0.00
 20:00    0.00     0.29   0.00   0.00   0.30   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 21:00    0.00     0.09   0.20   0.00   0.30   0.00   0.00   0.00   0.01   0.05   -0.00  20.00   0.00
 22:00    0.00     0.13   0.00   0.00   0.14   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 23:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 00:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 01:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 02:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 03:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 04:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 05:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 06:00    0.00     0.00   0.13   0.00   0.14   0.00   0.00   0.00   0.01   0.03   -0.00  20.00   0.00
 07:00    0.00     0.00   0.00   1.20   0.14   0.00   0.00   0.00   1.34   0.00   -0.23  20.00   0.00
 08:00    0.00     0.00   0.00   2.74   0.14   0.00   0.00   0.00   2.88   0.00   -0.46  20.00   0.00
 09:00    0.00     0.00   0.00   3.89   0.14   0.00   0.00   0.00   4.03   0.00   -0.56  20.00   0.00
 10:00    0.00     0.00   0.00   4.52   0.14   0.00   0.00   0.00   4.66   0.00   -0.48  20.00   0.00
 11:00    2.50     0.00   0.00   1.81   0.14   0.00   0.00   0.00   4.45   0.00   -0.15  20.00   0.00
 12:00    1.86     0.00   0.00   2.56   0.14   0.00   0.00   0.00   4.56   0.00   -0.22  20.00   0.00
 13:00    0.80     0.00   0.00   3.21   0.14   0.00   0.00   0.00   4.15   0.00   -0.27  20.00   0.00
 14:00    0.00     0.00   0.00   2.89   0.14   0.00   0.00   0.00   3.03   0.00   -0.27  20.00   0.00
 15:00    0.00     0.00   0.00   1.74   0.14   0.00   0.00   0.00   1.88   0.00   -0.18  20.00   0.00
 16:00    0.00     0.00   0.00   0.84   0.14   0.00   0.00   0.00   0.98   0.00   -0.14  20.00   0.00
 17:00    0.00     0.04   0.00   0.00   0.60   0.00   0.00   0.00   0.56   0.00   -0.00  20.00   0.00
 18:00    0.00     0.00   0.00   0.07   0.30   0.00   0.00   0.00   0.37   0.00   -0.02  20.00   0.00
 19:00    0.00     0.80   0.00   0.75   0.30   0.00   0.00   0.00   0.25   0.00   -0.20  20.00   0.00
 20:00    0.00     2.10   0.00   1.81   0.30   0.00   0.00   0.00   0.02   0.00   -0.48  20.00   0.00
 21:00    0.00     0.80   0.00   0.51   0.30   0.00   0.00   0.00   0.01   0.00   -0.13  20.00   0.00
 22:00    0.00     0.13   0.00   0.00   0.14   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
 23:00    0.00     0.13   0.00   0.00   0.14   0.00   0.00   0.00   0.01   0.00   -0.00  20.00   0.00
Totaal    5.16     4.52   1.62  28.54   5.94   0.00   0.00   0.00  33.28   0.38   -3.77    NaN   0.00

2026-04-11 18:43:23 info: Consumption               1.62 (kWh)
2026-04-11 18:43:23 info: Cost consumption          0.38 (€)
2026-04-11 18:43:23 info: Tariff consumption        0.233 (€/kWh)
2026-04-11 18:43:23 info: Production               28.54 (kWh)
2026-04-11 18:43:23 info: Profit production        -3.77 (€)
2026-04-11 18:43:23 info: Tariff production         0.132 (€/kWh)

2026-04-11 18:43:23 info: 
Calculation profit after optimize in €
Cost before optimize             -2.57
Cost consumption      0.38
Cycle cost            0.38
Penalty cost          0.00
Battery storage       0.10
Boiler storage        0.00
Profit production    -3.77
Total                -2.91
Cost after optimize              -2.91
Profit:                           0.35
2026-04-11 18:43:23 info: Doorzetten van alle settings naar HA
2026-04-11 18:43:23 info: Grid set point: 264.0 W
2026-04-11 18:43:23 info: Cycle cost Marstek Venus-E: 0.38 euro
2026-04-11 18:43:24 info: Netto vermogen naar(+)/uit(-) omvormer Marstek Venus-E: 0 W 
2026-04-11 18:43:24 info: Balanceren: off
2026-04-11 18:43:24 info: Vermogen uit batterij: 0W
2026-04-11 18:43:24 info: Vermogen dat binnenkomt van pv: 0W
2026-04-11 18:43:24 info: Vermogen dat binnenkomt van ac: 0W
2026-04-11 18:43:24 info: Waarde SoC na eerste uur: 24.0%
2026-04-11 18:43:24 info: Apparaat: vaatwasser
2026-04-11 18:43:24 info: Programma: Uit
2026-04-11 18:43:24 info: Apparaat: Koelkast
2026-04-11 18:43:24 info: Programma: Kouder
2026-04-11 18:43:24 info: Start op 2026-04-12 09:45
2026-04-11 18:43:24 info: Is klaar op 2026-04-12 13:45
2026-04-11 18:43:24 info: Apparaat: WPBoiler
2026-04-11 18:43:24 info: Programma: aan
2026-04-11 18:43:24 info: Start op 2026-04-12 11:00
2026-04-11 18:43:24 info: Is klaar op 2026-04-12 11:45
Config:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
{
  "config_version": 0,
  "homeassistant": {
    "ip_address": "supervisor",
    "protocol_api": "http"
  },
  "database_ha": {
    "engine": "sqlite",
    "db_path": "/homeassistant",
    "database": "home-assistant_v2.db"
  },
  "database_da": {
    "engine": "sqlite",
    "db_path": "../data",
    "database": "day_ahead.db"
  },
  "meteoserver_key": "!secret meteoserver-key",
  "meteoserver_model": "harmonie",
  "meteoserver_attemps": 2,
  "prices": {
    "source_day_ahead": "nordpool",
    "energy_taxes_consumption": {
      "2026-01-01": 0.09161
    },
    "energy_taxes_production": {
      "2026-01-01": 0.09161
    },
    "cost_supplier_consumption": {
      "2024-08-01": 0.017
    },
    "cost_supplier_production": {
      "2024-08-01": -0.02
    },
    "vat_consumption": {
      "2023-01-01": 21.0
    },
    "vat_production": {
      "2023-01-01": 21.0
    },
    "last_invoice": "2022-09-01",
    "tax_refund": true,
    "regular high": 0.5,
    "regular low": 0.4,
    "switch to low": 23
  },
  "logging_level": "info",
  "use_calc_baseload": false,
  "baseload_calc_periode": 56,
  "baseload": [
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.6,
    0.3,
    0.3,
    0.3,
    0.3,
    0.14,
    0.14
  ],
  "graphical_backend": "",
  "graphics": {
    "style": "default",
    "battery_balance": true,
    "prices_consumption": true,
    "prices_production": true,
    "prices_spot": true,
    "average_consumption": true,
    "show": "true"
  },
  "interval": "1hour",
  "strategy": "minimize cost",
  "max_gap": 0.005,
  "notifications": {
    "opstarten": false,
    "berekening": false
  },
  "grid": {
    "max_power": 17.0
  },
  "history": {
    "save_days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "battery": [
    {
      "name": "Marstek Venus-E",
      "entity_actual_level": "sensor.marstek1_battery_soc",
      "capacity": 5.12,
      "upper_limit": 100,
      "lower_limit": 13,
      "optimal_lower_level": 13,
      "penalty_low_soc": 0.0025,
      "charge_stages": [
        {
          "power": 0.0,
          "efficiency": 1.0
        },
        {
          "power": 100.0,
          "efficiency": 0.5
        },
        {
          "power": 800.0,
          "efficiency": 0.89
        },
        {
          "power": 1250.0,
          "efficiency": 0.85
        },
        {
          "power": 2500.0,
          "efficiency": 0.86
        }
      ],
      "discharge_stages": [
        {
          "power": 0.0,
          "efficiency": 1.0
        },
        {
          "power": 100.0,
          "efficiency": 0.5
        },
        {
          "power": 800.0,
          "efficiency": 0.92
        },
        {
          "power": 1250.0,
          "efficiency": 0.85
        },
        {
          "power": 2500.0,
          "efficiency": 0.88
        }
      ],
      "reduce_power_low_soc": [],
      "reduce_power_high_soc": [],
      "minimum_power": 100,
      "dc_to_bat_efficiency": 1.0,
      "bat_to_dc_efficiency": 1.0,
      "cycle_cost": 0.04,
      "entity_set_power_feedin": "input_number.DAO_Bat_pwr",
      "entity_set_operating_mode": "input_select.DAO_Bat_opmode",
      "entity_set_operating_mode_on": "Aan",
      "entity_set_operating_mode_off": "Uit",
      "entity_balance_switch": "input_boolean.DAO_Bat_balance",
      "solar": []
    }
  ],
  "solar": [
    {
      "name": "achter",
      "tilt": 41.0,
      "orientation": -65.0,
      "capacity": 5.0,
      "yield_factor": 0.01852,
      "strings": [],
      "ml_prediction": true,
      "entities_sensors": [
        "sensor.sn_3020730749_pv_gen_meter"
      ]
    }
  ],
  "electric_vehicle": [],
  "machines": [
    {
      "name": "vaatwasser",
      "programs": [
        {
          "name": "auto",
          "power": [
            2.0,
            2.0,
            0.1,
            0.1,
            2.0,
            0.14,
            0.14,
            0.14
          ]
        },
        {
          "name": "Uit",
          "power": []
        }
      ],
      "entity_start_window": "input_datetime.dao_vaatwasser_start_window",
      "entity_end_window": "input_datetime.dao_vaatwasser_end_window",
      "entity_selected_program": "input_select.dao_vaatwasser_programma",
      "entity_calculated_start": "input_datetime.dao_vaatwasser_calculated_start",
      "entity_calculated_end": "input_datetime.dao_vaatwasser_calculated_end"
    },
    {
      "name": "Koelkast",
      "programs": [
        {
          "name": "Kouder",
          "power": [
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05,
            0.05
          ]
        },
        {
          "name": "Uit",
          "power": []
        }
      ],
      "entity_start_window": "input_datetime.dao_koelkast_start_window",
      "entity_end_window": "input_datetime.dao_koelkast_end_window",
      "entity_selected_program": "input_select.dao_koelkast_programma",
      "entity_calculated_start": "input_datetime.dao_koelkast_calculated_start",
      "entity_calculated_end": "input_datetime.dao_koelkast_calculated_end"
    },
    {
      "name": "WPBoiler",
      "programs": [
        {
          "name": "Aan",
          "power": [
            1.0,
            1.1,
            1.2
          ]
        },
        {
          "name": "Uit",
          "power": []
        }
      ],
      "entity_start_window": "input_datetime.dao_wpboiler_start_window",
      "entity_end_window": "input_datetime.dao_wpboiler_end_window",
      "entity_selected_program": "input_select.dao_wpboiler_programma",
      "entity_calculated_start": "input_datetime.dao_wpboiler_calculated_start",
      "entity_calculated_end": "input_datetime.dao_wpboiler_calculated_end"
    }
  ],
  "boiler": {
    "boiler_present": false,
    "entity actual temp.": "sensor.ecodan_heatpump_dhw_current_temp",
    "entity setpoint": "sensor.ecodan_heatpump_dhw_setpoint_value",
    "entity hysterese": 15,
    "cop": 2.2,
    "cooling rate": 0.2,
    "volume": 200,
    "heating allowed below": 45,
    "elec. power": 1500,
    "activate service": "turn_on",
    "activate entity": "input_boolean.forcedhwhelper"
  },
  "heating": {
    "heater_present": false,
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "tibber": {
    "api_token": "!secret tibber_api_token",
    "api_url": "https://api.tibber.com/v1-beta/gql"
  },
  "xgboost": {
    "tune_hyperparameters": true
  },
  "report": {
    "entities_grid_consumption": [
      "sensor.grid_consumption_low",
      "sensor.grid_consumption_high"
    ],
    "entities_grid_production": [
      "sensor.grid_production_low",
      "sensor.grid_production_high"
    ],
    "entities_solar_production_ac": [
      "sensor.sn_3020730749_pv_gen_meter"
    ],
    "entities_solar_production_dc": [],
    "entities_ev_consumption": [
      "sensor.laadpunt_total_energy"
    ],
    "entities_wp_consumption": [],
    "entities_boiler_consumption": [],
    "entities_battery_consumption": [
      "sensor.ess_grid_consumption"
    ],
    "entities_battery_production": [
      "sensor.ess_grid_production"
    ],
    "entities_machine_consumption": []
  },
  "scheduler": {
    "active": true,
    "schedule": [
      {
        "time": "0432",
        "action": "get_meteo_data"
      },
      {
        "time": "1031",
        "action": "get_meteo_data"
      },
      {
        "time": "1633",
        "action": "get_meteo_data"
      },
      {
        "time": "2234",
        "action": "get_meteo_data"
      },
      {
        "time": "1256",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1357",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1455",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1554",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1655",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "xx00",
        "action": "calc_optimum"
      },
      {
        "time": "2352",
        "action": "clean_data"
      }
    ]
  }
}
Ja die melding zag ik bij mezelf ook; wordt nog uitgezocht.

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


  • edterbak
  • Registratie: Maart 2006
  • Laatst online: 16-04 13:47
@KC27
Bij boiler
"boiler_present": true, werkt niet
"boiler_present": True, werkt wel

edit/
Ik dacht een bugje gevonden te hebben. Maar ik twijfel nu of het bovenstaande het wel is... ik zoek nog even verder.
Ik moet nu nog even deze oplossen... Machine programma heb ik aangepast al, die is weg. De andere nog niet.
Afbeeldingslocatie: https://tweakers.net/i/e_YWDQTKvijR_fi_wQjlgvPryIk=/800x/filters:strip_exif()/f/image/PvVrB3KWPoUED73auPR5Xz0A.png?f=fotoalbum_large


Never mind.
Reboot Home Assistant en hij doet het |:(

[ Voor 79% gewijzigd door edterbak op 11-04-2026 20:42 ]


  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 00:18
Heeft iemand hier de Zendure AC2400+ batterij al toegevoegd en werkend?
Zo ja, wil jeje config als donordocument delen?

Alvast hartelijk dank!

Met energieke groet.... d:)b

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


  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 00:18
DAO wil niet starten na de update naar de laatste versie
ik had de tool al geinstalleerd, vanavond geupdate maar tot nu toe de config nog niet ingevuld
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
[22:45:46] INFO: check_db.py failed, exiting
[22:46:34] INFO: => directory dao_data exist
[22:46:34] INFO: => /root/dao/data doesn't exist, made
[22:46:35] INFO: => /root/dao/webserver/app/static/data exist
2026-04-11 22:46:43 INFO: Configuration needs migration from unversioned to v0
2026-04-11 22:46:43 INFO: Saved backup configuration to ../data/options_unversioned.json
2026-04-11 22:46:43 INFO: Migrating unversioned configuration to v0
2026-04-11 22:46:43 INFO: Added config_version=0 to unversioned configuration
2026-04-11 22:46:43 INFO: Migrated scheduler: active=False, 11 schedule entries
2026-04-11 22:46:43 INFO: Migrated prices.vat: set vat consumption and vat production to {'2022-01-01': 21, '2022-07-01': 9, '2023-01-01': 21}
2026-04-11 22:46:43 INFO: Migrated graphics.'prices delivery' to graphics.'prices consumption'
2026-04-11 22:46:43 INFO: Migrated graphics.'prices redelivery' to graphics.'prices production'
2026-04-11 22:46:43 INFO: Migrated graphics.'average delivery' to graphics.'average consumption'
2026-04-11 22:46:43 INFO: Coerced boiler.boiler present from 'False' to boolean
2026-04-11 22:46:43 INFO: Coerced heating.heater present from 'False' to boolean
2026-04-11 22:46:43 INFO: Configuration at version 0
Error loading configuration: 4 validation errors for ConfigurationV0
prices.energy taxes consumption
  Field required [type=missing, input_value={'source day ahead': 'nor...': 9, '2023-01-01': 21}}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
prices.energy taxes production
  Field required [type=missing, input_value={'source day ahead': 'nor...': 9, '2023-01-01': 21}}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
prices.cost supplier consumption
  Field required [type=missing, input_value={'source day ahead': 'nor...': 9, '2023-01-01': 21}}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
prices.cost supplier production
  Field required [type=missing, input_value={'source day ahead': 'nor...': 9, '2023-01-01': 21}}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
[22:46:44] INFO: check_db.py failed, exiting

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

hemertje schreef op zaterdag 11 april 2026 @ 22:50:
DAO wil niet starten na de update naar de laatste versie
ik had de tool al geinstalleerd, vanavond geupdate maar tot nu toe de config nog niet ingevuld


[...]
Je mist deze data in het hoofdstuk "prices":
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"energy_taxes_consumption": {
      "2025-01-01": 0.10154,
      "2026-01-01": 0.09157
    },
    "energy_taxes_production": {
      "2025-01-01": 0.10154,
      "2026-01-01": 0.09157
    },
    "cost_supplier_consumption": {
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "cost_supplier_production": {
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496,
      "2026-01-01": 0.0
    },

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


  • Lasoul
  • Registratie: November 2001
  • Laatst online: 00:59
Hoe moet ik de "Day Ahead geoptimaliseerd" interpreteren t.a.v. PV DC?
Ik zie namelijk de PV DC niet terug.

Afbeeldingslocatie: https://tweakers.net/i/iWdjWSYDTfE3-mtGxP2DA7M1HTc=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/jvqQSHQIwniDTbD0fRQwS6Rs.png?f=user_large

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 00:18
KC27 schreef op zondag 12 april 2026 @ 08:51:
[...]

Je mist deze data in het hoofdstuk "prices":
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"energy_taxes_consumption": {
      "2025-01-01": 0.10154,
      "2026-01-01": 0.09157
    },
    "energy_taxes_production": {
      "2025-01-01": 0.10154,
      "2026-01-01": 0.09157
    },
    "cost_supplier_consumption": {
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "cost_supplier_production": {
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496,
      "2026-01-01": 0.0
    },
Ik heb een aantal maanden geleden DAO geïnstalleerd maar nog nooit geconfigureerd

Hierop loopt het nu vast

DOA kan hierdoor niet gestart worden krijg ik als melding

Blijft in een loop lopen

Afbeeldingslocatie: https://tweakers.net/i/zDyVlbDWrwBY3AKCdWsgeI4XwQU=/x800/filters:strip_icc():strip_exif()/f/image/YNDvE1FegabPEkdx4AKlUENR.jpg?f=fotoalbum_large

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

Lasoul schreef op zondag 12 april 2026 @ 10:30:
Hoe moet ik de "Day Ahead geoptimaliseerd" interpreteren t.a.v. PV DC?
Ik zie namelijk de PV DC niet terug.

[Afbeelding]
De pv_dc wordt voor de optimalisatie behandeld alsof deze 1 op 1 wordt teruggeleverd aan je huisinstallatie.

Na de optimalisatieberekening wordt hij opgenomen in de energiebalans van je thuisbatterij.
De in- en out van je thuisbatterij zie je zowel terug in de energiebalans van je thuisbatterij als in de energiebalans van je huisinstallatie.

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

hemertje schreef op zondag 12 april 2026 @ 10:44:
[...]


Ik heb een aantal maanden geleden DAO geïnstalleerd maar nog nooit geconfigureerd

Hierop loopt het nu vast

DOA kan hierdoor niet gestart worden krijg ik als melding

Blijft in een loop lopen

[Afbeelding]
Als je toch nog niks geconfigureerd hebt kun je beter de oude app/addon via HA/instellingen/apps verwijderen en hem helemaal opnieuw installeren. Dan hoef je ook niks te converteren.

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


  • The Source
  • Registratie: April 2000
  • Laatst online: 16-04 09:44
Lasoul schreef op zaterdag 11 april 2026 @ 16:15:
Is er al iemand die DAO in combinatie gebruikt met een Deye hybride omvormer en dat goed heeft draaien?
Ben opzoek naar de automatiseringen en config.
"battery": [
{
"name": "Deye",
"entity_actual_level": "sensor.jk_bms_jk_bms_state_of_charge",
"capacity": 32.0,
"upper_limit": 100,
"lower_limit": 10,
"optimal_lower_level": 10,
"penalty_low_soc": 0.0025,
"charge_stages": [
{
"power": 0.0,
"efficiency": 1.0
},
{
"power": 100.0,
"efficiency": 0.62
},
{
"power": 500.0,
"efficiency": 0.87
},
{
"power": 1500.0,
"efficiency": 0.94
},
{
"power": 3000.0,
"efficiency": 0.95
},
{
"power": 5000.0,
"efficiency": 0.96
},
{
"power": 7500.0,
"efficiency": 0.964
},
{
"power": 10000.0,
"efficiency": 0.966
},
{
"power": 12000.0,
"efficiency": 0.966
}
],
"discharge_stages": [
{
"power": 0.0,
"efficiency": 1.0
},
{
"power": 100.0,
"efficiency": 0.62
},
{
"power": 500.0,
"efficiency": 0.78
},
{
"power": 1000.0,
"efficiency": 0.87
},
{
"power": 1500.0,
"efficiency": 0.9
},
{
"power": 3000.0,
"efficiency": 0.923
},
{
"power": 4500.0,
"efficiency": 0.926
},
{
"power": 6000.0,
"efficiency": 0.928
},
{
"power": 7500.0,
"efficiency": 0.93
},
{
"power": 9000.0,
"efficiency": 0.93
},
{
"power": 12000.0,
"efficiency": 0.931
}
],
"reduce_power_low_soc": [],
"reduce_power_high_soc": [],
"minimum_power": 200,
"dc_to_bat_efficiency": 0.9838,
"dc_to_bat_max_power": 12000,
"bat_to_dc_efficiency": 0.9838,
"bat_to_dc_max_power": 12000,
"cycle_cost": 0.01,
"entity_set_power_feedin": "input_number.dao_set_power_feedin",
"entity_set_operating_mode": "input_select.dao_set_operating_mode",
"entity_set_operating_mode_on": "Aan",
"entity_set_operating_mode_off": "Uit",
"entity_stop_inverter": "input_datetime.dao_stop_inverter",
"entity_balance_switch": "input_boolean.dao_balance_switch",
"entity_from_battery": "input_number.dao_from_battery",
"entity_from_pv": "input_number.dao_from_pv",
"entity_from_ac": "input_number.dao_from_ac",
"entity_calculated_soc": "input_number.dao_calculated_soc",
"solar": [
{
"name": "Oost",
"tilt": 35.0,
"orientation": 125.0,
"capacity": 3.5,
"yield_factor": 0.0074375,
"strings": [],
"ml_prediction": true,
"entities_sensors": [
"sensor.deye_pv2_power_kwh"
]
},
{
"name": "West",
"tilt": 35.0,
"orientation": -55.0,
"capacity": 3.5,
"yield_factor": 0.0074375,
"strings": [],
"ml_prediction": true,
"entities_sensors": [
"sensor.deye_pv1_power_kwh"
]
}
]
}
],
alias: DOA DEYE Battery Mode Control
description: >

Balance: Zero Export to CT, TOU enabled, SOC 10%, Charge off Discharge:
Export first, feedin > charge current, SOC 10%, Charge off Charge: Zero Export
To Load, feedin > charge current, SOC 100%, Charge on Idle: Zero Export To
Load, TOU enabled, Master Grid Charge off, SOC 10%, Charge off
triggers:
- entity_id:
- input_boolean.dao_balance_switch
- input_number.dao_set_power_feedin
trigger: state
conditions: []
actions:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.dao_balance_switch
state: "on"
sequence:
- action: select.select_option
metadata: {}
data:
option: Zero Export To CT
target:
entity_id: select.deye_work_mode
- action: select.select_option
metadata: {}
target:
entity_id: select.deye_time_of_use
data:
option: Enabled
- action: select.select_option
metadata: {}
target:
entity_id:
- select.deye_program_1_charging
- select.deye_program_2_charging
data:
option: Disabled
- action: number.set_value
metadata: {}
target:
entity_id:
- number.deye_program_1_soc
- number.deye_program_2_soc
data:
value: "10"
alias: Balans, Nul op meter
- conditions:
- condition: state
entity_id: input_boolean.dao_balance_switch
state: "off"
- condition: template
value_template: "{{ states('input_number.dao_set_power_feedin')|float < 0 }}"
sequence:
- action: select.select_option
metadata: {}
target:
entity_id: select.deye_work_mode
data:
option: Export First
- action: switch.turn_off
metadata: {}
target:
entity_id: switch.deye_battery_grid_charging
data: {}
- action: select.select_option
metadata: {}
target:
entity_id: select.deye_time_of_use
data:
option: Enabled
- action: select.select_option
metadata: {}
target:
entity_id:
- select.deye_program_1_charging
- select.deye_program_2_charging
data:
option: Disabled
- action: number.set_value
metadata: {}
target:
entity_id:
- number.deye_program_1_soc
- number.deye_program_2_soc
data:
value: "10"
- target:
entity_id:
- number.deye_program_1_power
- number.deye_program_2_power
data:
value: "{{ (states('input_number.dao_set_power_feedin')|float | abs) }}"
action: number.set_value
alias: Discharge
- conditions:
- condition: state
entity_id: input_boolean.dao_balance_switch
state: "off"
- condition: template
value_template: "{{ states('input_number.dao_set_power_feedin')|float > 0 }}"
sequence:
- action: select.select_option
metadata: {}
target:
entity_id: select.deye_work_mode
data:
option: Zero Export To Load
- action: switch.turn_on
metadata: {}
target:
entity_id: switch.deye_battery_grid_charging
data: {}
- action: select.select_option
metadata: {}
target:
entity_id: select.deye_time_of_use
data:
option: Enabled
- action: select.select_option
metadata: {}
target:
entity_id:
- select.deye_program_1_charging
- select.deye_program_2_charging
data:
option: Grid
- action: number.set_value
metadata: {}
target:
entity_id:
- number.deye_program_1_soc
- number.deye_program_2_soc
data:
value: "100"
- target:
entity_id:
- number.deye_program_1_power
- number.deye_program_2_power
data:
value: "{{ (states('input_number.dao_set_power_feedin')|float | abs) }}"
action: number.set_value
alias: Charge
- conditions:
- condition: state
entity_id: input_boolean.dao_balance_switch
state: "off"
- condition: template
value_template: "{{ states('input_number.dao_set_power_feedin')|float == 0 }}"
sequence:
- action: select.select_option
metadata: {}
target:
entity_id: select.deye_work_mode
data:
option: Zero Export To Load
- action: switch.turn_off
metadata: {}
target:
entity_id: switch.deye_battery_grid_charging
data: {}
- action: select.select_option
metadata: {}
target:
entity_id: select.deye_time_of_use
data:
option: Enabled
- action: select.select_option
metadata: {}
target:
entity_id:
- select.deye_program_1_charging
- select.deye_program_2_charging
data:
option: Disabled
- action: number.set_value
metadata: {}
target:
entity_id:
- number.deye_program_1_soc
- number.deye_program_2_soc
data:
value: "10"
alias: Idle
mode: single
En de helpers niet vergeten aan te maken.

  • Lasoul
  • Registratie: November 2001
  • Laatst online: 00:59
The Source schreef op zondag 12 april 2026 @ 13:46:
[...]


[...]


[...]


En de helpers niet vergeten aan te maken.
Top, bedankt!

Klopt het dat je maar twee Time of Use programma's gebruikt op de Deye?
Hoe moet de feed_in worden geïnterpreteerd?

[ Voor 23% gewijzigd door Lasoul op 12-04-2026 20:30 ]


  • BertSmelik
  • Registratie: Oktober 2022
  • Laatst online: 12-04 19:50
KC27 schreef op zaterdag 11 april 2026 @ 17:49:
Er is een nieuwe versie onderweg waarin de hoofdletters in entity-namen worden geaccepteerd:
versie 2026.04.2 / 2026.04.2.rc1
Die zal er over ongeveer 10 minuten zijn.
Nog een probleem bij het omschakelen naar 2026.04.2.
Ik kon aanvankeliijk niet de optimalisatie berekening uitvoeren. Een heleboel fouten en tracing in de logging.
Toen geprobeerd om in Solar de entity "entity pv switch" toegevoegd met "" als gegeven. Ook dat ging fout, maar al direct in het begin signaleringen over het formaat ervan.
Daarna de "entity pv switch" weer uit de configuratie gehaald en toen liet de optimalisatie berekening gewoon door!!
Geen idee hoe dit kan, maar ik ben wel blij dat het weer loopt.

  • Lasoul
  • Registratie: November 2001
  • Laatst online: 00:59
Ben vanmiddag even met excel aan de slag geweest voor 2027 om te bepalen wat je moet doen met welke Epex-prijs. Nu vroeg ik mij af of ik vanuit DAO een signaal krijg wanneer ik de zonnepanelen moet "knijpen" op het moment dat de batterij bijna vol zit en ik toch PV overschot heb. Dus van -0.11 tot -0,03.
Nou kan ik de PV die rechtstreeks op mijn hybride omvormer zit wel direct sturen maar ik heb ook nog andere AC-gekoppelde omvormers (Enphase en een kleine omvormer met 3 panelen).

Afbeeldingslocatie: https://tweakers.net/i/1afj8gUsEeCs_8mnfUJLZa3_IC4=/800x/filters:strip_exif()/f/image/uYGALiffVvfG4WsqwHHl5ufY.png?f=fotoalbum_large

  • The Source
  • Registratie: April 2000
  • Laatst online: 16-04 09:44
@KC27 , helaas geeft de nieuwe versie mij ook een error bij optimalisatie berekening met debug:

ERROR while running Cbc. Signal SIGSEGV caught. Getting stack trace.
en
ERROR while running Cbc. Signal SIGABRT caught. Getting stack trace.

Mijn log:
2026-04-12 21:13:06 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-12 21:13:06 INFO: Validating configuration with ConfigurationV0
2026-04-12 21:13:06 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-12 21:13:06 info: Day Ahead Optimalisering gestart op: 12-04-2026 21:13:06
2026-04-12 21:13:06 info: Day Ahead Optimalisatie gestart: 12-04-2026 21:13:06 taak: calc_optimum_met_debug
2026-04-12 21:13:06 info: Debug = True
2026-04-12 21:13:06 info: Zelf berekende baseload
2026-04-12 21:13:06 info: ML prediction Zuid
date_time prediction
0 2026-04-12 21:00:00+02:00 0.003
1 2026-04-12 22:00:00+02:00 0.003
2 2026-04-12 23:00:00+02:00 0.003
3 2026-04-13 00:00:00+02:00 0.003
4 2026-04-13 01:00:00+02:00 0.003
5 2026-04-13 02:00:00+02:00 0.003
6 2026-04-13 03:00:00+02:00 0.003
7 2026-04-13 04:00:00+02:00 0.003
8 2026-04-13 05:00:00+02:00 0.003
9 2026-04-13 06:00:00+02:00 0.003
10 2026-04-13 07:00:00+02:00 0.015
11 2026-04-13 08:00:00+02:00 0.138
12 2026-04-13 09:00:00+02:00 0.250
13 2026-04-13 10:00:00+02:00 0.203
14 2026-04-13 11:00:00+02:00 0.239
15 2026-04-13 12:00:00+02:00 0.753
16 2026-04-13 13:00:00+02:00 2.042
17 2026-04-13 14:00:00+02:00 2.206
18 2026-04-13 15:00:00+02:00 2.112
19 2026-04-13 16:00:00+02:00 1.635
20 2026-04-13 17:00:00+02:00 0.649
21 2026-04-13 18:00:00+02:00 0.103
22 2026-04-13 19:00:00+02:00 0.030
23 2026-04-13 20:00:00+02:00 0.004
24 2026-04-13 21:00:00+02:00 0.003
25 2026-04-13 22:00:00+02:00 0.003
26 2026-04-13 23:00:00+02:00 0.003
2026-04-12 21:13:06 info: ML prediction Oost
date_time prediction
0 2026-04-12 21:00:00+02:00 0.006
1 2026-04-12 22:00:00+02:00 0.007
2 2026-04-12 23:00:00+02:00 0.007
3 2026-04-13 00:00:00+02:00 0.007
4 2026-04-13 01:00:00+02:00 0.007
5 2026-04-13 02:00:00+02:00 0.017
6 2026-04-13 03:00:00+02:00 0.017
7 2026-04-13 04:00:00+02:00 0.017
8 2026-04-13 05:00:00+02:00 0.017
9 2026-04-13 06:00:00+02:00 0.017
10 2026-04-13 07:00:00+02:00 0.025
11 2026-04-13 08:00:00+02:00 0.102
12 2026-04-13 09:00:00+02:00 0.161
13 2026-04-13 10:00:00+02:00 0.119
14 2026-04-13 11:00:00+02:00 0.149
15 2026-04-13 12:00:00+02:00 0.457
16 2026-04-13 13:00:00+02:00 0.878
17 2026-04-13 14:00:00+02:00 0.863
18 2026-04-13 15:00:00+02:00 0.738
19 2026-04-13 16:00:00+02:00 0.420
20 2026-04-13 17:00:00+02:00 0.128
21 2026-04-13 18:00:00+02:00 0.043
22 2026-04-13 19:00:00+02:00 0.027
23 2026-04-13 20:00:00+02:00 0.011
24 2026-04-13 21:00:00+02:00 0.009
25 2026-04-13 22:00:00+02:00 0.009
26 2026-04-13 23:00:00+02:00 0.009
2026-04-12 21:13:06 info: ML prediction West
date_time prediction
0 2026-04-12 21:00:00+02:00 0.007
1 2026-04-12 22:00:00+02:00 0.004
2 2026-04-12 23:00:00+02:00 0.004
3 2026-04-13 00:00:00+02:00 0.009
4 2026-04-13 01:00:00+02:00 0.009
5 2026-04-13 02:00:00+02:00 0.001
6 2026-04-13 03:00:00+02:00 0.001
7 2026-04-13 04:00:00+02:00 0.001
8 2026-04-13 05:00:00+02:00 0.001
9 2026-04-13 06:00:00+02:00 0.001
10 2026-04-13 07:00:00+02:00 0.020
11 2026-04-13 08:00:00+02:00 0.111
12 2026-04-13 09:00:00+02:00 0.165
13 2026-04-13 10:00:00+02:00 0.170
14 2026-04-13 11:00:00+02:00 0.182
15 2026-04-13 12:00:00+02:00 0.470
16 2026-04-13 13:00:00+02:00 0.525
17 2026-04-13 14:00:00+02:00 0.611
18 2026-04-13 15:00:00+02:00 0.778
19 2026-04-13 16:00:00+02:00 0.564
20 2026-04-13 17:00:00+02:00 0.225
21 2026-04-13 18:00:00+02:00 0.138
22 2026-04-13 19:00:00+02:00 0.068
23 2026-04-13 20:00:00+02:00 0.023
24 2026-04-13 21:00:00+02:00 0.001
25 2026-04-13 22:00:00+02:00 0.001
26 2026-04-13 23:00:00+02:00 0.001
2026-04-12 21:13:06 info: Start waarden:
uur tijd spot p_l p_t base pv_ac pv_dc
0 21:00 2026-04-12 21:00:00 0.137 0.313 0.313 0.867 0.003 0.010
1 22:00 2026-04-12 22:00:00 0.131 0.305 0.305 0.771 0.003 0.011
2 23:00 2026-04-12 23:00:00 0.121 0.293 0.293 0.466 0.003 0.011
3 00:00 2026-04-13 00:00:00 0.116 0.287 0.287 0.287 0.003 0.016
4 01:00 2026-04-13 01:00:00 0.110 0.280 0.280 0.220 0.003 0.016
5 02:00 2026-04-13 02:00:00 0.106 0.276 0.276 0.228 0.003 0.018
6 03:00 2026-04-13 03:00:00 0.106 0.276 0.276 0.202 0.003 0.018
7 04:00 2026-04-13 04:00:00 0.109 0.279 0.279 0.223 0.003 0.018
8 05:00 2026-04-13 05:00:00 0.117 0.289 0.289 0.200 0.003 0.018
9 06:00 2026-04-13 06:00:00 0.135 0.310 0.310 0.290 0.003 0.018
10 07:00 2026-04-13 07:00:00 0.144 0.322 0.322 0.439 0.015 0.045
11 08:00 2026-04-13 08:00:00 0.173 0.357 0.357 -0.305 0.138 0.213
12 09:00 2026-04-13 09:00:00 0.164 0.345 0.345 -1.113 0.250 0.326
13 10:00 2026-04-13 10:00:00 0.142 0.319 0.319 -0.640 0.203 0.289
14 11:00 2026-04-13 11:00:00 0.122 0.295 0.295 -0.753 0.239 0.331
15 12:00 2026-04-13 12:00:00 0.112 0.282 0.282 -0.309 0.753 0.927
16 13:00 2026-04-13 13:00:00 0.106 0.276 0.276 0.003 2.042 1.404
17 14:00 2026-04-13 14:00:00 0.114 0.285 0.285 -0.372 2.206 1.474
18 15:00 2026-04-13 15:00:00 0.117 0.289 0.289 -0.235 2.112 1.517
19 16:00 2026-04-13 16:00:00 0.114 0.285 0.285 -0.142 1.635 0.983
20 17:00 2026-04-13 17:00:00 0.125 0.299 0.299 0.477 0.649 0.353
21 18:00 2026-04-13 18:00:00 0.145 0.322 0.322 0.470 0.103 0.181
22 19:00 2026-04-13 19:00:00 0.165 0.347 0.347 0.824 0.030 0.095
23 20:00 2026-04-13 20:00:00 0.154 0.333 0.333 0.794 0.004 0.034
24 21:00 2026-04-13 21:00:00 0.143 0.320 0.320 0.227 0.003 0.011
25 22:00 2026-04-13 22:00:00 0.131 0.305 0.305 0.458 0.003 0.011
26 23:00 2026-04-13 23:00:00 0.123 0.296 0.296 0.521 0.003 0.011
2026-04-12 21:13:07 info: No reduced hours applied for Deye
2026-04-12 21:13:07 info: No reduced power applied during discharging at low soc
2026-04-12 21:13:07 info: No reduced power applied during charging at high soc
2026-04-12 21:13:07 info: Startwaarde SoC Deye: 78.0%

2026-04-12 21:13:07 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2026-04-12 21:13:07 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland
2026-04-12 21:13:07 info: Strategie: minimale kosten
2026-04-12 21:13:07 info: Maximale fout (maximal gap): 0.005000 euro
Cbc0036I Heuristics switched off as 54 branching objects are of wrong type

▶ Cut generation (root node)

Pass Rows Tight Frac Suminf Objective Time(s)
──── ──────── ──────── ────── ────────── ──────────────── ────────
1 405 0 41 2.612 -5.46132 0.011
2 446 41 0 0 -5.46132 0.015

▶ Branch and bound

Nodes OnTree Depth BestSol Method BestBound Gap% Time(s)
──────── ──────── ────── ─────────────── ──────────────── ─────────────── ──────── ─────────
★ 6 0 0 -5.43678 strong branching -5.45513 0.34% 0.031
★ 6 0 0 -5.43843 strong branching -5.45513 0.31% 0.032
★ 11 0 0 -5.44161 strong branching -5.45513 0.25% 0.038
★ 19 0 0 -5.45513 strong branching -5.45513 0.00% 0.058

✔ Optimal — Obj: -5.45513 Bound: -5.45513 Gap: 0.00% Nodes: 20 Iters: 234 Time: 0.061s

Cut generator summary:
Generator Row cuts Avg density Col cuts Time(s) Next run
────────────────────── ──────── ─────────── ──────── ───────── ────────────
Probing 131 2.3 0 0.001 every node
Gomory 28 25.8 0 0.000 every node
Knapsack 0 0.0 0 0.001 disabled
Clique 0 0.0 0 0.000 disabled
MixedIntegerRounding2 28 6.1 0 0.000 every node
FlowCover 17 4.0 0 0.000 every node
TwoMirCuts 34 11.6 0 0.000 disabled

✔ Cut generation complete — 41 cuts, obj -5.46132 → -5.46132 in 2 passes


ERROR while running Cbc. Signal SIGSEGV caught. Getting stack trace.
/root/dao/prog/miplib/lib/libCbc.so(_Z15CbcCrashHandleri+0xf2) [0x7f5817cc5672]
/lib/x86_64-linux-gnu/libc.so.6(+0x3fdf0) [0x7f5841e48df0]
/root/dao/prog/miplib/lib/libCoinUtils.so.0(_ZN18CoinMessageHandler13internalPrintEv+0xe5) [0x7f5817545ab5]
/root/dao/prog/miplib/lib/libCoinUtils.so.0(_ZN18CoinMessageHandler6finishEv+0x2b) [0x7f5817546f4b]
/root/dao/prog/miplib/lib/libCoinUtils.so.0(_ZN18CoinMessageHandlerlsE17CoinMessageMarker+0x5d) [0x7f58175479fd]
/root/dao/prog/miplib/lib/libCgl.so.0(_ZN13CglPreProcess11postProcessER18OsiSolverInterfacei+0x854) [0x7f5817a54fc4]
/root/dao/prog/miplib/lib/libCbc.so(_Z8CbcMain1St5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EER8CbcModelR13CbcParametersPFiPS8_iEP9ampl_info+0x1bfff) [0x7f5817cf757f]
/root/dao/prog/miplib/lib/libCbc.so(Cbc_solve+0x2418) [0x7f5817d5c358]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(+0x2d052) [0x7f583543b052]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(+0x2b978) [0x7f5835439978]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(cffistatic_ffi_call+0x178) [0x7f5835439af3]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(+0x135e7) [0x7f58354215e7]
python3(_PyObject_MakeTpCall+0x27b) [0x54726b]
python3(_PyEval_EvalFrameDefault+0x2661) [0x563da1]
python3(PyEval_EvalCode+0xcc) [0x55d48c]
python3() [0x6ab8d1]
python3() [0x6a899c]
python3() [0x6b9943]
python3() [0x6b93e3]
python3() [0x6b921e]
python3(Py_RunMain+0x3c1) [0x6b86f1]
python3(Py_BytesMain+0x2b) [0x6838eb]
/lib/x86_64-linux-gnu/libc.so.6(+0x29ca8) [0x7f5841e32ca8]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7f5841e32d65]
python3(_start+0x21) [0x682c81]


ERROR while running Cbc. Signal SIGABRT caught. Getting stack trace.
/root/dao/prog/miplib/lib/libCbc.so(_Z15CbcCrashHandleri+0xf2) [0x7f5817cc5672]
/lib/x86_64-linux-gnu/libc.so.6(+0x3fdf0) [0x7f5841e48df0]
/lib/x86_64-linux-gnu/libc.so.6(+0x9495c) [0x7f5841e9d95c]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x12) [0x7f5841e48cc2]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x22) [0x7f5841e314ac]
/root/dao/prog/miplib/lib/libCbc.so(+0x79f38) [0x7f5817bd6f38]
/lib/x86_64-linux-gnu/libc.so.6(+0x3fdf0) [0x7f5841e48df0]
/root/dao/prog/miplib/lib/libCoinUtils.so.0(_ZN18CoinMessageHandler13internalPrintEv+0xe5) [0x7f5817545ab5]
/root/dao/prog/miplib/lib/libCoinUtils.so.0(_ZN18CoinMessageHandler6finishEv+0x2b) [0x7f5817546f4b]
/root/dao/prog/miplib/lib/libCoinUtils.so.0(_ZN18CoinMessageHandlerlsE17CoinMessageMarker+0x5d) [0x7f58175479fd]
/root/dao/prog/miplib/lib/libCgl.so.0(_ZN13CglPreProcess11postProcessER18OsiSolverInterfacei+0x854) [0x7f5817a54fc4]
/root/dao/prog/miplib/lib/libCbc.so(_Z8CbcMain1St5dequeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EER8CbcModelR13CbcParametersPFiPS8_iEP9ampl_info+0x1bfff) [0x7f5817cf757f]
/root/dao/prog/miplib/lib/libCbc.so(Cbc_solve+0x2418) [0x7f5817d5c358]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(+0x2d052) [0x7f583543b052]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(+0x2b978) [0x7f5835439978]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(cffistatic_ffi_call+0x178) [0x7f5835439af3]
/root/dao/venv/day_ahead/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so(+0x135e7) [0x7f58354215e7]
python3(_PyObject_MakeTpCall+0x27b) [0x54726b]
python3(_PyEval_EvalFrameDefault+0x2661) [0x563da1]
python3(PyEval_EvalCode+0xcc) [0x55d48c]
python3() [0x6ab8d1]
python3() [0x6a899c]
python3() [0x6b9943]
python3() [0x6b93e3]
python3() [0x6b921e]
python3(Py_RunMain+0x3c1) [0x6b86f1]
python3(Py_BytesMain+0x2b) [0x6838eb]
/lib/x86_64-linux-gnu/libc.so.6(+0x29ca8) [0x7f5841e32ca8]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7f5841e32d65]
python3(_start+0x21) [0x682c81]
en
2026-04-12 21:00:00 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-12 21:00:00 info: Day Ahead Optimalisering gestart op: 12-04-2026 21:00:00
2026-04-12 21:00:00 info: Day Ahead Optimalisatie gestart: 12-04-2026 21:00:00 taak: calc_optimum
2026-04-12 21:00:00 info: Debug = False
2026-04-12 21:00:00 info: Zelf berekende baseload
2026-04-12 21:00:00 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
File "/root/dao/prog/da_base.py", line 694, in run_task_function
getattr(self, run_task["function"])()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/da_base.py", line 546, in calc_optimum
dacalc.calc_optimum()
~~~~~~~~~~~~~~~~~~~^^
File "/root/dao/prog/day_ahead.py", line 288, in calc_optimum
solar_prog = self.calc_solar_predictions(
self.solar[s], start_interval_dt, end, self.interval
)
File "/root/dao/prog/da_base.py", line 587, in calc_solar_predictions
solar_prog = solar_predictor.predict_solar_device(
solar_option, vanaf, tot
)
File "/root/dao/prog/solar_predictor.py", line 1024, in predict_solar_device
prediction = self.predict(weather_data)
File "/root/dao/prog/solar_predictor.py", line 702, in predict
prediction = self.model.predict(featured_df)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
return func(**kwargs)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/sklearn.py", line 1446, in predict
predts = self.get_booster().inplace_predict(
data=X,
...<4 lines>...
validate_features=validate_features,
)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
return func(**kwargs)
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2854, in inplace_predict
self._validate_features(fns)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 3429, in _validate_features
raise ValueError(msg.format(self.feature_names, feature_names))
ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity
feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity
Lasoul schreef op zondag 12 april 2026 @ 13:52:
[...]


Top, bedankt!

Klopt het dat je maar twee Time of Use programma's gebruikt op de Deye?
Hoe moet de feed_in worden geïnterpreteerd?
Ja, om het makkelijk te houden, heb ik 2 TOU gedefinieerd aan wie ik beide elke keer schrijf met de waardes van SOC en Power.

Program 1: 00:00
Program 2: 23.55

De feedin is een van de triggers voor het script en dit is de snelheid om te laden of te ontladen.
In mijn config staan enkel variablen gedefineerd die ik (nog) niet gebruik.

[ Voor 17% gewijzigd door The Source op 12-04-2026 21:33 ]


  • Batavia
  • Registratie: Mei 2011
  • Laatst online: 00:23
Bij de nieuwste versie krijg ik deze error
2026-04-12 22:39:26 INFO: Configuration at version 0
Error loading configuration: 1 validation error for ConfigurationV0
electric vehicle.0.charge stages.1.ampere
Input should be a valid integer, got a number with a fractional part [type=int_from_float, input_value=15.5, input_type=float]
For further information visit https://errors.pydantic.dev/2.12/v/int_from_float
Weet even niet goed hoe ik nu de conferentie kan fixen nu hij helemaal niet start
Batavia schreef op zondag 12 april 2026 @ 22:43:
Bij de nieuwste versie krijg ik deze error

[...]


Weet even niet goed hoe ik nu de conferentie kan fixen nu hij helemaal niet start
In deze versie worden alleen gehele getallen geaccepteerd. In de volgende versie zal dat worden aangepast. Als je nu verder wil kun je misschien vooruit met alleen gehele getallen?

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

The Source schreef op zondag 12 april 2026 @ 21:29:
@KC27 , helaas geeft de nieuwe versie mij ook een error bij optimalisatie berekening met debug:

ERROR while running Cbc. Signal SIGSEGV caught. Getting stack trace.
en
ERROR while running Cbc. Signal SIGABRT caught. Getting stack trace.

Mijn log:


[...]


en


[...]


[...]

Ja, om het makkelijk te houden, heb ik 2 TOU gedefinieerd aan wie ik beide elke keer schrijf met de waardes van SOC en Power.

Program 1: 00:00
Program 2: 23.55

De feedin is een van de triggers voor het script en dit is de snelheid om te laden of te ontladen.
In mijn config staan enkel variablen gedefineerd die ik (nog) niet gebruik.
Die Signal SIGSEGV fout kun je waarschijnlijk voorkomen door je eigen mip-binaries te compileren.
Dat kan eenvoudig met het meegeleverde script.
Zie de wiki.

De fout bij de ml-voorspelling berekening komt omdat je ml-modellen niet opnieuw hebt getraind.

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


  • Batavia
  • Registratie: Mei 2011
  • Laatst online: 00:23
KC27 schreef op maandag 13 april 2026 @ 00:09:
[...]

In deze versie worden alleen gehele getallen geaccepteerd. In de volgende versie zal dat worden aangepast. Als je nu verder wil kun je misschien vooruit met alleen gehele getallen?
Hele getallen is geen probleem.
Ik moet er alleen achter komen hoe ik of een versie terug kan of hoe ik de config aanpas naar een heel getal zonder dat dao start want hij stopt met deze error van starten

  • wmc
  • Registratie: November 2012
  • Laatst online: 21:16

wmc

Ik blijf bij versie 2026.4.2 tegen het probleem aanlopen dat hij niet opstart. Gaat hier hier fout op de hoofdletter in de naam Dishwasher?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[08:27:43] INFO: => directory dao_data exist
[08:27:43] INFO: => /root/dao/data doesn't exist, made
[08:27:43] INFO: => /root/dao/webserver/app/static/data exist
2026-04-13 08:27:45 INFO: Configuration needs migration from unversioned to v0
2026-04-13 08:27:45 INFO: Saved backup configuration to ../data/options_unversioned.json
2026-04-13 08:27:45 INFO: Migrating unversioned configuration to v0
2026-04-13 08:27:45 INFO: Added config_version=0 to unversioned configuration
2026-04-13 08:27:45 INFO: Migrated scheduler: active=True, 14 schedule entries
2026-04-13 08:27:45 INFO: Coerced boiler.boiler present from 'True' to boolean
2026-04-13 08:27:45 INFO: Coerced heating.heater present from 'True' to boolean
2026-04-13 08:27:45 INFO: Configuration at version 0
Error loading configuration: 1 validation error for ConfigurationV0
machines.0.entity calculated end
  Field required [type=missing, input_value={'name': 'Dishwasher', 'p...dao_dishwasher_trigger'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
[08:27:46] INFO: check_db.py failed, exiting
De config voor de machine (die in 2026.3 wel werkt)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
"machines" : [ 
    {
    "name" : "Dishwasher",
    "programs" : [
      {
        "name": "Uit",
        "power": []
      },
      {
        "name": "Normaal",
        "power": [1350, 1000, 1350, 50, 50, 50, 50, 500, 50, 100]
      }

    ],
    "entity start window" : "input_datetime.dao_dishwasher_start",
    "entity end window" : "input_datetime.dao_dishwasher_end",
    "entity selected program" : "input_select.dao_dishwasher_program",
    "entity calculated start" : "input_datetime.dao_dishwasher_trigger"
    }

  • simnet
  • Registratie: Januari 2020
  • Laatst online: 20:41
wmc schreef op maandag 13 april 2026 @ 08:32:
Ik blijf bij versie 2026.4.2 tegen het probleem aanlopen dat hij niet opstart. Gaat hier hier fout op de hoofdletter in de naam Dishwasher?


[...]


De config voor de machine (die in 2026.3 wel werkt)


[...]
Hij mist 'entity calculated end' in de configuratie voor de machine.

  • konehead
  • Registratie: Januari 2005
  • Laatst online: 19:27
Voordat ik allerlei logging ga posten: Ik heb vanaf 1 nov zondata in mijn database. Ik zie 'zo zo' resultaten met het ML model voor voorspellingen. Ik dacht gelezen te hebben dat je minimaal 3 maanden aan zondata moet hebben (en liever 12). Voor vandaag is de DAO prognose 6 KWh en ML 10 KWh. Wat zijn jullie ervaringen qua lengte historische data? Moet ik nog even wachten met ML totdat ik meer historie heb?

  • wmc
  • Registratie: November 2012
  • Laatst online: 21:16

wmc

simnet schreef op maandag 13 april 2026 @ 08:54:
[...]


Hij mist 'entity calculated end' in de configuratie voor de machine.
Volgens de wiki is dat een optionele entity, daar hoort het dan toch niet op fout te gaan toch?

Edit: Die entiteit toegevoegd lost het inderdaad op

[ Voor 8% gewijzigd door wmc op 13-04-2026 09:19 ]


  • The Source
  • Registratie: April 2000
  • Laatst online: 16-04 09:44
KC27 schreef op maandag 13 april 2026 @ 00:17:
[...]

Die Signal SIGSEGV fout kun je waarschijnlijk voorkomen door je eigen mip-binaries te compileren.
Dat kan eenvoudig met het meegeleverde script.
Zie de wiki.

De fout bij de ml-voorspelling berekening komt omdat je ml-modellen niet opnieuw hebt getraind.
Mijn fout, sorry
Omdat ik de nieuwe versie niet aan de gang kreeg had ik het gebruik van eigen mip binaries aangezet.
Nadat ik de config had geedit en alles werkte ben ik dat vergeten uit te zetten. Na een restart werkt alles weer.

  • Lasoul
  • Registratie: November 2001
  • Laatst online: 00:59
Kan de ml ook al worden gebruikt voor de Warmtepomp?

  • simnet
  • Registratie: Januari 2020
  • Laatst online: 20:41
Lasoul schreef op maandag 13 april 2026 @ 12:31:
Kan de ml ook al worden gebruikt voor de Warmtepomp?
De ML is bedoeld voor het voorspellen van energie opwek (via PV of windenergie).
Het is niet bedoeld voor verbruikers.

  • Lasoul
  • Registratie: November 2001
  • Laatst online: 00:59
simnet schreef op maandag 13 april 2026 @ 12:48:
[...]


De ML is bedoeld voor het voorspellen van energie opwek (via PV of windenergie).
Het is niet bedoeld voor verbruikers.
Dat snap ik maar het zou ook goed ingezet kunnen worden voor bijvoorbeeld een warmtepomp. Het verbruik van de warmtepomp is afhankelijk van de buitentemperatuur en het warmteverlies van de woning. Daar zou je prima een ml model op kunnen trainen en is niet anders dan PV opwek of windenergie.

  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
Ik krijg use_self_compiled_miplib niet werkend.
Compileren gaat goed:
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
knip
##################################################
### Installing Cgl master 
##################################################
From https://github.com/coin-or/Cbc
##################################################
### Configuring Cbc master 
##################################################
##################################################
### Building Cbc master 
##################################################
##################################################
### Installing Cbc master 
##################################################
Install completed. If executing any of the installed
binaries results in an error that shared libraries cannot
be found, you may need to
  - add 'export LD_LIBRARY_PATH=/root/build/prog//lib' to your ~/.bashrc (Linux)
  - add 'export DYLD_LIBRARY_PATH=/root/build/prog//lib' to ~/.bashrc (OS X)
Compilation finished! Moving lib into place.
All buiding done.
Setting up watches.
Watches established.
[2026-04-13 15:07:27 +0200] [30570] [INFO] Starting gunicorn 25.3.0
[2026-04-13 15:07:27 +0200] [30570] [INFO] Listening at: http://0.0.0.0:5000 (30570)
knip
Model trainen lijkt ook goed te gaan:
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
2026-04-13 15:21:24 info: Starting solar prediction model for Solaredge training...
2026-04-13 15:21:24 info: Loading and processing data...
2026-04-13 15:21:24 info: Merging weather and solar data...
2026-04-13 15:21:24 info: Merged dataset: 20918 records
2026-04-13 15:21:24 info: Date range: 2023-11-21 10:00:00+00:00 to 2026-04-11 14:00:00+00:00
2026-04-13 15:21:24 info: Detecting outliers...
2026-04-13 15:21:25 info: Outliers removed: 503 (2.4%)
2026-04-13 15:21:25 info: Clean dataset: 20415 records
2026-04-13 15:21:25 info: Training samples: 16332
2026-04-13 15:21:25 info: Testing samples: 4083
2026-04-13 15:21:25 info: Tune hyperparameters: True
2026-04-13 15:21:25 info: Tuning hyperparameters...
2026-04-13 15:21:25 info: Parameter grid: {'n_estimators': [100, 200, 300], 'max_depth': [3, 4, 6], 'learning_rate': [0.05, 0.1, 0.15], 'subsample': [0.8, 0.9]}
2026-04-13 15:21:30 info: Best parameters: {'learning_rate': 0.1, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8}
2026-04-13 15:21:30 info: Training final model...
2026-04-13 15:21:30 info: Parameters: {'learning_rate': 0.1, 'max_depth': 4, 'n_estimators': 100, 'subsample': 0.8}
2026-04-13 15:21:30 info: Model training van Solaredge complete
2026-04-13 15:21:30 info: Model saved to: ../data/prediction/models/Solaredge.pkl
2026-04-13 15:21:30 info: Training MAE: 0.0392 kWh
2026-04-13 15:21:30 info: Testing MAE: 0.0239 kWh
2026-04-13 15:21:30 info: Training R²: 0.9642
2026-04-13 15:21:30 info: Testing R²: 0.9438
2026-04-13 15:21:30 info: Sorted features:
2026-04-13 15:21:30 info:   1. irradiance: 0.871
2026-04-13 15:21:30 info:   2. hour: 0.077
2026-04-13 15:21:30 info:   3. week_nr: 0.012
2026-04-13 15:21:30 info:   4. month: 0.011
2026-04-13 15:21:30 info:   5. season: 0.010
2026-04-13 15:21:30 info:   6. quarter: 0.006
2026-04-13 15:21:30 info:   7. windvelocity: 0.005
2026-04-13 15:21:30 info:   8. temperature: 0.005
2026-04-13 15:21:30 info:   9. day_of_week: 0.004
maar wanneer ik daarna een run doe krijg ik fouten:
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
2026-04-13 15:27:10 info: Maximale fout (maximal gap): 0.005000 euro
Cbc0036I Heuristics switched off as 262 branching objects are of wrong type

▶ Cut generation (root node)

  Pass     Rows    Tight   Frac     Suminf        Objective  Time(s)
  ──── ──────── ──────── ────── ────────── ──────────────── ────────
     1     1964        0    135       29.1        -0.640825    0.031
     2     2110      146      3     0.4257        -0.640825    0.045
     3     2110      146      3  0.0003904        -0.640825    0.052

  Cut generator summary:
  Generator              Row cuts Avg density Col cuts   Time(s) Next run    
  ────────────────────── ──────── ─────────── ──────── ───────── ────────────
  Probing                     596         2.4        0     0.004 disabled    
  Gomory                      132        38.0        0     0.003 disabled    
  Knapsack                      0         0.0        0     0.003 disabled    
  Clique                        0         0.0        0     0.000 disabled    
  MixedIntegerRounding2       124         7.3        0     0.002 disabled    
  FlowCover                    44         4.0        0     0.004 disabled    
  TwoMirCuts                  130         8.9        0     0.003 disabled    

✔ Cut generation complete — 146 cuts, obj -0.640825 → -0.640825 in 3 passes

▶ Branch and bound

     Nodes   OnTree  Depth         BestSol Method                 BestBound     Gap%   Time(s)
  ──────── ──────── ────── ─────────────── ──────────────── ─────────────── ──────── ─────────
 ★     102       68     15       -0.569618 strong branching       -0.640825   12.50%     0.456
 ★     102       68     15       -0.569635 strong branching       -0.640825   12.50%     0.463
       156       68     15       -0.569635                        -0.640825   12.50%     0.707
 ★     197       68     15       -0.572817 B&B                    -0.640825   11.87%     0.866
 ★     226       68     15       -0.573364 B&B                    -0.640825   11.77%     0.933
 ★     262       68     15       -0.573956 B&B                    -0.640825   11.65%      1.06
       340      120     15       -0.573956                        -0.640825   11.65%      1.41
 ★     425      120     15       -0.582395 B&B                    -0.640825   10.03%      1.77
       509      179     14       -0.582395                        -0.640825   10.03%      2.11
       670      259     15       -0.582395                        -0.640825   10.03%      2.81
       825      334     18       -0.582395                        -0.640825   10.03%      3.52
       979      411     18       -0.582395                        -0.640825   10.03%      4.22
      1097      431     27       -0.582395                        -0.640825   10.03%      4.92
      1229      431     27       -0.582395                        -0.640825   10.03%      5.63
      1363      431     27       -0.582395                        -0.640825   10.03%      6.33
      1479      429     29       -0.582395                        -0.640825   10.03%      7.04

✔ Stopped (node limit) — BestSol: -0.582395   Bound: -0.640825   Gap: 10.03%   Nodes: 1500   Iters: 6663   Time: 7.19s
corrupted double-linked list (not small)


ERROR while running Cbc. Signal SIGABRT caught. Getting stack trace.
weet iemand wat hier mis gaat?
edit:
"logging_level": "debug" geeft geen duidelijkere info. Ik gebruik een VM op Proxmox.

[ Voor 0% gewijzigd door balk op 13-04-2026 17:17 . Reden: quote tags toegevoegd ]


  • mgroen81
  • Registratie: September 2010
  • Laatst online: 17-04 18:13
Na de update van 3.2 naar 4.0 en hogen is de rekentijd toegenomen van ongeveer 20-30 seconde naar 300 seconde. Zijn er meer die dit ervaren?
Verder is er in mijn config niets veranderd. Wat zou ik hier aan kunnen doen?

Mitsubishi PUHZ-W50VHA + EHPT20X-VM2C / 30x JASolar 265Wp oost/west + SolarEdge 7K


  • pimNH
  • Registratie: Mei 2011
  • Laatst online: 18-04 12:43
mgroen81 schreef op maandag 13 april 2026 @ 19:30:
Na de update van 3.2 naar 4.0 en hogen is de rekentijd toegenomen van ongeveer 20-30 seconde naar 300 seconde. Zijn er meer die dit ervaren?
Verder is er in mijn config niets veranderd. Wat zou ik hier aan kunnen doen?
Bij mij doet hij het er op een Rpi 4 direct in homeassistant 1 seconde over. Wellicht kun je de max gap wat hoger zetten -> "max_gap": 0.005, zo staat hij bij mij.

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 00:18
Lasoul schreef op maandag 13 april 2026 @ 12:49:
[...]


Dat snap ik maar het zou ook goed ingezet kunnen worden voor bijvoorbeeld een warmtepomp. Het verbruik van de warmtepomp is afhankelijk van de buitentemperatuur en het warmteverlies van de woning. Daar zou je prima een ml model op kunnen trainen en is niet anders dan PV opwek of windenergie.
ja mijn idee ook, waarom zou je de warmteverliezen van de woning (=opwek warmtepomp) samen met de buitentemperaturen niet meenemen in de ML en berekeningen?

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


  • mgroen81
  • Registratie: September 2010
  • Laatst online: 17-04 18:13
pimNH schreef op maandag 13 april 2026 @ 20:43:
[...]


Bij mij doet hij het er op een Rpi 4 direct in homeassistant 1 seconde over. Wellicht kun je de max gap wat hoger zetten -> "max_gap": 0.005, zo staat hij bij mij.
Bedankt voor de tip. Ik zie deze setting nu voor het eerst.
Ik gebruik een odroid N2+ dus vergelijkbaar met rpi4. Iet krachtiger misschien zelfds.
edit: is niet de oplossing.

[ Voor 3% gewijzigd door mgroen81 op 13-04-2026 22:06 ]

Mitsubishi PUHZ-W50VHA + EHPT20X-VM2C / 30x JASolar 265Wp oost/west + SolarEdge 7K

balk schreef op maandag 13 april 2026 @ 15:42:
Ik krijg use_self_compiled_miplib niet werkend.
Compileren gaat goed:

[...]

Model trainen lijkt ook goed te gaan:

[...]

maar wanneer ik daarna een run doe krijg ik fouten:

[...]

weet iemand wat hier mis gaat?
edit:
"logging_level": "debug" geeft geen duidelijkere info. Ik gebruik een VM op Proxmox.
Ik vrees dat voor jou de self-complied mip-binaries ook niet gaan werken.
Er heeft laatst iemand een issue op github aangemaakt met een VM op Proxmox.
Misschien zelf even opzoeken in de "closed" issues.
Hij heeft uiteindelijk zelf een oplossing gevonden door in de VM de processor op "host" te zetten.
Als de de zelf compiled binaries niet meer wilt gebruiken moet je "de knop omzetten en de map "miplib" uit je config-map verwijderen.

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

konehead schreef op maandag 13 april 2026 @ 09:06:
Voordat ik allerlei logging ga posten: Ik heb vanaf 1 nov zondata in mijn database. Ik zie 'zo zo' resultaten met het ML model voor voorspellingen. Ik dacht gelezen te hebben dat je minimaal 3 maanden aan zondata moet hebben (en liever 12). Voor vandaag is de DAO prognose 6 KWh en ML 10 KWh. Wat zijn jullie ervaringen qua lengte historische data? Moet ik nog even wachten met ML totdat ik meer historie heb?
Drie wintermaanden zijn wel erg weinig voor het trainen van je ml-model(len).
Het gaat beter als er data van meer seizoenen (liefst zomer en winter) bij betrokken zijn en nog beter als je minimaal een jaar aan data hebt.
Als je drie jaar aan data hebt werkt het (bij mij) perfect.

Maar ..
je blijft afhankelijk van de stralingsvoorspelling. Vandaag was bij mij (net als bij jou) de voorspelling 6 kWh en de productie 10 kWh. Een paar wolkjes minder (of later) kan veel verschil maken.

[ Voor 11% gewijzigd door KC27 op 13-04-2026 22:45 ]

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

Er is een testversie gepubliceerd: 2026.4.3.rc1
Dit staat er in de changelog:
Changes
- Added flatpickr datetime picker in Home-menu (PR from @Dogooder )
Fixes
  • changed ev-ampere from integer to float
  • Skip NaN values when persisting DB records
  • Fix startup issue (PR from @simnet)
Met deze testversie moet het makkelijker worden om "fouten" in je config te corrigeren, omdat het opstartproces van de app/addon doorloopt ook als er iets wordt geconstateerd.
Je kunt dan met de editor in het dashboard alsnog je wijzigingen aanbrengen.

@Dogooder heeft een fraaie date/time picker toegevoegd aan het Home-menu:
Afbeeldingslocatie: https://tweakers.net/i/WJt6JrfKW4GPUtdHdGASwIwntcE=/800x/filters:strip_exif()/f/image/ZEbiEunWnFeNnqFlG6elhCYx.png?f=fotoalbum_large
Veel dank daarvoor!

Graag testen, als het goed bevalt kunnen we deze versie snel doorzetten naar "productie".

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

mgroen81 schreef op maandag 13 april 2026 @ 19:30:
Na de update van 3.2 naar 4.0 en hogen is de rekentijd toegenomen van ongeveer 20-30 seconde naar 300 seconde. Zijn er meer die dit ervaren?
Verder is er in mijn config niets veranderd. Wat zou ik hier aan kunnen doen?
Ik zag het zelf ook gistermiddag vanaf 13:00 uur.
Ik denk dat het een combinatie is van "weinig spreiding in de prijzen", laag verbruik van de wp.
Als ik de wp even "uit" zet dan gaat de berekening een factor 10 sneller.
Mijn ervaring is wel dat de binaries die met de laatste versie van mip zijn meegekomen sneller zijn dan de oude binaries.

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


  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
Ik ben ook met DAO aan de slag gegaan. Heb voorlopig EVCC de deur uit gedaan en heb Tibber maar gewoon losgelaten op de Laadpalen voor wat Grid Rewards. De batterij ben ik nu aan het proberen aan te sturen met DAO. Maar heb de EV's voorlopig nog wel uit de DAO berekeningen gelaten, aangezien voor de Grid Rewards ik Tibber de controle moet geven. Ik hoop dat het niet al te veel problemen gaat geven maar ik zal jullie op de hoogte houden. EVCC is mooie software maar speelde een te complexe rol in dit hele verhaal + is zo erg gefocust op zon terwijl wij overdag werken dus de zon helaas niet echt kunnen gebruiken om mee te laden behalve voor de accu's.

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 14-04 13:31
mgroen81 schreef op maandag 13 april 2026 @ 19:30:
Na de update van 3.2 naar 4.0 en hogen is de rekentijd toegenomen van ongeveer 20-30 seconde naar 300 seconde. Zijn er meer die dit ervaren?
Verder is er in mijn config niets veranderd. Wat zou ik hier aan kunnen doen?
Onlangs heb ik bij mijn zwager een 20kWh accu systeem geinstalleerd en uiteraard aan laten sturen met DAO op een HA Green. De rekentijd was voor de update met een max_gap van default 0,005 circa 2 minuten. Door de max_gap via een HA entiteit instelbaar te maken en deze te brengen naar 0,1 is de tijd aanzienlijk korter geworden: 3 seconden. Geen verschil in de winst.

Update 13:30u: na het ophalen van de prijzen helaas weer 300s rekentijd nodig :(

[ Voor 5% gewijzigd door tonvanboven op 14-04-2026 13:31 ]

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
Hoe wil DAO de waardes hebben? Ik heb namelijk een aantal waardes die per week of per dag resetten. Ik doel hier voornamelijk mee op de waardes van bijvoorbeeld PV:
Afbeeldingslocatie: https://tweakers.net/i/82G9Nw7DqrI6AOs6eCnoCk2lEK4=/800x/filters:strip_exif()/f/image/f1L8LKtcCcyPGAmPyOXafpQf.png?f=fotoalbum_large

Ik zit al te kijken of ik op de een of andere manier deze waarde kan laten doorlopen door een Home Assistant helper. Want ik weet anders geen raad hiermee.

  • konehead
  • Registratie: Januari 2005
  • Laatst online: 19:27
KC27 schreef op maandag 13 april 2026 @ 22:42:
[...]

Drie wintermaanden zijn wel erg weinig voor het trainen van je ml-model(len).
Het gaat beter als er data van meer seizoenen (liefst zomer en winter) bij betrokken zijn en nog beter als je minimaal een jaar aan data hebt.
Als je drie jaar aan data hebt werkt het (bij mij) perfect.

Maar ..
je blijft afhankelijk van de stralingsvoorspelling. Vandaag was bij mij (net als bij jou) de voorspelling 6 kWh en de productie 10 kWh. Een paar wolkjes minder (of later) kan veel verschil maken.
Thx, helaas in Nov een DB crash gehad met HA.. all mijn zon data weg, Ik ga het proberen met ML. vandaag: Productie: 17 KWh, DAO: 14.2 KWh, ML 21.. best wel wat overfitting, maar is einde dag. Tot 15h volgt ML de productie prima.. (dan is mijn accu toch al vol).

  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
KC27 schreef op maandag 13 april 2026 @ 22:39:
[...]


Ik vrees dat voor jou de self-complied mip-binaries ook niet gaan werken.
Er heeft laatst iemand een issue op github aangemaakt met een VM op Proxmox.
Misschien zelf even opzoeken in de "closed" issues.
Hij heeft uiteindelijk zelf een oplossing gevonden door in de VM de processor op "host" te zetten.
Als de de zelf compiled binaries niet meer wilt gebruiken moet je "de knop omzetten en de map "miplib" uit je config-map verwijderen.
Ik denk dat het me gelukt is om het werkend te krijgen. Gemini adviseerde me om het volgende te doen
* CPU type "host" (had ik al)
* architecture q35 (hielp niet)
* compileer met CXXFLAGS="-O2 -march=x86-64-v2 -pipe" ipv -march=native -O3

Ik denk dat dat laatste ook gelukt is door in de docker te bashen, build_miplib.sh aan te passen en dan opnieuw te draaien. Hierna geen foutmeldingen maar ik weet niet zeker of de custom miplib wordt gebruikt. Is er een manier om te zien welke lib gebruikt wordt?

Dit was wel een behoorlijke omweg, en niet persistent. Is het misschien mogelijk om CXXFLAGS aan te gaan passen via een config?

====
hmm, nu toch weer een foutmelding.

  • thesaxofonist
  • Registratie: November 2016
  • Laatst online: 21:35
Ik simuleer een hybride batterij en zie dat DAO af en toe rendement berekent als dat niet relevant is (en dan ook niet klopt), bijvoorbeeld deze ochtend. Om 8.30 uur wordt er een beetje energie opgewekt en teruggeleverd aan het net. Er wordt geen rendement van de batterij getoond en dat lijkt me correct.

Om 9.00 is er nog dezelfde situatie en wordt een batterijrendement van 105,26% getoond. Dat lijkt me niet correct. Om 9.45 wordt energie naar de batterij gestuurd en wijzigt het rendement naar 95% (correct).

De rest van de berekeningen lijken te kloppen. Het is alleen deze kolom. Ik heb er verder geen last van.

Afbeeldingslocatie: https://tweakers.net/i/giwQnxmw29avQ2p9aTj7Bk_K5F8=/800x/filters:strip_icc():strip_exif()/f/image/7sD2pMcFj4OFkBK4AK4Ui1U4.jpg?f=fotoalbum_large
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
2026-04-15 08:30:00 info: Day Ahead Optimalisering versie: 2026.04.0.rc3
2026-04-15 08:30:00 info: Day Ahead Optimalisering gestart op: 15-04-2026 08:30:00
2026-04-15 08:30:00 info: Day Ahead Optimalisatie gestart: 15-04-2026 08:30:00 taak: calc_optimum
2026-04-15 08:30:00 info: Debug = False
2026-04-15 08:30:00 info: Baseload uit instellingen
2026-04-15 08:30:00 info: ML prediction string4enNoord
                   date_time  prediction
0  2026-04-15 08:00:00+02:00       0.186
1  2026-04-15 09:00:00+02:00       0.562
2  2026-04-15 10:00:00+02:00       1.237
3  2026-04-15 11:00:00+02:00       1.788
4  2026-04-15 12:00:00+02:00       2.084
5  2026-04-15 13:00:00+02:00       1.685
6  2026-04-15 14:00:00+02:00       1.865
7  2026-04-15 15:00:00+02:00       1.996
8  2026-04-15 16:00:00+02:00       1.818
9  2026-04-15 17:00:00+02:00       1.557
10 2026-04-15 18:00:00+02:00       0.944
11 2026-04-15 19:00:00+02:00       0.245
12 2026-04-15 20:00:00+02:00       0.004
13 2026-04-15 21:00:00+02:00       0.004
14 2026-04-15 22:00:00+02:00       0.002
15 2026-04-15 23:00:00+02:00       0.002
2026-04-15 08:30:00 info: ML prediction Envoy
                   date_time  prediction
0  2026-04-15 08:00:00+02:00       0.160
1  2026-04-15 09:00:00+02:00       0.347
2  2026-04-15 10:00:00+02:00       0.427
3  2026-04-15 11:00:00+02:00       0.420
4  2026-04-15 12:00:00+02:00       0.411
5  2026-04-15 13:00:00+02:00       0.450
6  2026-04-15 14:00:00+02:00       0.446
7  2026-04-15 15:00:00+02:00       0.434
8  2026-04-15 16:00:00+02:00       0.410
9  2026-04-15 17:00:00+02:00       0.460
10 2026-04-15 18:00:00+02:00       0.457
11 2026-04-15 19:00:00+02:00       0.120
12 2026-04-15 20:00:00+02:00       0.008
13 2026-04-15 21:00:00+02:00       0.008
14 2026-04-15 22:00:00+02:00       0.008
15 2026-04-15 23:00:00+02:00       0.009
2026-04-15 08:30:01 info: ML prediction string1
                   date_time  prediction
0  2026-04-15 08:00:00+02:00       0.425
1  2026-04-15 09:00:00+02:00       0.411
2  2026-04-15 10:00:00+02:00       1.844
3  2026-04-15 11:00:00+02:00       2.268
4  2026-04-15 12:00:00+02:00       2.525
5  2026-04-15 13:00:00+02:00       1.837
6  2026-04-15 14:00:00+02:00       1.810
7  2026-04-15 15:00:00+02:00       1.563
8  2026-04-15 16:00:00+02:00       1.756
9  2026-04-15 17:00:00+02:00       1.421
10 2026-04-15 18:00:00+02:00       0.704
11 2026-04-15 19:00:00+02:00       0.087
12 2026-04-15 20:00:00+02:00       0.001
13 2026-04-15 21:00:00+02:00       0.001
14 2026-04-15 22:00:00+02:00       0.001
15 2026-04-15 23:00:00+02:00       0.001
2026-04-15 08:30:01 info: ML prediction string2en3
                   date_time  prediction
0  2026-04-15 08:00:00+02:00       0.267
1  2026-04-15 09:00:00+02:00       0.411
2  2026-04-15 10:00:00+02:00       1.024
3  2026-04-15 11:00:00+02:00       1.928
4  2026-04-15 12:00:00+02:00       2.088
5  2026-04-15 13:00:00+02:00       1.485
6  2026-04-15 14:00:00+02:00       1.556
7  2026-04-15 15:00:00+02:00       1.556
8  2026-04-15 16:00:00+02:00       1.537
9  2026-04-15 17:00:00+02:00       1.144
10 2026-04-15 18:00:00+02:00       0.560
11 2026-04-15 19:00:00+02:00       0.109
12 2026-04-15 20:00:00+02:00       0.000
13 2026-04-15 21:00:00+02:00       0.001
14 2026-04-15 22:00:00+02:00       0.001
15 2026-04-15 23:00:00+02:00       0.001
2026-04-15 08:30:01 info: Start waarden: 
      uur                tijd  spot   p_l   p_t  base  pv_ac  pv_dc
0   08:30 2026-04-15 08:30:00 0.136 0.312 0.164 0.050  0.104  0.177
1   08:45 2026-04-15 08:45:00 0.114 0.286 0.138 0.050  0.139  0.185
2   09:00 2026-04-15 09:00:00 0.130 0.305 0.157 0.052  0.172  0.163
3   09:15 2026-04-15 09:15:00 0.122 0.295 0.148 0.052  0.207  0.171
4   09:30 2026-04-15 09:30:00 0.109 0.279 0.132 0.052  0.242  0.180
5   09:45 2026-04-15 09:45:00 0.103 0.272 0.125 0.045  0.289  0.307
6   10:00 2026-04-15 10:00:00 0.126 0.300 0.152 0.033  0.349  0.536
7   10:15 2026-04-15 10:15:00 0.095 0.263 0.115 0.027  0.396  0.664
8   10:30 2026-04-15 10:30:00 0.084 0.250 0.102 0.020  0.443  0.792
9   10:45 2026-04-15 10:45:00 0.074 0.237 0.089 0.020  0.477  0.875
10  11:00 2026-04-15 11:00:00 0.088 0.254 0.107 0.023  0.505  0.939
11  11:15 2026-04-15 11:15:00 0.075 0.239 0.091 0.023  0.539  1.022
12  11:30 2026-04-15 11:30:00 0.064 0.225 0.077 0.023  0.573  1.105
13  11:45 2026-04-15 11:45:00 0.049 0.207 0.059 0.030  0.591  1.131
14  12:00 2026-04-15 12:00:00 0.060 0.221 0.073 0.044  0.607  1.141
15  12:15 2026-04-15 12:15:00 0.050 0.208 0.061 0.050  0.625  1.167
16  12:30 2026-04-15 12:30:00 0.048 0.205 0.057 0.056  0.643  1.193
17  12:45 2026-04-15 12:45:00 0.042 0.199 0.051 0.050  0.620  1.112
18  13:00 2026-04-15 13:00:00 0.041 0.197 0.050 0.031  0.559  0.931
19  13:15 2026-04-15 13:15:00 0.041 0.197 0.049 0.025  0.537  0.850
20  13:30 2026-04-15 13:30:00 0.042 0.198 0.051 0.019  0.514  0.769
21  13:45 2026-04-15 13:45:00 0.046 0.203 0.056 0.025  0.525  0.772
22  14:00 2026-04-15 14:00:00 0.035 0.190 0.042 0.044  0.562  0.842
23  14:15 2026-04-15 14:15:00 0.053 0.212 0.065 0.050  0.573  0.845
24  14:30 2026-04-15 14:30:00 0.064 0.225 0.077 0.056  0.584  0.847
25  14:45 2026-04-15 14:45:00 0.075 0.239 0.091 0.050  0.591  0.832
26  15:00 2026-04-15 15:00:00 0.057 0.216 0.069 0.033  0.601  0.796
27  15:15 2026-04-15 15:15:00 0.066 0.228 0.080 0.027  0.609  0.781
28  15:30 2026-04-15 15:30:00 0.075 0.238 0.091 0.020  0.616  0.765
29  15:45 2026-04-15 15:45:00 0.084 0.250 0.102 0.020  0.604  0.776
30  16:00 2026-04-15 16:00:00 0.075 0.238 0.090 0.019  0.576  0.821
31  16:15 2026-04-15 16:15:00 0.085 0.251 0.103 0.019  0.564  0.832
32  16:30 2026-04-15 16:30:00 0.092 0.260 0.112 0.019  0.551  0.843
33  16:45 2026-04-15 16:45:00 0.098 0.267 0.119 0.044  0.538  0.797
34  17:00 2026-04-15 17:00:00 0.096 0.264 0.117 0.094  0.530  0.718
35  17:15 2026-04-15 17:15:00 0.105 0.274 0.127 0.119  0.517  0.673
36  17:30 2026-04-15 17:30:00 0.117 0.289 0.141 0.144  0.504  0.627
37  17:45 2026-04-15 17:45:00 0.127 0.301 0.153 0.144  0.465  0.546
38  18:00 2026-04-15 18:00:00 0.115 0.286 0.139 0.130  0.415  0.434
39  18:15 2026-04-15 18:15:00 0.122 0.295 0.147 0.130  0.376  0.353
40  18:30 2026-04-15 18:30:00 0.134 0.309 0.162 0.130  0.338  0.272
41  18:45 2026-04-15 18:45:00 0.149 0.328 0.180 0.111  0.273  0.205
42  19:00 2026-04-15 19:00:00 0.146 0.325 0.177 0.073  0.178  0.136
43  19:15 2026-04-15 19:15:00 0.161 0.343 0.195 0.055  0.113  0.069
44  19:30 2026-04-15 19:30:00 0.165 0.348 0.200 0.036  0.048  0.008
45  19:45 2026-04-15 19:45:00 0.190 0.378 0.230 0.036  0.026  0.001
46  20:00 2026-04-15 20:00:00 0.189 0.376 0.228 0.052  0.031  0.015
47  20:15 2026-04-15 20:15:00 0.178 0.362 0.215 0.052  0.009  0.003
48  20:30 2026-04-15 20:30:00 0.172 0.356 0.209 0.052  0.000  0.000
49  20:45 2026-04-15 20:45:00 0.152 0.332 0.184 0.045  0.000  0.000
50  21:00 2026-04-15 21:00:00 0.166 0.349 0.201 0.033  0.003  0.000
51  21:15 2026-04-15 21:15:00 0.147 0.325 0.178 0.027  0.003  0.000
52  21:30 2026-04-15 21:30:00 0.140 0.317 0.169 0.020  0.003  0.000
53  21:45 2026-04-15 21:45:00 0.126 0.300 0.152 0.020  0.003  0.000
54  22:00 2026-04-15 22:00:00 0.140 0.318 0.170 0.025  0.003  0.000
55  22:15 2026-04-15 22:15:00 0.133 0.308 0.160 0.025  0.003  0.000
56  22:30 2026-04-15 22:30:00 0.127 0.301 0.153 0.025  0.003  0.000
57  22:45 2026-04-15 22:45:00 0.123 0.297 0.149 0.025  0.003  0.000
58  23:00 2026-04-15 23:00:00 0.130 0.305 0.157 0.025  0.003  0.000
59  23:15 2026-04-15 23:15:00 0.121 0.294 0.146 0.025  0.003  0.000
60  23:30 2026-04-15 23:30:00 0.112 0.284 0.136 0.025  0.003  0.000
61  23:45 2026-04-15 23:45:00 0.103 0.273 0.125 0.025  0.003  0.000
2026-04-15 08:30:01 info: No reduced hours applied for QCells1
2026-04-15 08:30:01 info: No reduced power applied during discharging at low soc
2026-04-15 08:30:01 info: No reduced power applied during charging at high soc
2026-04-15 08:30:01 info: Startwaarde SoC QCells1: 10.0%

2026-04-15 08:30:01 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2026-04-15 08:30:01 info: Warmtepomp niet aanwezig - warmtepomp wordt niet ingepland
2026-04-15 08:30:01 info: Strategie: minimale kosten
2026-04-15 08:30:01 info: Maximale fout (maximal gap): 0.001000 euro
2026-04-15 08:30:02 info: Rekentijd: 0.48  sec
2026-04-15 08:30:02 info: Het programma heeft een optimale oplossing gevonden.
2026-04-15 08:30:02 info: Ontlaad volume in uur 0 08:30 0.16372964347247038 kWh
2026-04-15 08:30:02 info: 1 0.21830619129662718 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 1 08:45 0.1712590173119679 kWh
2026-04-15 08:30:02 info: 1 0.2283453564159572 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 2 09:00 0.1511065558525727 kWh
2026-04-15 08:30:02 info: 1 0.2014754078034303 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 3 09:15 0.1586359296925366 kWh
2026-04-15 08:30:02 info: 1 0.2115145729233821 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 4 09:30 0.1661653035325508 kWh
2026-04-15 08:30:02 info: 1 0.2215537380434011 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 5 09:45 0.0030785069924745504 kWh
2026-04-15 08:30:02 info: 1 0.004104675989966068 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 6 10:00 0.75 kWh
2026-04-15 08:30:02 info: 1 1.0 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 7 10:15 0.6143441941589116 kWh
2026-04-15 08:30:02 info: 1 0.8191255922118822 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 8 10:30 0.7326008919626473 kWh
2026-04-15 08:30:02 info: 1 0.9768011892835298 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 9 10:45 0.8068764743573489 kWh
2026-04-15 08:30:02 info: 1 0.9544988205141209 3.0
2026-04-15 08:30:02 info: 2 0.04550117948587905 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 10 11:00 0.8632631265221441 kWh
2026-04-15 08:30:02 info: 1 0.9093894987822848 3.0
2026-04-15 08:30:02 info: 2 0.09061050121771529 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 11 11:15 0.9367982949467099 kWh
2026-04-15 08:30:02 info: 1 0.8505613640426323 3.0
2026-04-15 08:30:02 info: 2 0.14943863595736767 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 12 11:30 1.0103334897653538 kWh
2026-04-15 08:30:02 info: 1 0.791733208187717 3.0
2026-04-15 08:30:02 info: 2 0.208266791812283 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 13 11:45 0.623111484560527 kWh
2026-04-15 08:30:02 info: 1 0.8308153127473692 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 14 12:00 1.0422189217655264 kWh
2026-04-15 08:30:02 info: 1 0.7662248625875787 3.0
2026-04-15 08:30:02 info: 2 0.23377513741242123 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 15 12:15 0.7500000000000001 kWh
2026-04-15 08:30:02 info: 1 1.0 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 16 12:30 0.40962869767099613 kWh
2026-04-15 08:30:02 info: 1 0.5461715968946614 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 17 12:45 0.335042222030461 kWh
2026-04-15 08:30:02 info: 1 0.4467229627072813 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 18 13:00 0.1671812804415825 kWh
2026-04-15 08:30:02 info: 1 0.22290837392211 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 19 13:15 0.09259483236819518 kWh
2026-04-15 08:30:02 info: 1 0.12345977649092689 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 20 13:30 0.01800832916051172 kWh
2026-04-15 08:30:02 info: 1 0.024011105547348952 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 21 13:45 0.02050180528312937 kWh
2026-04-15 08:30:02 info: 1 0.027335740377505826 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 22 14:00 0.08499193694442489 kWh
2026-04-15 08:30:02 info: 1 0.1133225825925665 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 23 14:15 0.7799062465535517 kWh
2026-04-15 08:30:02 info: 1 0.9760750027571587 3.0
2026-04-15 08:30:02 info: 2 0.023924997242841226 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 24 14:30 0.7822936173092495 kWh
2026-04-15 08:30:02 info: 1 0.9741651061526004 3.0
2026-04-15 08:30:02 info: 2 0.025834893847399485 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 25 14:45 0.7686467703947044 kWh
2026-04-15 08:30:02 info: 1 0.9850825836842366 3.0
2026-04-15 08:30:02 info: 2 0.014917416315763423 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 26 15:00 0.7365848273038863 kWh
2026-04-15 08:30:02 info: 1 0.9821131030718485 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 27 15:15 0.7223314262926581 kWh
2026-04-15 08:30:02 info: 1 0.9631085683902106 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 28 15:30 0.7080780528485775 kWh
2026-04-15 08:30:02 info: 1 0.94410407046477 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 29 15:45 0.7181334733963012 kWh
2026-04-15 08:30:02 info: 1 0.957511297861735 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 30 16:00 0.7590606193989514 kWh
2026-04-15 08:30:02 info: 1 0.9927515044808388 3.0
2026-04-15 08:30:02 info: 2 0.007248495519161079 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 31 16:15 0.7686882024987581 kWh
2026-04-15 08:30:02 info: 1 0.9850494380009936 3.0
2026-04-15 08:30:02 info: 2 0.014950561999006374 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 32 16:30 0.7783157328104087 kWh
2026-04-15 08:30:02 info: 1 0.9773474137516733 3.0
2026-04-15 08:30:02 info: 2 0.02265258624832677 8.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 33 16:45 0.7374585267156362 kWh
2026-04-15 08:30:02 info: 1 0.9832780356208483 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 34 17:00 0.6644736300222575 kWh
2026-04-15 08:30:02 info: 1 0.8859648400296766 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 35 17:15 0.6223579193465413 kWh
2026-04-15 08:30:02 info: 1 0.8298105591287217 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 36 17:30 0.580242236237973 kWh
2026-04-15 08:30:02 info: 1 0.7736563149839639 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 37 17:45 0.5050897932611407 kWh
2026-04-15 08:30:02 info: 1 0.6734530576815211 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 38 18:00 0.40181325264275086 kWh
2026-04-15 08:30:02 info: 1 0.5357510035236678 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 39 18:15 0.3266607958823443 kWh
2026-04-15 08:30:02 info: 1 0.4355477278431257 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 40 18:30 0.2515083529055119 kWh
2026-04-15 08:30:02 info: 1 0.33534447054068256 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 41 18:45 0.1897420346736908 kWh
2026-04-15 08:30:02 info: 1 0.2529893795649211 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 42 19:00 0.12539886950980875 kWh
2026-04-15 08:30:02 info: 1 0.16719849267974496 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 43 19:15 0.6849126309537054 kWh
2026-04-15 08:30:02 info: 1 0.9132168412716073 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 44 19:30 0.7010467187385074 kWh
2026-04-15 08:30:02 info: 1 0.93472895831801 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 45 19:45 0.6947275203070602 kWh
2026-04-15 08:30:02 info: 1 0.9263033604094136 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 46 20:00 0.7080270365009257 kWh
2026-04-15 08:30:02 info: 1 0.9440360486679008 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 47 20:15 0.6967264216521927 kWh
2026-04-15 08:30:02 info: 1 0.9289685622029233 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 48 20:30 0.6937499999999999 kWh
2026-04-15 08:30:02 info: 1 0.9249999999999997 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 49 20:45 0.04531249999999999 kWh
2026-04-15 08:30:02 info: 1 0.06041666666666665 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 50 21:00 0.6940475771265029 kWh
2026-04-15 08:30:02 info: 1 0.9253967695020038 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 51 21:15 0.02355339879868552 kWh
2026-04-15 08:30:02 info: 1 0.0314045317315807 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 52 21:30 0.017308410594705496 kWh
2026-04-15 08:30:02 info: 1 0.023077880792940656 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 53 21:45 0.0173856899375096 kWh
2026-04-15 08:30:02 info: 1 0.023180919916679466 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 54 22:00 0.0222315386403352 kWh
2026-04-15 08:30:02 info: 1 0.029642051520446928 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 55 22:15 0.022308818041346965 kWh
2026-04-15 08:30:02 info: 1 0.029745090721795948 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 56 22:30 0.022386097384151073 kWh
2026-04-15 08:30:02 info: 1 0.029848129845534758 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 57 22:45 0.022355902276467533 kWh
2026-04-15 08:30:02 info: 1 0.02980786970195671 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 58 23:00 0.022245101607404647 kWh
2026-04-15 08:30:02 info: 1 0.02966013547653953 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 59 23:15 0.022214906732551755 kWh
2026-04-15 08:30:02 info: 1 0.02961987564340234 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 60 23:30 0.022184711624868212 kWh
2026-04-15 08:30:02 info: 1 0.029579615499824283 3.0
2026-04-15 08:30:02 info: Ontlaad volume in uur 61 23:45 0.02215451651718467 kWh
2026-04-15 08:30:02 info: 1 0.029539355356246227 3.0
2026-04-15 08:30:02 info: In- en uitgaande energie per kwartier batterij QCells1
   uur   ac->    eff   ->dc pv->dc   dc->    eff  ->bat  o_eff    SoC
          kWh      %    kWh    kWh    kWh      %    kWh      %      %
 08:30  -0.16  92.50  -0.18   0.18   0.00     --   0.00     --  10.00
 08:45  -0.17  92.50  -0.19   0.19   0.00     --   0.00     --  10.00
 09:00  -0.15  92.50  -0.16   0.16   0.00 105.26   0.00     --  10.00
 09:15  -0.16  92.50  -0.17   0.17   0.00     --   0.00     --  10.00
 09:30  -0.17  92.50  -0.18   0.18  -0.00 105.26  -0.00     --  10.00
 09:45  -0.00  92.50  -0.00   0.31   0.30  95.00   0.29     --  14.01
 10:00  -0.75  92.50  -0.81   0.54  -0.27  95.00  -0.29     --  10.00
 10:15  -0.61  92.50  -0.66   0.66   0.00     --   0.00     --  10.00
 10:30  -0.73  92.50  -0.79   0.79   0.00     --   0.00     --  10.00
 10:45  -0.81  92.21  -0.88   0.88   0.00     --   0.00     --  10.00
 11:00  -0.86  91.96  -0.94   0.94   0.00     --   0.00     --  10.00
 11:15  -0.94  91.69  -1.02   1.02   0.00     --   0.00     --  10.00
 11:30  -1.01  91.45  -1.10   1.10   0.00     --   0.00     --  10.00
 11:45  -0.62  92.50  -0.67   1.13   0.46  95.00   0.43     --  16.03
 12:00  -1.04  91.36  -1.14   1.14   0.00     --   0.00     --  16.03
 12:15  -0.75  92.50  -0.81   1.17   0.36  95.00   0.34     --  20.73
 12:30  -0.41  92.50  -0.44   1.19   0.75  95.00   0.71     --  30.62
 12:45  -0.34  92.50  -0.36   1.11   0.75  95.00   0.71     --  40.52
 13:00  -0.17  92.50  -0.18   0.93   0.75  95.00   0.71     --  50.42
 13:15  -0.09  92.50  -0.10   0.85   0.75  95.00   0.71     --  60.31
 13:30  -0.02  92.50  -0.02   0.77   0.75  95.00   0.71     --  70.21
 13:45  -0.02  92.50  -0.02   0.77   0.75  95.00   0.71     --  80.10
 14:00  -0.08  92.50  -0.09   0.84   0.75  95.00   0.71     --  90.00
 14:15  -0.78  92.34  -0.84   0.84   0.00     --   0.00     --  90.00
 14:30  -0.78  92.33  -0.85   0.85   0.00     --   0.00     --  90.00
 14:45  -0.77  92.40  -0.83   0.83   0.00     --   0.00     --  90.00
 15:00  -0.74  92.50  -0.80   0.80   0.00     --   0.00     --  90.00
 15:15  -0.72  92.50  -0.78   0.78   0.00     --   0.00     --  90.00
 15:30  -0.71  92.50  -0.77   0.77   0.00     --   0.00     --  90.00
 15:45  -0.72  92.50  -0.78   0.78   0.00     --   0.00     --  90.00
 16:00  -0.76  92.45  -0.82   0.82   0.00     --   0.00     --  90.00
 16:15  -0.77  92.40  -0.83   0.83   0.00     --   0.00     --  90.00
 16:30  -0.78  92.35  -0.84   0.84   0.00     --   0.00     --  90.00
 16:45  -0.74  92.50  -0.80   0.80   0.00     --   0.00     --  90.00
 17:00  -0.66  92.50  -0.72   0.72   0.00     --   0.00     --  90.00
 17:15  -0.62  92.50  -0.67   0.67   0.00     --   0.00     --  90.00
 17:30  -0.58  92.50  -0.63   0.63   0.00     --   0.00     --  90.00
 17:45  -0.51  92.50  -0.55   0.55   0.00     --   0.00     --  90.00
 18:00  -0.40  92.50  -0.43   0.43   0.00     --   0.00     --  90.00
 18:15  -0.33  92.50  -0.35   0.35   0.00     --   0.00     --  90.00
 18:30  -0.25  92.50  -0.27   0.27   0.00     --   0.00     --  90.00
 18:45  -0.19  92.50  -0.21   0.21   0.00     --   0.00     --  90.00
 19:00  -0.13  92.50  -0.14   0.14   0.00     --   0.00     --  90.00
 19:15  -0.68  92.50  -0.74   0.07  -0.67  95.00  -0.71     --  80.18
 19:30  -0.70  92.50  -0.76   0.01  -0.75  95.00  -0.79     --  69.22
 19:45  -0.69  92.50  -0.75   0.00  -0.75  95.00  -0.79     --  58.25
 20:00  -0.71  92.50  -0.77   0.02  -0.75  95.00  -0.79     --  47.29
 20:15  -0.70  92.50  -0.75   0.00  -0.75  95.00  -0.79     --  36.32
 20:30  -0.69  92.50  -0.75   0.00  -0.75  95.00  -0.79  87.88  25.36
 20:45  -0.05  92.50  -0.05   0.00  -0.05  95.00  -0.05  87.88  24.64
 21:00  -0.69  92.50  -0.75   0.00  -0.75  95.00  -0.79     --  13.67
 21:15  -0.02  92.50  -0.03   0.00  -0.03  95.00  -0.03     --  13.31
 21:30  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.02     --  13.04
 21:45  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.02     --  12.77
 22:00  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.02     --  12.43
 22:15  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.03     --  12.08
 22:30  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.03     --  11.73
 22:45  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.03     --  11.38
 23:00  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.02     --  11.04
 23:15  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.02     --  10.69
 23:30  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.02     --  10.34
 23:45  -0.02  92.50  -0.02   0.00  -0.02  95.00  -0.02     --  10.00
Totaal -27.15        -29.41  30.03   0.62         -0.00              
2026-04-15 08:30:09 info: Berekende prognoses: 
   uur  bat_in  bat_out   cons   prod   base   boil     wp     ev  pv_ac   cost  profit  b_tem
 08:30    0.00     0.16   0.00   0.22   0.05   0.00   0.00   0.00   0.10   0.00   -0.04  20.00
 08:45    0.00     0.17   0.00   0.26   0.05   0.00   0.00   0.00   0.14   0.00   -0.04  20.00
 09:00    0.00     0.15   0.00   0.27   0.05   0.00   0.00   0.00   0.17   0.00   -0.04  20.00
 09:15    0.00     0.16   0.00   0.31   0.05   0.00   0.00   0.00   0.21   0.00   -0.05  20.00
 09:30    0.00     0.17   0.00   0.36   0.05   0.00   0.00   0.00   0.24   0.00   -0.05  20.00
 09:45    0.00     0.00   0.00   0.25   0.05   0.00   0.00   0.00   0.29   0.00   -0.03  20.00
 10:00    0.00     0.75   0.00   1.07   0.03   0.00   0.00   0.00   0.35   0.00   -0.16  20.00
 10:15    0.00     0.61   0.00   0.98   0.03   0.00   0.00   0.00   0.40   0.00   -0.11  20.00
 10:30    0.00     0.73   0.00   1.16   0.02   0.00   0.00   0.00   0.44   0.00   -0.12  20.00
 10:45    0.00     0.81   0.00   1.26   0.02   0.00   0.00   0.00   0.48   0.00   -0.11  20.00
 11:00    0.00     0.86   0.00   1.34   0.02   0.00   0.00   0.00   0.51   0.00   -0.14  20.00
 11:15    0.00     0.94   0.00   1.45   0.02   0.00   0.00   0.00   0.54   0.00   -0.13  20.00
 11:30    0.00     1.01   0.00   1.56   0.02   0.00   0.00   0.00   0.57   0.00   -0.12  20.00
 11:45    0.00     0.62   0.00   1.18   0.03   0.00   0.00   0.00   0.59   0.00   -0.07  20.00
 12:00    0.00     1.04   0.00   1.61   0.04   0.00   0.00   0.00   0.61   0.00   -0.12  20.00
 12:15    0.00     0.75   0.00   1.32   0.05   0.00   0.00   0.00   0.62   0.00   -0.08  20.00
 12:30    0.00     0.41   0.00   1.00   0.06   0.00   0.00   0.00   0.64   0.00   -0.06  20.00
 12:45    0.00     0.34   0.00   0.91   0.05   0.00   0.00   0.00   0.62   0.00   -0.05  20.00
 13:00    0.00     0.17   0.00   0.70   0.03   0.00   0.00   0.00   0.56   0.00   -0.03  20.00
 13:15    0.00     0.09   0.00   0.60   0.03   0.00   0.00   0.00   0.54   0.00   -0.03  20.00
 13:30    0.00     0.02   0.00   0.51   0.02   0.00   0.00   0.00   0.51   0.00   -0.03  20.00
 13:45    0.00     0.02   0.00   0.52   0.03   0.00   0.00   0.00   0.53   0.00   -0.03  20.00
 14:00    0.00     0.08   0.00   0.60   0.04   0.00   0.00   0.00   0.56   0.00   -0.03  20.00
 14:15    0.00     0.78   0.00   1.30   0.05   0.00   0.00   0.00   0.57   0.00   -0.08  20.00
 14:30    0.00     0.78   0.00   1.31   0.06   0.00   0.00   0.00   0.58   0.00   -0.10  20.00
 14:45    0.00     0.77   0.00   1.31   0.05   0.00   0.00   0.00   0.59   0.00   -0.12  20.00
 15:00    0.00     0.74   0.00   1.31   0.03   0.00   0.00   0.00   0.60   0.00   -0.09  20.00
 15:15    0.00     0.72   0.00   1.30   0.03   0.00   0.00   0.00   0.61   0.00   -0.10  20.00
 15:30    0.00     0.71   0.00   1.30   0.02   0.00   0.00   0.00   0.62   0.00   -0.12  20.00
 15:45    0.00     0.72   0.00   1.30   0.02   0.00   0.00   0.00   0.60   0.00   -0.13  20.00
 16:00    0.00     0.76   0.00   1.32   0.02   0.00   0.00   0.00   0.58   0.00   -0.12  20.00
 16:15    0.00     0.77   0.00   1.31   0.02   0.00   0.00   0.00   0.56   0.00   -0.14  20.00
 16:30    0.00     0.78   0.00   1.31   0.02   0.00   0.00   0.00   0.55   0.00   -0.15  20.00
 16:45    0.00     0.74   0.00   1.23   0.04   0.00   0.00   0.00   0.54   0.00   -0.15  20.00
 17:00    0.00     0.66   0.00   1.10   0.09   0.00   0.00   0.00   0.53   0.00   -0.13  20.00
 17:15    0.00     0.62   0.00   1.02   0.12   0.00   0.00   0.00   0.52   0.00   -0.13  20.00
 17:30    0.00     0.58   0.00   0.94   0.14   0.00   0.00   0.00   0.50   0.00   -0.13  20.00
 17:45    0.00     0.51   0.00   0.83   0.14   0.00   0.00   0.00   0.47   0.00   -0.13  20.00
 18:00    0.00     0.40   0.00   0.69   0.13   0.00   0.00   0.00   0.41   0.00   -0.10  20.00
 18:15    0.00     0.33   0.00   0.57   0.13   0.00   0.00   0.00   0.38   0.00   -0.08  20.00
 18:30    0.00     0.25   0.00   0.46   0.13   0.00   0.00   0.00   0.34   0.00   -0.07  20.00
 18:45    0.00     0.19   0.00   0.35   0.11   0.00   0.00   0.00   0.27   0.00   -0.06  20.00
 19:00    0.00     0.13   0.00   0.23   0.07   0.00   0.00   0.00   0.18   0.00   -0.04  20.00
 19:15    0.00     0.68   0.00   0.74   0.05   0.00   0.00   0.00   0.11   0.00   -0.14  20.00
 19:30    0.00     0.70   0.00   0.71   0.04   0.00   0.00   0.00   0.05   0.00   -0.14  20.00
 19:45    0.00     0.69   0.00   0.68   0.04   0.00   0.00   0.00   0.03   0.00   -0.16  20.00
 20:00    0.00     0.71   0.00   0.69   0.05   0.00   0.00   0.00   0.03   0.00   -0.16  20.00
 20:15    0.00     0.70   0.00   0.65   0.05   0.00   0.00   0.00   0.01   0.00   -0.14  20.00
 20:30    0.00     0.69   0.00   0.64   0.05   0.00   0.00   0.00   0.00   0.00   -0.13  20.00
 20:45    0.00     0.05   0.00   0.00   0.05   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 21:00    0.00     0.69   0.00   0.66   0.03   0.00   0.00   0.00   0.00   0.00   -0.13  20.00
 21:15    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 21:30    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 21:45    0.00     0.02   0.00   0.00   0.02   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 22:00    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 22:15    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 22:30    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 22:45    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 23:00    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 23:15    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 23:30    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
 23:45    0.00     0.02   0.00   0.00   0.03   0.00   0.00   0.00   0.00   0.00   -0.00  20.00
Totaal    0.00    27.15   0.00  44.73   2.90   0.00   0.00   0.00  20.48   0.00   -4.84    NaN

2026-04-15 08:30:09 info: Consumption               0.00 (kWh)
2026-04-15 08:30:09 info: Cost consumption          0.00 (€)
2026-04-15 08:30:09 info: Tariff consumption        0.000 (€/kWh)
2026-04-15 08:30:09 info: Production               44.73 (kWh)
2026-04-15 08:30:09 info: Profit production        -4.84 (€)
2026-04-15 08:30:09 info: Tariff production         0.108 (€/kWh)

2026-04-15 08:30:09 info: 
Calculation profit after optimize in €
Cost before optimize             -4.01
Cost consumption      0.00
Cycle cost            0.06
Penalty cost          0.00
Battery storage       0.00
Boiler storage        0.00
Profit production    -4.84
Total                -4.78
Cost after optimize              -4.78
Profit:                           0.76
2026-04-15 08:30:09 info: Doorzetten van alle settings naar HA
2026-04-15 08:30:09 info: Grid set point: -872.0 W
2026-04-15 08:30:09 info: Cycle cost QCells1: 0.06 euro
2026-04-15 08:30:09 info: Netto vermogen naar(+)/uit(-) omvormer QCells1: -3000 W  tot: 2026-04-15 08:33
2026-04-15 08:30:09 info: Balanceren: off
2026-04-15 08:30:09 info: Vermogen uit batterij: 0W
2026-04-15 08:30:09 info: Vermogen dat binnenkomt van pv: 708W
2026-04-15 08:30:09 info: Vermogen dat binnenkomt van ac: -708W
2026-04-15 08:30:09 info: Waarde SoC na eerste uur: 10.0%
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
{
  "config_version": 0,
  "homeassistant": {},
  "database_ha": {
    "engine": "sqlite",
    "db_path": "/homeassistant",
    "database": "home-assistant_v2.db"
  },
  "database_da": {
    "engine": "sqlite",
    "db_path": "../data",
    "database": "day_ahead.db"
  },
  "meteoserver_key": "!secret meteoserver-key",
  "meteoserver_model": "harmonie",
  "meteoserver_attemps": 2,
  "prices": {
    "source_day_ahead": "nordpool",
    "entsoe-api-key": "!secret entsoe-api-key",
    "energy_taxes_consumption": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.1088,
      "2025-01-01": 0.10154
    },
    "energy_taxes_production": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.1088,
      "2025-01-01": 0.10154
    },
    "cost_supplier_consumption": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "cost_supplier_production": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496,
      "2026-01-01": 0.0
    },
    "vat_consumption": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "vat_production": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "last_invoice": "2025-09-01",
    "tax_refund": false,
    "regular high": 0.5,
    "regular low": 0.4,
    "switch to low": 23
  },
  "logging_level": "info",
  "use_calc_baseload": false,
  "baseload_calc_periode": 56,
  "baseload": [
    0.10,
    0.10,
    0.10,
    0.10,
    0.10,
    0.10,
    0.10,
    0.20,
    0.20,
    0.20,
    0.10,
    0.10,
    0.20,
    0.10,
    0.20,
    0.10,
    0.10,
    0.50,
    0.50,
    0.20,
    0.20,
    0.10,
    0.10,
    0.10
  ],
  "graphical_backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "battery_balance": true,
    "prices_consumption": true,
    "prices_production": false,
    "prices_spot": true,
    "average_consumption": true,
    "show": "true"
  },
  "interval": "15min",
  "strategy": "minimize cost",
  "max_gap": 0.001,
  "notifications": {
    "opstarten": false,
    "berekening": false
  },
  "grid": {
    "max_power": 17.0
  },
  "history": {
    "save_days": 7
  },
  "dashboard": {
    "port": 5000
  },
"battery": [
    {"name" : "QCells1",
     "entity actual level": "input_number.dao_calculated_soc",
     "capacity": 7.2,
     "upper limit": 90,
     "lower limit": 10,
     "charge stages" : [
        {"power": 0.0, "efficiency": 1}
    ],
     "discharge stages" : [
        {"power": 0.0, "efficiency": 1},
        {"power": 3000, "efficiency": 0.925},
        {"power": 8000, "efficiency": 0.9}
    ],
     "minimum power" : 100,
     "dc_to_bat_max_power": 3000,
     "bat_to_dc_max_power": 3000,
     "dc_to_bat efficiency" : 0.95,
     "bat_to_dc efficiency": 0.95,
     "cycle cost" : 0.005,
     "entity set power feedin": "input_number.dao_set_power_feedin",
     "entity balance switch": "input_boolean.dao_balance_switch",
     "entity from battery": "input_number.dao_from_battery",
     "entity calculated soc": "input_number.dao_calculated_soc",
"solar": [
  {
    "name": "string1",
    "ml_prediction": "true",
    "entities sensors": ["sensor.saj_sununo_plus_4k_m_total_yield"],
    "tilt": 30,
    "orientation": 0,
    "capacity": 3.300,
    "yield": 0.0059
  },
  {
    "name": "string2en3",
    "ml_prediction": "true",
    "entities sensors": ["sensor.saj_sununo_plus_5k_m_total_yield"],
    "tilt": 30,
    "orientation": 0,
    "capacity": 3.850,
    "yield": 0.0075
  }
]
    }
  ],
"solar": [
  {
    "name": "string4enNoord",
    "ml_prediction": "true",
    "entities sensors": ["sensor.saj_r5_3_6k_s2_total_yield_gefilterd"],
    "tilt": 30,
    "orientation": 0,
    "capacity": 6.695,
    "yield": 0.008
  },
  {
    "name": "Envoy",
    "ml_prediction": "true",
    "entities sensors": ["sensor.envoy_121317004432_lifetime_energy_production"],
    "tilt": 15,
    "orientation": 0,
    "capacity": 5.000,
    "yield": 0.0029
  }
],
  "electric_vehicle": [],
  "machines": [],
  "boiler": {
    "boiler_present": false,
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater_present": false,
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "tibber": {
    "api_token": "!secret tibber_api_token",
    "api_url": "https://api.tibber.com/v1-beta/gql"
  },
  "xgboost": {
    "tune_hyperparameters": true
  },
  "report": {
    "entities_grid_consumption": [
      "sensor.grid_consumption_low",
      "sensor.grid_consumption_high"
    ],
    "entities_grid_production": [
      "sensor.grid_production_low",
      "sensor.grid_production_high"
    ],
    "entities_solar_production_ac": [
      "sensor.solaredge_woning_ac_energy_kwh"
    ],
    "entities_solar_production_dc": [],
    "entities_ev_consumption": [
      "sensor.laadpunt_total_energy"
    ],
    "entities_wp_consumption": [],
    "entities_boiler_consumption": [],
    "entities_battery_consumption": [
      "sensor.ess_grid_consumption"
    ],
    "entities_battery_production": [
      "sensor.ess_grid_production"
    ],
    "entities_machine_consumption": []
  },
  "scheduler": {
    "active": true,
    "schedule": [
      {
        "time": "0430",
        "action": "get_meteo_data"
      },
      {
        "time": "1030",
        "action": "get_meteo_data"
      },
      {
        "time": "1630",
        "action": "get_meteo_data"
      },
      {
        "time": "2230",
        "action": "get_meteo_data"
      },
      {
        "time": "1255",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1355",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1455",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1554",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1655",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "xx00",
        "action": "calc_optimum"
      },
      {
        "time": "xx15",
        "action": "calc_optimum"
      },
      {
        "time": "xx30",
        "action": "calc_optimum"
      },
      {
        "time": "xx45",
        "action": "calc_optimum"
      },
      {
        "time": "2359",
        "action": "clean_data"
      },
      {
        "time": "0005",
        "action": "train_ml_predictions"
      }
    ]
  }
}
thomvh schreef op dinsdag 14 april 2026 @ 15:48:
Hoe wil DAO de waardes hebben? Ik heb namelijk een aantal waardes die per week of per dag resetten. Ik doel hier voornamelijk mee op de waardes van bijvoorbeeld PV:
[Afbeelding]

Ik zit al te kijken of ik op de een of andere manier deze waarde kan laten doorlopen door een Home Assistant helper. Want ik weet anders geen raad hiermee.
Sorry ik snap je vraag niet zo goed.
De data die DAO wil hebben kunnen gewoon in een sensor of input_number of input_boolean staan.
De door DAO berekende waarden kunt je het beste naar een helper (input_....) laten schrijven en deze met een automation of template doorzetten naar je thuisbatterij of anderszins.

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


  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
KC27 schreef op woensdag 15 april 2026 @ 10:19:
[...]

Sorry ik snap je vraag niet zo goed.
De data die DAO wil hebben kunnen gewoon in een sensor of input_number of input_boolean staan.
De door DAO berekende waarden kunt je het beste naar een helper (input_....) laten schrijven en deze met een automation of template doorzetten naar je thuisbatterij of anderszins.
Het gaat hierbij om de reporting functie en baseload berekening straks. Mijn waardes gaan naar nul op wekelijkse basis. Ik kan me zo voorstellen dat DAO deze graag als totaal wil hebben die gewoon op blijft lopen. Ik heb dit nu met een utility meter opgelost.

  • Psycho_Mantis
  • Registratie: Februari 2007
  • Laatst online: 19:33

Psycho_Mantis

Wow. So Amaze.

Sinds een week werkt DOA plots niet meer correct. (versie 2026.4.2)
2026-04-15 13:10:16 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-15 13:10:16 INFO: Validating configuration with ConfigurationV0
2026-04-15 13:10:16 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-15 13:10:16 info: Day Ahead Optimalisering gestart op: 15-04-2026 13:10:16
2026-04-15 13:10:16 info: Day Ahead Optimalisatie gestart: 15-04-2026 13:10:16 taak: calc_optimum_met_debug
2026-04-15 13:10:16 info: Debug = True
2026-04-15 13:10:16 fout: Er ontbreken kwartierwaarden van de day-ahead tarieven, de berekening wordt afgebroken
Ik gebruik nordpool al een poosje. Daarvoor ook tibber gebruikt, maar beide gaan momenteel niet zo lekker.
"prices": {
"source_day_ahead": "nordpool",

Snap niet zo goed waar het mis gaat. als ik het handmatig ophaal lijkt hij wel data binnen te halen.

  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
Wat mij ook op valt, en misschien moet ik mijn automation hier voor aanpassen is dat DAO in cost optimized heel graag terug levert aan het net. Alleen loop momenteel een beetje te botsen met hoe ik allemaal goed kan automatiseren. Als ik bijvoorbeeld hier naar 15:15 - 15:30 kijk. Hierbij zal ik dan "Zero export to CT" moeten aanzetten op mijn Deye omvormer met een limiet op de "Max charge current"?

Afbeeldingslocatie: https://tweakers.net/i/CxEq5lbbjgLzW72fCrCdp-B0O74=/x800/filters:strip_exif()/f/image/llaDkRaF1q1vSPVG3bqj6Buo.png?f=fotoalbum_large
Psycho_Mantis schreef op woensdag 15 april 2026 @ 13:18:
Sinds een week werkt DOA plots niet meer correct. (versie 2026.4.2)


[...]


Ik gebruik nordpool al een poosje. Daarvoor ook tibber gebruikt, maar beide gaan momenteel niet zo lekker.
"prices": {
"source_day_ahead": "nordpool",

Snap niet zo goed waar het mis gaat. als ik het handmatig ophaal lijkt hij wel data binnen te halen.
Als je "handmatig" prijs-data ophaalt bij Nordpool gaat dat per dag: dus eerst van vandaag; daarna van morgen.
Komen ook de meteodata binnen?

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

thomvh schreef op woensdag 15 april 2026 @ 13:22:
Wat mij ook op valt, en misschien moet ik mijn automation hier voor aanpassen is dat DAO in cost optimized heel graag terug levert aan het net. Alleen loop momenteel een beetje te botsen met hoe ik allemaal goed kan automatiseren. Als ik bijvoorbeeld hier naar 15:15 - 15:30 kijk. Hierbij zal ik dan "Zero export to CT" moeten aanzetten op mijn Deye omvormer met een limiet op de "Max charge current"?

[Afbeelding]
Ik weet helaas te weinig van Deye, misschien kunnen andere gebruikers je helpen?

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

thesaxofonist schreef op woensdag 15 april 2026 @ 09:06:
Ik simuleer een hybride batterij en zie dat DAO af en toe rendement berekent als dat niet relevant is (en dan ook niet klopt), bijvoorbeeld deze ochtend. Om 8.30 uur wordt er een beetje energie opgewekt en teruggeleverd aan het net. Er wordt geen rendement van de batterij getoond en dat lijkt me correct.

Om 9.00 is er nog dezelfde situatie en wordt een batterijrendement van 105,26% getoond. Dat lijkt me niet correct. Om 9.45 wordt energie naar de batterij gestuurd en wijzigt het rendement naar 95% (correct).

De rest van de berekeningen lijken te kloppen. Het is alleen deze kolom. Ik heb er verder geen last van.

[Afbeelding]


[...]


[...]
Die hoge efficiencies komen door je pv_dc. Dat is eigenlijk nog een foutje in DAO.
Ik zal er nog een keer naar kijken, voorlopig zou ik mezelf maar even "rijk" rekenen.

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

balk schreef op dinsdag 14 april 2026 @ 22:06:
[...]

Ik denk dat het me gelukt is om het werkend te krijgen. Gemini adviseerde me om het volgende te doen
* CPU type "host" (had ik al)
* architecture q35 (hielp niet)
* compileer met CXXFLAGS="-O2 -march=x86-64-v2 -pipe" ipv -march=native -O3

Ik denk dat dat laatste ook gelukt is door in de docker te bashen, build_miplib.sh aan te passen en dan opnieuw te draaien. Hierna geen foutmeldingen maar ik weet niet zeker of de custom miplib wordt gebruikt. Is er een manier om te zien welke lib gebruikt wordt?

Dit was wel een behoorlijke omweg, en niet persistent. Is het misschien mogelijk om CXXFLAGS aan te gaan passen via een config?

====
hmm, nu toch weer een foutmelding.
Als je de berekening runt met log level "debug" dan wordt bij het begin van de mip-berekening de compileerdatum getoond.
Die van mip-zelf zijn van maart 2026, die van jezelf hebben jouw compileerdatum.
Verder als je een terminal ingang naar de app/addon hebt kun je met "printenv" zien welke env-variabelen er zijn.
Daar zouden dan de mip-variabelen (PMIP_CBC_LIBRARY, LD_LIBRARY_PATH) tussen moeten staan en die moeten dan verwijzen naar /root/dao/prog/miplib/lib.
Tenslotte in opstart-log van de app/addon moet zoiets staan als hij jouw binaries gebruikt:
bashio::log.info "Copying saved miplib-binaries"(of draai jij buiten HA om?)

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


  • thesaxofonist
  • Registratie: November 2016
  • Laatst online: 21:35
KC27 schreef op woensdag 15 april 2026 @ 19:32:
[...]

Die hoge efficiencies komen door je pv_dc. Dat is eigenlijk nog een foutje in DAO.
Ik zal er nog een keer naar kijken, voorlopig zou ik mezelf maar even "rijk" rekenen.
Prima. Ik heb er geen last van. Hoeft wat mij betreft niet aangepast te worden.

En ik wil ook even zeggen dat ik het een geweldig programma vindt. Dus mijn complimenten aan iedereen die bij de bouw ervan betrokken is!

[ Voor 16% gewijzigd door thesaxofonist op 15-04-2026 20:15 ]


  • diamanten
  • Registratie: Juli 2024
  • Laatst online: 20:11
Deze week geupdate naar 2026.04.2.
Toevallig keek ik er net naar: prijzen ophalen werkt wel, maar een optimaliseringsberekening geeft een foutmelding:
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
2026-04-15 21:39:42 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-15 21:39:42 INFO: Validating configuration with ConfigurationV0
2026-04-15 21:39:42 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-15 21:39:42 info: Day Ahead Optimalisering gestart op: 15-04-2026 21:39:42
2026-04-15 21:39:42 info: Day Ahead Optimalisatie gestart: 15-04-2026 21:39:42 taak: calc_optimum_met_debug
2026-04-15 21:39:42 info: Debug = True
2026-04-15 21:39:42 info: Baseload uit instellingen
2026-04-15 21:39:43 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 694, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 538, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 288, in calc_optimum
    solar_prog = self.calc_solar_predictions(
        self.solar[s], start_interval_dt, end, self.interval
    )
  File "/root/dao/prog/da_base.py", line 587, in calc_solar_predictions
    solar_prog = solar_predictor.predict_solar_device(
        solar_option, vanaf, tot
    )
  File "/root/dao/prog/solar_predictor.py", line 1024, in predict_solar_device
    prediction = self.predict(weather_data)
  File "/root/dao/prog/solar_predictor.py", line 702, in predict
    prediction = self.model.predict(featured_df)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/sklearn.py", line 1446, in predict
    predts = self.get_booster().inplace_predict(
        data=X,
    ...<4 lines>...
        validate_features=validate_features,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2854, in inplace_predict
    self._validate_features(fns)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 3429, in _validate_features
    raise ValueError(msg.format(self.feature_names, feature_names))
ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 4709, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 4680, in main
    da_calc.run_task_function("calc_optimum_met_debug")
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_base.py", line 694, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 538, in calc_optimum_met_debug
    dacalc.calc_optimum()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/day_ahead.py", line 288, in calc_optimum
    solar_prog = self.calc_solar_predictions(
        self.solar[s], start_interval_dt, end, self.interval
    )
  File "/root/dao/prog/da_base.py", line 587, in calc_solar_predictions
    solar_prog = solar_predictor.predict_solar_device(
        solar_option, vanaf, tot
    )
  File "/root/dao/prog/solar_predictor.py", line 1024, in predict_solar_device
    prediction = self.predict(weather_data)
  File "/root/dao/prog/solar_predictor.py", line 702, in predict
    prediction = self.model.predict(featured_df)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/sklearn.py", line 1446, in predict
    predts = self.get_booster().inplace_predict(
        data=X,
    ...<4 lines>...
        validate_features=validate_features,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 751, in inner_f
    return func(**kwargs)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 2854, in inplace_predict
    self._validate_features(fns)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/xgboost/core.py", line 3429, in _validate_features
    raise ValueError(msg.format(self.feature_names, feature_names))
ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity
De config heb ik verder niet gewijzigd, wat kan er aan de hand zijn?

  • rescla
  • Registratie: November 2012
  • Laatst online: 22:50
diamanten schreef op woensdag 15 april 2026 @ 21:50:
Deze week geupdate naar 2026.04.2.
Toevallig keek ik er net naar: prijzen ophalen werkt wel, maar een optimaliseringsberekening geeft een foutmelding:

[...]

De config heb ik verder niet gewijzigd, wat kan er aan de hand zijn?
Je moet de "ML modellen trainen" run even triggeren. Als die klaar is doet hij het weer.

  • diamanten
  • Registratie: Juli 2024
  • Laatst online: 20:11
rescla schreef op woensdag 15 april 2026 @ 21:54:
[...]

Je moet de "ML modellen trainen" run even triggeren. Als die klaar is doet hij het weer.
Helaas, werkt 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
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
2026-04-15 21:58:59 INFO: Loaded 6 secrets from ../data/secrets.json
2026-04-15 21:58:59 INFO: Validating configuration with ConfigurationV0
2026-04-15 21:58:59 info: Day Ahead Optimalisering versie: 2026.04.2
2026-04-15 21:58:59 info: Day Ahead Optimalisering gestart op: 15-04-2026 21:58:59
2026-04-15 21:58:59 info: Day Ahead Optimalisatie gestart: 15-04-2026 21:58:59 taak: train_ml_predictions
2026-04-15 21:58:59 info: KNMI-weerstation: 278 HEINO
2026-04-15 21:58:59 info: Er zijn nog geen winddata van knmi aanwezig
2026-04-15 21:59:00 info: Er zijn data van het KNMI binnengekomen vanaf 2023-04-14 00:00:00+02:00 tot en met 2026-04-09 23:00:00+02:00
2026-04-15 22:00:32 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        cursor, str_statement, effective_parameters, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
    cursor.execute(statement, parameters)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute
    query = self.mogrify(query, args)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify
    query = query % self._escape_args(args, conn)
                    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args
    return {key: conn.literal(val) for (key, val) in args.items()}
                 ~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal
    return self.escape(obj, self.encoders)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape
    return converters.escape_item(obj, self.charset, mapping=mapping)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item
    val = encoder(val, mapping)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float
    raise ProgrammingError("%s can not be used with MySQL" % s)
pymysql.err.ProgrammingError: nan can not be used with MySQL

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

Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 694, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 644, in train_ml_predictions
    solar_predictor.run_train()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/solar_predictor.py", line 979, in run_train
    weather_data = self.get_weatherdata(start=start)
  File "/root/dao/prog/solar_predictor.py", line 895, in get_weatherdata
    self.import_knmi_df(start, end)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/prog/solar_predictor.py", line 854, in import_knmi_df
    self.get_and_save_knmi_data(start, latest_dt, ["FH"])
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/solar_predictor.py", line 824, in get_and_save_knmi_data
    self.db_da.savedata(save_df, tablename="values")
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/lib/db_manager.py", line 308, in savedata
    connection.execute(insert_value)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
        self,
        distilled_parameters,
        execution_options or NO_OPTIONS,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
    return connection._execute_clauseelement(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        self, distilled_params, execution_options
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
        dialect,
    ...<8 lines>...
        cache_hit=cache_hit,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ~~~~~~~~~~~~~~~~~~~~~~~~~^
        dialect, context, statement, parameters
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        e, str_statement, effective_parameters, cursor, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        cursor, str_statement, effective_parameters, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
    cursor.execute(statement, parameters)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute
    query = self.mogrify(query, args)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify
    query = query % self._escape_args(args, conn)
                    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args
    return {key: conn.literal(val) for (key, val) in args.items()}
                 ~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal
    return self.escape(obj, self.encoders)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape
    return converters.escape_item(obj, self.charset, mapping=mapping)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item
    val = encoder(val, mapping)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float
    raise ProgrammingError("%s can not be used with MySQL" % s)
sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) nan can not be used with MySQL
[SQL: INSERT INTO `values` (variabel, time, value) VALUES (%(variabel)s, %(time)s, %(value)s)]
[parameters: {'variabel': 23, 'time': 1740513600, 'value': nan}]
(Background on this error at: https://sqlalche.me/e/20/f405)
Traceback (most recent call last):
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        cursor, str_statement, effective_parameters, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
    cursor.execute(statement, parameters)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute
    query = self.mogrify(query, args)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify
    query = query % self._escape_args(args, conn)
                    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args
    return {key: conn.literal(val) for (key, val) in args.items()}
                 ~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal
    return self.escape(obj, self.encoders)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape
    return converters.escape_item(obj, self.charset, mapping=mapping)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item
    val = encoder(val, mapping)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float
    raise ProgrammingError("%s can not be used with MySQL" % s)
pymysql.err.ProgrammingError: nan can not be used with MySQL

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

Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 4709, in <module>
    main()
    ~~~~^^
  File "/root/dao/webserver/../prog/day_ahead.py", line 4703, in main
    da_calc.run_task_function("train_ml_predictions")
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_base.py", line 694, in run_task_function
    getattr(self, run_task["function"])()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/da_base.py", line 644, in train_ml_predictions
    solar_predictor.run_train()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/root/dao/prog/solar_predictor.py", line 979, in run_train
    weather_data = self.get_weatherdata(start=start)
  File "/root/dao/prog/solar_predictor.py", line 895, in get_weatherdata
    self.import_knmi_df(start, end)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/prog/solar_predictor.py", line 854, in import_knmi_df
    self.get_and_save_knmi_data(start, latest_dt, ["FH"])
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/solar_predictor.py", line 824, in get_and_save_knmi_data
    self.db_da.savedata(save_df, tablename="values")
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/lib/db_manager.py", line 308, in savedata
    connection.execute(insert_value)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
        self,
        distilled_parameters,
        execution_options or NO_OPTIONS,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
    return connection._execute_clauseelement(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        self, distilled_params, execution_options
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
        dialect,
    ...<8 lines>...
        cache_hit=cache_hit,
    )
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ~~~~~~~~~~~~~~~~~~~~~~~~~^
        dialect, context, statement, parameters
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        e, str_statement, effective_parameters, cursor, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        cursor, str_statement, effective_parameters, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
    cursor.execute(statement, parameters)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 151, in execute
    query = self.mogrify(query, args)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 129, in mogrify
    query = query % self._escape_args(args, conn)
                    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/cursors.py", line 104, in _escape_args
    return {key: conn.literal(val) for (key, val) in args.items()}
                 ~~~~~~~~~~~~^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 542, in literal
    return self.escape(obj, self.encoders)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/connections.py", line 535, in escape
    return converters.escape_item(obj, self.charset, mapping=mapping)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 25, in escape_item
    val = encoder(val, mapping)
  File "/root/dao/venv/day_ahead/lib/python3.13/site-packages/pymysql/converters.py", line 56, in escape_float
    raise ProgrammingError("%s can not be used with MySQL" % s)
sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) nan can not be used with MySQL
[SQL: INSERT INTO `values` (variabel, time, value) VALUES (%(variabel)s, %(time)s, %(value)s)]
[parameters: {'variabel': 23, 'time': 1740513600, 'value': nan}]
(Background on this error at: https://sqlalche.me/e/20/f405)
Vervogens alles opnieuw geladen. Deze foutmelding staat er een paar keer in:
code:
1
2
ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity

  • rescla
  • Registratie: November 2012
  • Laatst online: 22:50
diamanten schreef op woensdag 15 april 2026 @ 22:02:
[...]

Helaas, werkt niet:

[...]


Vervogens alles opnieuw geladen. Deze foutmelding staat er een paar keer in:
code:
1
2
ValueError: feature_names mismatch: ['temperature', 'irradiance', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr'] ['temperature', 'irradiance', 'windvelocity', 'day_of_week', 'hour', 'quarter', 'month', 'season', 'week_nr']
training data did not have the following fields: windvelocity
Ik ben niet de ontwikkelaar, maar dat die feature names mismatch komt doordat het ML model niet opnieuw getrained is. Die andere fout met nan in values 23, values 23 is windsnelheid. Waarom die nan is weet ik niet, er lijkt iets fout te gaan bij het verwerken van de data die van het KNMI terugkomt?

  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
KC27 schreef op donderdag 4 december 2025 @ 09:43:
[...]

Klopt, zit er (nog) niet in, maar bij mij gebruikt hij maar 50W (passieve koeling met twee waterpompen), dus ik vind het niet te moeite om dat te optimaliseren.
Mocht je nog bijhouden hoeveel interesse er is, ik ben ook geïnteresseerd! Mijn WP kan een Koel of een Verwarm offset meegeven met een "PV request" toggle. Afbeeldingslocatie: https://tweakers.net/i/VImTju_bHVuEg670VNqAdIZpntA=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/AU5mleTgwByw5sDWwdI6ifmk.png?f=user_large
diamanten schreef op woensdag 15 april 2026 @ 21:50:
Deze week geupdate naar 2026.04.2.
Toevallig keek ik er net naar: prijzen ophalen werkt wel, maar een optimaliseringsberekening geeft een foutmelding:

[...]

De config heb ik verder niet gewijzigd, wat kan er aan de hand zijn?
Zie de changelog: je moet je ml-modellen opnieuw trainen.

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

rescla schreef op woensdag 15 april 2026 @ 22:30:
[...]

Ik ben niet de ontwikkelaar, maar dat die feature names mismatch komt doordat het ML model niet opnieuw getrained is. Die andere fout met nan in values 23, values 23 is windsnelheid. Waarom die nan is weet ik niet, er lijkt iets fout te gaan bij het verwerken van de data die van het KNMI terugkomt?
Dat NaN-probleem is opgelost in versie 2026.4.3 die komt over een klein uurtje.

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

Versie 2026.4.3 is gepubliceerd.
Deze is exact gelijk aan testversie 2026.4.3.rc1.
Dit staat in de changelog:
Changes
- Added flatpickr datetime picker in Home-menu (PR from @Dogooder)

Fixes
- changed ev-ampere from integer to float
- Skip NaN values when persisting DB records
- Fix startup issue (PR from @simnet)

Voor een nadere toelichting verwijs ik graag naar de aankondiging van de testversie:
KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"

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


  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
KC27 schreef op woensdag 15 april 2026 @ 23:15:
Versie 2026.4.3 is gepubliceerd.
Deze is exact gelijk aan testversie 2026.4.3.rc1.
Dit staat in de changelog:
Changes
- Added flatpickr datetime picker in Home-menu (PR from @Dogooder)

Fixes
- changed ev-ampere from integer to float
- Skip NaN values when persisting DB records
- Fix startup issue (PR from @simnet)

Voor een nadere toelichting verwijs ik graag naar de aankondiging van de testversie:
KC27 in "Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO"
Ik krijg deze foutmelding in de supervisor logs. DAO start niet.
code:
1
2
2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.docker.manager] Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist
2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.addons.addon] Could not start container for app 94e386ba_day_ahead_opt: Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist
Gelukkig heb ik een backup :)

  • Psycho_Mantis
  • Registratie: Februari 2007
  • Laatst online: 19:33

Psycho_Mantis

Wow. So Amaze.

KC27 schreef op woensdag 15 april 2026 @ 19:29:
[...]

Als je "handmatig" prijs-data ophaalt bij Nordpool gaat dat per dag: dus eerst van vandaag; daarna van morgen.
Komen ook de meteodata binnen?
Het is blijkbaar een hardware probleem. Het fannetje van mijn intel-nuc is kapot gedraaid na 7 jaar :+
Heel home assistant was traag geworden en begon requests te missen door oververhitting.
balk schreef op donderdag 16 april 2026 @ 06:48:
[...]

Ik krijg deze foutmelding in de supervisor logs. DAO start niet.
code:
1
2
2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.docker.manager] Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist
2026-04-16 06:43:04.830 ERROR (MainThread) [supervisor.addons.addon] Could not start container for app 94e386ba_day_ahead_opt: Image ghcr.io/corneel27/dao-amd64:2026.04.3 does not exist
Gelukkig heb ik een backup :)
Deze snap ik echt niet.
Afbeeldingslocatie: https://tweakers.net/i/KuL-NzqkhfkHKtAWNkcObiRu6go=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/hM165vZvsKhiaQZKgjDN3dDS.png?f=user_large
168 andere gebruikers gingen je inmiddels voor ...

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


  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
KC27 schreef op donderdag 16 april 2026 @ 09:21:
[...]

Deze snap ik echt niet.
[Afbeelding]
168 andere gebruikers gingen je inmiddels voor ...
Ik zal het nog eens proberen

  • diamanten
  • Registratie: Juli 2024
  • Laatst online: 20:11
KC27 schreef op woensdag 15 april 2026 @ 23:03:
[...]

Dat NaN-probleem is opgelost in versie 2026.4.3 die komt over een klein uurtje.
Dank, het werkt weer!

  • f.welvering
  • Registratie: Oktober 2009
  • Laatst online: 20:19
Hallo Allen,

Mijn solar prediction grafiekjes zien er allemaal een beetje uit als onderstaande.
Hierin valt op dat de werkelijke opwek eigenlijk altijd wat eerder is en ook eerder stopt.
Aan welke waarde moet ik nu gaan sleutelen om dit te verbeteren?

Afbeeldingslocatie: https://tweakers.net/i/rxniDaREgqglbcSYZ1moIyEz2TM=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/sAHsaVdOQinz343oB8tz7JLS.png?f=user_large

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

f.welvering schreef op donderdag 16 april 2026 @ 11:42:
Hallo Allen,

Mijn solar prediction grafiekjes zien er allemaal een beetje uit als onderstaande.
Hierin valt op dat de werkelijke opwek eigenlijk altijd wat eerder is en ook eerder stopt.
Aan welke waarde moet ik nu gaan sleutelen om dit te verbeteren?

[Afbeelding]
Ik denk dat er niks mis mee is.
Heb je de panelen op oost liggen?
Kun je ook de tabel delen, dan zie je de r².

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


  • Oilman
  • Registratie: December 2012
  • Laatst online: 18-04 08:05
f.welvering schreef op donderdag 16 april 2026 @ 11:42:
Hallo Allen,

Mijn solar prediction grafiekjes zien er allemaal een beetje uit als onderstaande.
Hierin valt op dat de werkelijke opwek eigenlijk altijd wat eerder is en ook eerder stopt.
Aan welke waarde moet ik nu gaan sleutelen om dit te verbeteren?

[Afbeelding]
In de loop van de middag steeds meer schaduw op de panelen?

  • ThaDude
  • Registratie: December 2000
  • Laatst online: 19:24

ThaDude

Hang Loose

@KC27 ik ben deze week gestart via de addon in HA! Tof project weer dit zeg!

Ik had wat problemen met de normale release dus heb de experimentele versie gepakt. Deze kreeg ik wel werkende in HA. De normale liep eruit iets met Da_calc oid. Kon er niks over vinden in de Issues.

Vast enorme N00P vraag maar is er een manier om terug te switchen/up te graden? Ik zie hier nergens wat over namelijk.

We're machines just like everything else in nature. (gasloos sinds 01-10-2020, WP: SW75YAA/ERSD-VM2D, DJG WPS 300, 18 hp CPC, 11,1 kWp


  • f.welvering
  • Registratie: Oktober 2009
  • Laatst online: 20:19
KC27 schreef op donderdag 16 april 2026 @ 12:12:
[...]

Ik denk dat er niks mis mee is.
Heb je de panelen op oost liggen?
Kun je ook de tabel delen, dan zie je de r².
Panelen liggen inderdaad oostelijk.
Misschien interpeteer ik het dan verkeerd, ik had het idee dat die mooie boog met de opwek mee moest lopen.

Mijn tabel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Straling    Productie
uur     gemeten     prognose    gemeten     prognose dao    prognose ml
    J/cm2   J/cm2   kWh     kWh     kWh
00:00   0.000   0.000   0.000   0.000   0.003
01:00   0.000   0.000   0.000   0.000   0.003
02:00   0.000   0.000   0.000   0.000   0.013
03:00   0.000   0.000   0.000   0.000   0.012
04:00   0.000   0.000   0.000   0.000   0.012
05:00   0.000   0.000   0.000   0.000   0.012
06:00   1.000   1.000   0.000   0.021   0.012
07:00   27.000  27.000  0.456   0.646   0.562
08:00   80.000  82.000  1.828   2.108   2.447
09:00   135.000     139.000     3.092   3.635   4.268
10:00   183.000     190.000     5.928   4.790   6.206
11:00   223.000     232.000     8.176   5.498   6.505
12:00   199.000     259.000     5.944   4.271   5.684
13:00   181.000     270.000     5.128   3.355   3.951
14:00   248.000     258.000     4.136   3.361   3.410
15:00   205.000     234.000     2.096   1.354   2.351
16:00   198.000     199.000     0.860   0.379   2.175
17:00   152.000     143.000     0.636   0.291   1.068
18:00   94.000  87.000  0.424   0.180   0.965
19:00   39.000  20.000  0.196   0.719   0.488
20:00   4.000   3.000   0.012   0.086   0.023
21:00   0.000   0.000   0.000   0.000   0.003
22:00   0.000   0.000   0.000   0.000   0.003
23:00   0.000   0.000   0.000   0.000   0.002
Totaal  1969.000    2144.000    38.912  30.695  40.182
R²      0.933       0.878   0.934
Afbeeldingslocatie: https://tweakers.net/i/FkXUL9Sqd6jVYGuzrX9OzX2m_zk=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/S7qn0poOIZcZrIKWzeGy9hcV.png?f=user_large

[ Voor 6% gewijzigd door f.welvering op 16-04-2026 16:15 ]

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

f.welvering schreef op donderdag 16 april 2026 @ 16:14:
[...]


Panelen liggen inderdaad oostelijk.
Misschien interpeteer ik het dan verkeerd, ik had het idee dat die mooie boog met de opwek mee moest lopen.

Mijn tabel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Straling    Productie
uur     gemeten     prognose    gemeten     prognose dao    prognose ml
    J/cm2   J/cm2   kWh     kWh     kWh
00:00   0.000   0.000   0.000   0.000   0.003
01:00   0.000   0.000   0.000   0.000   0.003
02:00   0.000   0.000   0.000   0.000   0.013
03:00   0.000   0.000   0.000   0.000   0.012
04:00   0.000   0.000   0.000   0.000   0.012
05:00   0.000   0.000   0.000   0.000   0.012
06:00   1.000   1.000   0.000   0.021   0.012
07:00   27.000  27.000  0.456   0.646   0.562
08:00   80.000  82.000  1.828   2.108   2.447
09:00   135.000     139.000     3.092   3.635   4.268
10:00   183.000     190.000     5.928   4.790   6.206
11:00   223.000     232.000     8.176   5.498   6.505
12:00   199.000     259.000     5.944   4.271   5.684
13:00   181.000     270.000     5.128   3.355   3.951
14:00   248.000     258.000     4.136   3.361   3.410
15:00   205.000     234.000     2.096   1.354   2.351
16:00   198.000     199.000     0.860   0.379   2.175
17:00   152.000     143.000     0.636   0.291   1.068
18:00   94.000  87.000  0.424   0.180   0.965
19:00   39.000  20.000  0.196   0.719   0.488
20:00   4.000   3.000   0.012   0.086   0.023
21:00   0.000   0.000   0.000   0.000   0.003
22:00   0.000   0.000   0.000   0.000   0.003
23:00   0.000   0.000   0.000   0.000   0.002
Totaal  1969.000    2144.000    38.912  30.695  40.182
R²      0.933       0.878   0.934
[Afbeelding]
Is inderdaad allemaal prima.
Die globale straling data van Meteoserver (prognose) en KNMI (gemeten) weten niks van de oriëntatie en de helling van jouw panelen, dat is gewoon de straling op een plat vlak. DAO en de voorspeller vertalen dat naar jouw panelen. De ml voorspelling heeft een goede correlatie (0,93) met de werkelijke productie.
Dus: houden zo.

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

ThaDude schreef op donderdag 16 april 2026 @ 15:36:
@KC27 ik ben deze week gestart via de addon in HA! Tof project weer dit zeg!

Ik had wat problemen met de normale release dus heb de experimentele versie gepakt. Deze kreeg ik wel werkende in HA. De normale liep eruit iets met Da_calc oid. Kon er niks over vinden in de Issues.

Vast enorme N00P vraag maar is er een manier om terug te switchen/up te graden? Ik zie hier nergens wat over namelijk.
Je kunt niet zomaar switchen/upgraden van de test-versie naar de productie versie.
Je kunt wel de productieversie opnieuw installeren en daarna met behulp van samba je config kopiëren van de experimentele test-versie naar de productie-versie.

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


  • ThaDude
  • Registratie: December 2000
  • Laatst online: 19:24

ThaDude

Hang Loose

@KC27 oke en staat dit ergens beschreven dan (wat te kopieren) ?

We're machines just like everything else in nature. (gasloos sinds 01-10-2020, WP: SW75YAA/ERSD-VM2D, DJG WPS 300, 18 hp CPC, 11,1 kWp

ThaDude schreef op donderdag 16 april 2026 @ 17:13:
@KC27 oke en staat dit ergens beschreven dan (wat te kopieren) ?
Helaas niet maar het gaat om "options.json"

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


  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
KC27 schreef op donderdag 16 april 2026 @ 09:21:
[...]

Deze snap ik echt niet.
[Afbeelding]
168 andere gebruikers gingen je inmiddels voor ...
Ik snap het ook niet. Maar nu werkt het wel.
balk schreef op donderdag 16 april 2026 @ 19:50:
[...]

Ik snap het ook niet. Maar nu werkt het wel.
En hij rekent ook?

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


  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
Ik lees twee verschillende dingen over het berekenen van de cycle cost.

In de wiki:
Afschrijfkosten (in euro) van het laden óf ontladen van 1 kWh. B.v. als 1 hele cycle van een 5kWh batterij 10 cent afschrijving kost, dan vul je €0.10/5kWh/2(laden+ ontladen) = 0.01 in.
Dus dan kom ik bij mij op 0,02305 uit.

In het SETTINGS.md document:
cycle cost

Degradation cost per full charge-discharge cycle in euros. Used to factor battery wear into optimization. Calculate as: (battery_cost / warranted_cycles). Example: €5000 battery with 6000 cycles = €0.83/cycle.
Dan kom ik op 2,83 uit.

Dat is nogal een verschil, vandaar dat ik even wil navragen de originele intentie is geweest.

  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
Nog een additionele vraag. Ik zou er vanuit gaan dat het logischer is om de overtollige zonnestroom op te gaan slaan. Maar het model zoals ik dit interpreteer lijkt de zonnestroom gewoon rustig terug te leveren 1:1 en alleen op goedkope uren te gaan laden.

Ik heb alleen het onderbuik gevoel dat ik iets verkeerds geconfigureerd heb. Mijn persoonlijke redenatie is namelijk dat je de zonnestroom alleen negeert als er genoeg tijd is met negatieve energie, die op papier natuurlijk goedkoper is dan je zonnestroom ivm afschrijving etc. Al is het momenteel natuurlijk met salderen dat het misschien wel voordeliger is, maar daar houd mijn brein naar 3 dagen DAO klooien even op 8)7

Afbeeldingslocatie: https://tweakers.net/i/eiBjtFUMtCC6K63GvGsNd7md61A=/x800/filters:strip_exif()/f/image/DqTJIBN5N20FeOkb82DGeUrH.png?f=fotoalbum_large

Mijn config:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
{
  "config_version": 0,
  "homeassistant": {
    "ip_address": "supervisor",
    "protocol_api": "http"
  },
  "database_ha": {
    "engine": "sqlite",
    "db_path": "/homeassistant",
    "database": "home-assistant_v2.db"
  },
  "database_da": {
    "engine": "sqlite",
    "db_path": "../data",
    "database": "day_ahead.db"
  },
  "meteoserver_key": "!secret meteoserver-key",
  "meteoserver_model": "harmonie",
  "meteoserver_attemps": 2,
  "prices": {
    "source_day_ahead": "tibber",
    "energy_taxes_consumption": {
      "2026-04-01": 0.09161
    },
    "energy_taxes_production": {
      "2026-04-01": 0.09161
    },
    "cost_supplier_consumption": {
      "2026-04-01": 0.020496
    },
    "cost_supplier_production": {
      "2026-04-01": 0.020496
    },
    "vat_consumption": {
      "2026-04-01": 21.0
    },
    "vat_production": {
      "2026-04-01": 21.0
    },
    "last_invoice": "2026-04-15",
    "tax_refund": true,
    "regular high": 0.33,
    "regular low": 0.28,
    "switch to low": 21
  },
  "logging_level": "info",
  "use_calc_baseload": false,
  "baseload_calc_periode": 56,
  "baseload": [
    1.12,
    0.98,
    0.92,
    0.85,
    1.10,
    1.34,
    1.04,
    1.25,
    1.64,
    1.34,
    1.03,
    0.95,
    1.15,
    1.09,
    1.02,
    1.19,
    1.31,
    1.49,
    2.12,
    1.83,
    1.73,
    2.38,
    2.04,
    1.28
  ],
  "graphical_backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "battery_balance": true,
    "prices_consumption": true,
    "prices_production": false,
    "prices_spot": true,
    "average_consumption": true,
    "show": "true"
  },
  "interval": "15min",
  "strategy": "minimize cost",
  "max_gap": 0.005,
  "notifications": {
    "opstarten": false,
    "berekening": false
  },
  "grid": {
    "max_power": 17.0
  },
  "history": {
    "save_days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "battery": [
    {
      "name": "Voll 12 XL",
      "entity_actual_level": "sensor.deye_sunsynk_sol_ark_3_phase_battery_state_of_charge",
      "capacity": 61.4,
      "upper_limit": 100,
      "lower_limit": 20,
      "optimal_lower_level": 33,
      "penalty_low_soc": 0.00025,
      "charge_stages": [
        {"power": 0.0,     "efficiency": 1.00},
        {"power": 2000.0,  "efficiency": 0.944},
        {"power": 5000.0,  "efficiency": 0.970},
        {"power": 10000.0, "efficiency": 0.975},
        {"power": 15000.0, "efficiency": 0.968},
        {"power": 17000.0, "efficiency": 0.961}
      ],
      "discharge_stages": [
        {"power": 0.0,     "efficiency": 1.00},
        {"power": 2000.0,  "efficiency": 0.944},
        {"power": 5000.0,  "efficiency": 0.970},
        {"power": 10000.0, "efficiency": 0.975},
        {"power": 15000.0, "efficiency": 0.968},
        {"power": 17000.0, "efficiency": 0.961}
      ],
      "reduced_hours": {},
      "reduce_power_low_soc": [],
      "reduce_power_high_soc": [],
      "dc_to_bat_efficiency": 0.985,
      "bat_to_dc_efficiency": 0.985,
      "minimum_power": 200,
      "cycle_cost": 0.02305,
      "entity_set_power_feedin": "input_number.dao_power_feedin",
      "entity_set_operating_mode": "input_select.dao_operating_mode",
      "entity_set_operating_mode_on": "Aan",
      "entity_set_operating_mode_off": "Uit",
      "entity_balance_switch": "input_boolean.dao_balance_switch",
      "entity_from_pv": "input_number.dao_power_from_pv",
      "entity_from_ac": "input_number.dao_power_from_ac",
      "entity_calculated_soc": "input_number.dao_calculated_soc",
      "solar": [],
      "entity from batterij": "input_number.dao_power_from_battery"
    }
  ],
  "solar": [
    {
      "name": "Dak voor",
      "tilt": 50.0,
      "orientation": 26.0,
      "capacity": 7.8,
      "yield_factor": 0.01808,
      "strings": [],
      "ml_prediction": false,
      "entities_sensors": [
        "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total"
      ],
      "max_power": 8.0
    }
  ],
  "electric_vehicle": [],
  "machines": [],
  "boiler": {
    "boiler_present": false,
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater_present": false,
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "tibber": {
    "api_token": "!secret tibber_api_token",
    "api_url": "https://api.tibber.com/v1-beta/gql"
  },
  "xgboost": {
    "tune_hyperparameters": true
  },
  "report": {
    "entities_grid_consumption": [
      "sensor.energy_consumed_tariff_1",
      "sensor.energy_consumed_tariff_2"
    ],
    "entities_grid_production": [
      "sensor.energy_produced_tariff_1",
      "sensor.energy_produced_tariff_2"
    ],
    "entities_solar_production_ac": [
      "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total"
    ],
    "entities_solar_production_dc": [],
    "entities_ev_consumption": [
      "sensor.oprit_l1_energy_meter",
      "sensor.oprit_l2_energy_meter",
      "sensor.oprit_r1_energy_meter"
    ],
    "entities_wp_consumption": [
      "sensor.heliotherm_heatpump_electricity_meter_total_gesamt"
    ],
    "entities_boiler_consumption": [],
    "entities_battery_consumption": [
      "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_in_total"
    ],
    "entities_battery_production": [
      "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_out_total"
    ],
    "entities_machine_consumption": []
  },
  "scheduler": {
    "active": true,
    "schedule": [
      {
        "time": "0432",
        "action": "get_meteo_data"
      },
      {
        "time": "1032",
        "action": "get_meteo_data"
      },
      {
        "time": "1632",
        "action": "get_meteo_data"
      },
      {
        "time": "2232",
        "action": "get_meteo_data"
      },
      {
        "time": "1255",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1355",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1455",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1555",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1655",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "xx00",
        "action": "calc_optimum"
      },
      {
        "time": "xx15",
        "action": "calc_optimum"
      },
      {
        "time": "xx30",
        "action": "calc_optimum"
      },
      {
        "time": "xx45",
        "action": "calc_optimum"
      },
      {
        "time": "2359",
        "action": "clean_data"
      },
      {
        "time": "2233",
        "action": "calc_baseloads"
      }
    ]
  }
}

  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
thomvh schreef op vrijdag 17 april 2026 @ 00:36:
Ik lees twee verschillende dingen over het berekenen van de cycle cost.

In de wiki:

[...]

Dus dan kom ik bij mij op 0,02305 uit.

In het SETTINGS.md document:

[...]

Dan kom ik op 2,83 uit.

Dat is nogal een verschil, vandaar dat ik even wil navragen de originele intentie is geweest.
Deze post, en een hele serie er na praten hier over. Eerder is er ook al veel over gepraat. Het hangt er van af wat je wil; wil je de gedane investering 'eerlijk terugbetalen' dan kies je een hogere cycle cost van 10 cent. Wil je vooruit sparen voor een toekomstige uitgave (goedkoper per kWh) dan kies je een lagere waarde. Ben je de uitgave vergeten, dan kies je 1 cent om onnodig (ont)laden te voorkomen.
De waarde die je quote uit SETTINGS.md moet je nog delen door het aantal kWh van je accu. Veel mensen zweven ergens tussen de 12 en 2 cent per kWh per cycle. In de DAO settings is dat tussen de 6 en 1 cent (want de setting is per halve cycle).

  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
thomvh schreef op vrijdag 17 april 2026 @ 10:37:
Nog een additionele vraag. Ik zou er vanuit gaan dat het logischer is om de overtollige zonnestroom op te gaan slaan. Maar het model zoals ik dit interpreteer lijkt de zonnestroom gewoon rustig terug te leveren 1:1 en alleen op goedkope uren te gaan laden.

Ik heb alleen het onderbuik gevoel dat ik iets verkeerds geconfigureerd heb. Mijn persoonlijke redenatie is namelijk dat je de zonnestroom alleen negeert als er genoeg tijd is met negatieve energie, die op papier natuurlijk goedkoper is dan je zonnestroom ivm afschrijving etc. Al is het momenteel natuurlijk met salderen dat het misschien wel voordeliger is, maar daar houd mijn brein naar 3 dagen DAO klooien even op 8)7

[Afbeelding]
Jouw batterij is vrij fors, maar ook met vrij forse omvormer; in ongeveer 4 uur kan je hem vol krijgen. Het is kosten effectiever om goedkoop van het net te laden tussen 12 en 16 en daaromheen zonnestroom te verkopen. DAO maakt elk kwartier of uur het sommetje opnieuw wat voor jouw situatie het meest optimale is. Jij gebruikt "strategy": "minimize cost", dus dat resulteert in meer laden vanaf het net. "minimize consumption" is minder kosteneffectief maar kan beter "voelen".

Wanneer je een lagere cycle cost kiest (jij hebt nu 2,305 cent per kWh per halve cycle) dan zal je zien dat de berekening anders gaat worden. Ik gebruik overigens 1 cent per kWh per halve cycle.

kan je even je config tussen quote blokken zetten?

  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
balk schreef op vrijdag 17 april 2026 @ 12:47:
[...]

Deze post, en een hele serie er na praten hier over. Eerder is er ook al veel over gepraat. Het hangt er van af wat je wil; wil je de gedane investering 'eerlijk terugbetalen' dan kies je een hogere cycle cost van 10 cent. Wil je vooruit sparen voor een toekomstige uitgave (goedkoper per kWh) dan kies je een lagere waarde. Ben je de uitgave vergeten, dan kies je 1 cent om onnodig (ont)laden te voorkomen.
De waarde die je quote uit SETTINGS.md moet je nog delen door het aantal kWh van je accu. Veel mensen zweven ergens tussen de 12 en 2 cent per kWh per cycle. In de DAO settings is dat tussen de 6 en 1 cent (want de setting is per halve cycle).
Dit snap ik en dat had ik ook gelezen. Ik zie alleen een contradictie in de teksten in github. De een zegt dat het hanteert wat een volledige cyclus cost. De ander zegt dat het de kosten per kWh voor een cyclus kost. Daar zit nogal een verschil. Voer ik namelijk de volledige cyclus als kost in. Dan wordt de batterij gewoon niet gebruikt, wat volkomen logisch is. Dus ik wilde even dubbel checken of het dus per kWh "hoort" te zijn. Of da het echt per cyclus is. Ik heb hem voor nu op de kWh berekening gezet, wat je ook ziet.

  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
KC27 schreef op zondag 14 december 2025 @ 09:10:
[...]

In DAO is maar 1 parameter waarin je de totale (gesommeerde) "opslag" van je leverancier onderbrengt. Bij Tibber ontvang je vanaf 1 januari bij teruglevering nog wel de opslag (je inkoopvergoeding) terug (dat zijn de salderingsregels), maar je betaalt ook een verkoopvergoeding aan Tibber voor het terugleveren.
Als je op jaarbasis meer verbruikt dan teruglevert zijn die twee samen precies nul.
Maar als je meer teruglevert dan afneemt (op jaarbasis) moet daar een negatief bedrag (-0.020496) staan,omdat je de inkoopvergoeding niet meer mag salderen.
nevermind, verkeerd gelezen.
Ik vraag me toch af of dit klopt. Moet de config voor Tibber niet als volgt zijn, ongeacht of je binnen salderen bent of niet? Buiten salderen zal je energy_taxes_production niet meer terug krijgen.
[code]
"prices": {
"energy_taxes_consumption": { "2026-01-01": 0.09157 },
"energy_taxes_production": { "2026-01-01": 0.09157 },
"cost_supplier_consumption": { "2026-01-01": 0.020496 },
"cost_supplier_production": { "2026-01-01": -0.020496 }
[/code]
Dus met een negatieve vergoeding? Zoals ik het begrijp betaal ik 2,0496 cent per geconsumeerde kWh en en krijg ik minus 2,0496 cent per geleverde kWh. Dus dat moet ik betalen. Zie ook hier.

@thomvh jij gebruikt een positieve vergoeding; heb je Tibber? Dat verklaart ook (ten onrechte) de neiging tot terugleveren.

[ Voor 4% gewijzigd door balk op 17-04-2026 14:00 . Reden: nevermind ]


  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
balk schreef op vrijdag 17 april 2026 @ 13:01:
[...]

Jouw batterij is vrij fors, maar ook met vrij forse omvormer; in ongeveer 4 uur kan je hem vol krijgen. Het is kosten effectiever om goedkoop van het net te laden tussen 12 en 16 en daaromheen zonnestroom te verkopen. DAO maakt elk kwartier of uur het sommetje opnieuw wat voor jouw situatie het meest optimale is. Jij gebruikt "strategy": "minimize cost", dus dat resulteert in meer laden vanaf het net. "minimize consumption" is minder kosteneffectief maar kan beter "voelen".

Wanneer je een lagere cycle cost kiest (jij hebt nu 2,305 cent per kWh per halve cycle) dan zal je zien dat de berekening anders gaat worden. Ik gebruik overigens 1 cent per kWh per halve cycle.

kan je even je config tussen quote blokken zetten?
Klopt, het pakket is vrij fors omdat we eerlijk gezegd gewoon een erg goede deal kregen, we het ook voor noodstroom willen gebruiken en daarom ook het hogere vermogen omvormer omdat het huis (Alles is electrisch WP, koken, oven etc volledig gasloos) en eventueel elektrische auto's ook gewoon geladen moeten kunnen worden in een noodgeval.

Ja ik kom op 2,305 cent uit wanneer ik de aanschaf kosten (Inclusief omvormer) neem en deze door het aantal cyclussen deel die ik als garantie krijg ((aanschafwaarde / (cycli x kWh) ) / 2). Dat was eigenlijk de volledige onderliggende beredenering.

Maar bedankt voor de uitleg, ik had ergens al een donker bruin vermoeden dat het door het hoge vermogen kunnen laden en ontladen kwam waardoor het gewoon interessanter is. Nu nog even de afweging maken of het de extra slijtage waard is...

Ik heb voor de grap de MQTT logs eens vergeleken van het model wat mijn leverancier gebruikt als aansturing. Die doen dus in de "idle" mode eigenlijk balanceren (Als in NOM), wat ik alleen als ik naar de DAO graphs kijk het model eigenlijk niet wil. Die hebben een soort hybrid want die doen dus altijd NOM tenzij ze aan het verkopen zijn.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Ontladen (Tot 25%, want 25% beschikbaar voor Noodstroom; Grid peak shaving moet UIT als je wilt ontladen anders ontlaadt de omvormer niet)
[Tue Mar 03 08:01:54] Set 'Grid peak shaving' to 'Disabled': Saved.
[Tue Mar 03 08:01:49] Set 'Work mode' to 'Selling first': Saved.
[Tue Mar 03 08:01:44] Set 'Grid charge point 6' to 'false': Saved.
[Tue Mar 03 08:01:40] Set 'Grid charge point 5' to 'false': Saved.
[Tue Mar 03 08:01:35] Set 'Grid charge point 4' to 'false': Saved.
[Tue Mar 03 08:01:31] Set 'Grid charge point 3' to 'false': Saved.
[Tue Mar 03 08:01:30] Set 'Grid charge point 2' to 'false': Saved.
[Tue Mar 03 08:01:25] Set 'Grid charge point 1' to 'false': Saved.
[Tue Mar 03 08:01:20] Set 'Capacity point 6' to '25': Saved.
[Tue Mar 03 08:01:16] Set 'Capacity point 5' to '25': Saved.
[Tue Mar 03 08:01:11] Set 'Capacity point 4' to '25': Saved.
[Tue Mar 03 08:01:07] Set 'Capacity point 3' to '25': Saved.
[Tue Mar 03 08:01:02] Set 'Capacity point 2' to '25': Saved.
[Tue Mar 03 08:00:58] Set 'Capacity point 1' to '25': Saved.

Idle 
[Tue Mar 03 06:46:56] Set 'Grid peak shaving' to 'Enabled': Saved.
[Tue Mar 03 06:46:51] Set 'Work mode' to 'Zero export to CT': Saved.
[Tue Mar 03 06:46:47] Set 'Grid charge point 6' to 'true': Saved.
[Tue Mar 03 06:46:42] Set 'Grid charge point 5' to 'true': Saved.
[Tue Mar 03 06:46:38] Set 'Grid charge point 4' to 'true': Saved.
[Tue Mar 03 06:46:33] Set 'Grid charge point 3' to 'true': Saved.
[Tue Mar 03 06:46:29] Set 'Grid charge point 2' to 'true': Saved.
[Tue Mar 03 06:46:24] Set 'Grid charge point 1' to 'true': Saved.
[Tue Mar 03 06:46:20] Set 'Capacity point 6' to '25': Saved.
[Tue Mar 03 06:46:15] Set 'Capacity point 5' to '25': Saved.
[Tue Mar 03 06:46:11] Set 'Capacity point 4' to '25': Saved.
[Tue Mar 03 06:46:06] Set 'Capacity point 3' to '25': Saved.
[Tue Mar 03 06:46:02] Set 'Capacity point 2' to '25': Saved.
[Tue Mar 03 06:45:57] Set 'Capacity point 1' to '25': Saved.


Opladen
Set 'Work mode' to 'Zero export to CT': Saved.
Set 'Grid charge point 6' to 'true': Saved.
Set 'Grid charge point 5' to 'true': Saved.
Set 'Grid charge point 4' to 'true': Saved.
Set 'Grid charge point 3' to 'true': Saved.
Set 'Grid charge point 2' to 'true': Saved.
Set 'Grid charge point 1' to 'true': Saved.
Set 'Capacity point 6' to '100': Saved.
Set 'Capacity point 5' to '100': Saved.
Set 'Capacity point 4' to '100': Saved.
Set 'Capacity point 3' to '100': Saved.
Set 'Capacity point 2' to '100': Saved.
Set 'Capacity point 1' to '100': Saved.
Set 'Grid peak shaving' to 'Enabled': Saved.

  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
balk schreef op vrijdag 17 april 2026 @ 13:22:
[...]

Ik vraag me toch af of dit klopt. Moet de config voor Tibber niet als volgt zijn, ongeacht of je binnen salderen bent of niet? Buiten salderen zal je energy_taxes_production niet meer terug krijgen.
code:
1
2
3
4
5
"prices": {
    "energy_taxes_consumption": { "2026-01-01": 0.09157 },
    "energy_taxes_production": { "2026-01-01": 0.09157 },
    "cost_supplier_consumption": { "2026-01-01": 0.020496 },
    "cost_supplier_production": { "2026-01-01": -0.020496 }
Dus met een negatieve vergoeding? Zoals ik het begrijp betaal ik 2,0496 cent per geconsumeerde kWh en en krijg ik minus 2,0496 cent per geleverde kWh. Dus dat moet ik betalen. Zie ook hier.
@thomvh jij gebruikt een positieve vergoeding; heb je Tibber? Dat verklaart ook (ten onrechte) de neiging tot terugleveren.
Dat zou wel het een en ander verklaren, ik heb inderdaad Tibber. Maar ik las het als de kosten die je moet betalen om terug te leveren per kWh. Dus ik was er al een soort van uitgegaan dat dat een negatieve waarde is.
Supplier fees for feed-in/production (excluding VAT) indexed by effective date. May be negative (credit).
Als ik deze beschrijving lees dan zou het echter een credit zijn, wat ook niet klopt volgens mij? Want je betaald het nog steeds aan Tibber, ook tijdens het salderen.
Binnen salderen krijg je voor je teruglevering dus de beursprijs, inclusief alle belastingen en inkoopvergoeding. Daar gaat vervolgens een verkoopvergoeding van 2,48 cent per kWh uur vanaf.
Is de cost voor productie dan niet gewoon 0? Want de twee strepen tegen elkaar weg. Zolang je maar niet meer teruglevert dan je afneemt.

Dan krijg je namelijk de volgende situatie. Waar het verschil tussen inkopen en terugleveren de "verkoopvergoeding" is. Wat ook klopt.
Afbeeldingslocatie: https://tweakers.net/i/01TnoMTZsjJsmlTH3fys_0RZthw=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/6irJp79phG0d0EwsbOo98H62.png?f=user_large

[ Voor 10% gewijzigd door thomvh op 17-04-2026 13:52 ]


  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
thomvh schreef op vrijdag 17 april 2026 @ 13:37:
Is de cost voor productie dan niet gewoon 0? Want de twee strepen tegen elkaar weg. Zolang je maar niet meer teruglevert dan je afneemt.
Zoals ik dit lees, moet betaal je die 2,48 cent. Stel er is een uur met gelijke prijzen en de beurs prijs met BTW is 20 cent. Ik consumeer in het eerste half uur 1 kWh, dan betaal ik 22,48 cent. Als ik in het tweede half uur terug lever dan krijg ik 17,52 cent. Het streept dus niet tegen elkaar weg; althans zo interpreteer ik het.

Van de tibber site:
Als je teruglevert bij Tibber krijg je hier een dynamisch tarief voor. Op het moment dat je teruglevert geven we je per kWh de beursprijs die op dat moment geldt (deze gelijk aan de beursprijs wanneer je stroom zou afnemen), inclusief energiebelasting en inkoopvergoeding plus de btw minus de verkoopvergoeding. De verkoopvergoeding van 2,48 cent is gelijk aan de inkoopvergoeding die je bij je afgenomen stroom betaalt.

Binnen salderen krijg je voor je teruglevering dus de beursprijs, inclusief alle belastingen en inkoopvergoeding. Daar gaat vervolgens een verkoopvergoeding van 2,48 cent per kWh uur vanaf.

Als voorbeeld: Stel dat tussen 14:00 en 14:15 de totale stroomprijs €0,28 per kWh incl. is, dan krijg je op dat moment €0,28 - €0,0248 verkoopvergoeding = €0,2552 per teruggeleverde kWh van ons terug.
ok, ik heb het nog 3x gelezen. Ik denk dat KC27 in deze post toch gelijk heeft. Het moet 0 zijn omdat "inclusief energiebelasting en inkoopvergoeding plus de btw minus de verkoopvergoeding" is. Ik zet het op 0!

[ Voor 18% gewijzigd door balk op 17-04-2026 13:58 ]


  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
balk schreef op vrijdag 17 april 2026 @ 13:54:
[...]

Zoals ik dit lees, moet betaal je die 2,48 cent. Stel er is een uur met gelijke prijzen en de beurs prijs met BTW is 20 cent. Ik consumeer in het eerste half uur 1 kWh, dan betaal ik 22,48 cent. Als ik in het tweede half uur terug lever dan krijg ik 17,52 cent. Het streept dus niet tegen elkaar weg; althans zo interpreteer ik het.

Van de tibber site:

[...]
Alleen als je meer inkoopt dan teruglevert. Is er altijd een inkoop vergoeding (Die je terug krijgt) waar je de verkoop vergoeding tegen weg kunt strepen. Waardoor je prijs om terug te leveren 0,0248 cent lager ligt dan je inkoop prijs. Zie de grafiek in mijn vorige post. Daar staat de productie kost op 0. Als je -0,0248 instelt zeg je eigenlijk dat je 0,0248 cent extra krijgt. Zo interpreteer ik het.

@balk Ik heb hem ook op 0 gezet nu. Hij is ineens minder happig om terug te leveren. Maar dat is nu ook logisch. Want nu kost het teminste iets.

[ Voor 6% gewijzigd door thomvh op 18-04-2026 10:46 ]


  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
Ik ben benieuwd hoe jullie dit op zouden lossen. Ik heb momenteel bij het laden en ontladen last van clipping. De batterij is eigenlijk altijd sneller dan DAO berekend heeft. Ik kan natuurlijk gewoon 5 tot 10% extra aan de calculated battery percentage toe voegen (Deze stel ik in als limit's in de omvormer). Maar ik was benieuwd of jullie een mooiere oplossing heb.

Afbeeldingslocatie: https://tweakers.net/i/GHcuORBDz9KiK8N6IfdDmD4DPYk=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/jOX9ffrweXuK5sYc6dDAjDJg.png?f=user_large

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
{
  "config_version": 0,
  "homeassistant": {
    "ip_address": "supervisor",
    "protocol_api": "http"
  },
  "database_ha": {
    "engine": "sqlite",
    "db_path": "/homeassistant",
    "database": "home-assistant_v2.db"
  },
  "database_da": {
    "engine": "sqlite",
    "db_path": "../data",
    "database": "day_ahead.db"
  },
  "meteoserver_key": "!secret meteoserver-key",
  "meteoserver_model": "harmonie",
  "meteoserver_attemps": 2,
  "prices": {
    "source_day_ahead": "tibber",
    "energy_taxes_consumption": {
      "2026-04-01": 0.09161
    },
    "energy_taxes_production": {
      "2026-04-01": 0.09161
    },
    "cost_supplier_consumption": {
      "2026-04-01": 0.020496
    },
    "cost_supplier_production": {
      "2026-04-01": 0
    },
    "vat_consumption": {
      "2026-04-01": 21.0
    },
    "vat_production": {
      "2026-04-01": 21.0
    },
    "last_invoice": "2026-04-15",
    "tax_refund": true,
    "regular high": 0.33,
    "regular low": 0.28,
    "switch to low": 21
  },
  "logging_level": "info",
  "use_calc_baseload": false,
  "baseload_calc_periode": 56,
  "baseload": [
    1.12,
    0.98,
    0.92,
    0.85,
    1.10,
    1.34,
    1.04,
    1.25,
    1.64,
    1.34,
    1.03,
    0.95,
    1.15,
    1.09,
    1.02,
    1.19,
    1.31,
    1.49,
    2.12,
    1.83,
    1.73,
    2.38,
    2.04,
    1.28
  ],
  "graphical_backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "battery_balance": true,
    "prices_consumption": true,
    "prices_production": true,
    "prices_spot": true,
    "average_consumption": true,
    "show": "true"
  },
  "interval": "15min",
  "strategy": "minimize cost",
  "max_gap": 0.005,
  "notifications": {
    "opstarten": false,
    "berekening": false,
    "last activity entity": "input_datetime.dao_latest_update"
  },
  "grid": {
    "max_power": 17.0
  },
  "history": {
    "save_days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "battery": [
    {
      "name": "Voll 12 XL",
      "entity_actual_level": "sensor.deye_sunsynk_sol_ark_3_phase_battery_state_of_charge",
      "capacity": 61.4,
      "upper_limit": 90,
      "lower_limit": 25,
      "optimal_lower_level": 33,
      "penalty_low_soc": 0.00025,
      "charge_stages": [
        {"power": 0.0,     "efficiency": 1.00},
        {"power": 2000.0,  "efficiency": 0.944},
        {"power": 5000.0,  "efficiency": 0.970},
        {"power": 10000.0, "efficiency": 0.975},
        {"power": 15000.0, "efficiency": 0.968},
        {"power": 17000.0, "efficiency": 0.961}
      ],
      "discharge_stages": [
        {"power": 0.0,     "efficiency": 1.00},
        {"power": 2000.0,  "efficiency": 0.944},
        {"power": 5000.0,  "efficiency": 0.970},
        {"power": 10000.0, "efficiency": 0.975},
        {"power": 15000.0, "efficiency": 0.968},
        {"power": 17000.0, "efficiency": 0.961}
      ],
      "reduced_hours": {},
      "reduce_power_low_soc": [],
      "reduce_power_high_soc": [],
      "dc_to_bat_efficiency": 0.985,
      "bat_to_dc_efficiency": 0.985,
      "minimum_power": 200,
      "cycle_cost": 0.02305,
      "entity_set_power_feedin": "input_number.dao_power_feedin",
      "entity_set_operating_mode": "input_select.dao_operating_mode",
      "entity_set_operating_mode_on": "Aan",
      "entity_set_operating_mode_off": "Uit",
      "entity_balance_switch": "input_boolean.dao_balance_switch",
      "entity_from_pv": "input_number.dao_power_from_pv",
      "entity_from_ac": "input_number.dao_power_from_ac",
      "entity_calculated_soc": "input_number.dao_calculated_soc",
      "solar": [],
      "entity from battery": "input_number.dao_power_from_battery"
    }
  ],
  "solar": [
    {
      "name": "Dak voor",
      "tilt": 50.0,
      "orientation": 26.0,
      "capacity": 7.8,
      "yield_factor": 0.01808,
      "strings": [],
      "ml_prediction": false,
      "entities_sensors": [
        "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total"
      ],
      "max_power": 8.0
    }
  ],
  "electric_vehicle": [],
  "machines": [],
  "boiler": {
    "boiler_present": false,
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater_present": false,
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "tibber": {
    "api_token": "!secret tibber_api_token",
    "api_url": "https://api.tibber.com/v1-beta/gql"
  },
  "xgboost": {
    "tune_hyperparameters": true
  },
  "report": {
    "entities_grid_consumption": [
      "sensor.energy_consumed_tariff_1",
      "sensor.energy_consumed_tariff_2"
    ],
    "entities_grid_production": [
      "sensor.energy_produced_tariff_1",
      "sensor.energy_produced_tariff_2"
    ],
    "entities_solar_production_ac": [
      "sensor.deye_sunsynk_sol_ark_3_phase_pv_energy_total"
    ],
    "entities_solar_production_dc": [],
    "entities_ev_consumption": [
      "sensor.oprit_l1_energy_meter",
      "sensor.oprit_l2_energy_meter",
      "sensor.oprit_r1_energy_meter"
    ],
    "entities_wp_consumption": [
      "sensor.heliotherm_heatpump_electricity_meter_total_gesamt"
    ],
    "entities_boiler_consumption": [],
    "entities_battery_consumption": [
      "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_in_total"
    ],
    "entities_battery_production": [
      "sensor.deye_sunsynk_sol_ark_3_phase_battery_energy_out_total"
    ],
    "entities_machine_consumption": []
  },
  "scheduler": {
    "active": true,
    "schedule": [
      {
        "time": "0432",
        "action": "get_meteo_data"
      },
      {
        "time": "1032",
        "action": "get_meteo_data"
      },
      {
        "time": "1632",
        "action": "get_meteo_data"
      },
      {
        "time": "2232",
        "action": "get_meteo_data"
      },
      {
        "time": "1255",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1355",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1455",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1555",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "1655",
        "action": "get_day_ahead_prices"
      },
      {
        "time": "xx00",
        "action": "calc_optimum"
      },
      {
        "time": "xx15",
        "action": "calc_optimum"
      },
      {
        "time": "xx30",
        "action": "calc_optimum"
      },
      {
        "time": "xx45",
        "action": "calc_optimum"
      },
      {
        "time": "2359",
        "action": "clean_data"
      },
      {
        "time": "2233",
        "action": "calc_baseloads"
      }
    ]
  }
}
Mijn automation:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
alias: DAO - Battery Mode Control
description: Translates DAO commands to Deye inverter via Solar Assistant TOU slots
triggers:
  - entity_id:
      - input_datetime.dao_latest_update
    trigger: state
    id: dao_update
conditions: []
actions:
  - delay: "00:00:05"
  - variables:
      target_power: >-
        {% set v = states('input_number.dao_power_from_battery') | float(0) |
        abs | round(0) | int %} {{ [v, 80000] | min }}
      target_soc: >-
        {% set v = states('input_number.dao_calculated_soc') | float(0) |
        round(0, 'floor') | int %} {% if v < 20 %}
          20
        {% elif v > 100 %}
          100
        {% else %}
          {{ v }}
        {% endif %}
  - choose:
      - alias: Battery Idle
        conditions:
          - condition: state
            entity_id: input_select.dao_operating_mode
            state: Uit
        sequence:
          - action: script.dao_set_all_power_points
            data:
              power: 20000
          - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}"
          - action: script.dao_set_capacity_points
            data:
              capacity: "{{ target_soc }}"
          - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}"
          - action: script.dao_grid_charge_points
            data:
              enabled: false
          - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}"
          - action: select.select_option
            target:
              entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode
            data:
              option: Selling First
      - alias: Battery Balancing
        conditions:
          - condition: state
            entity_id: input_boolean.dao_balance_switch
            state: "on"
        sequence:
          - action: script.dao_set_capacity_points
            data:
              capacity: "{{ target_soc }}"
          - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}"
          - action: script.dao_set_all_power_points
            data:
              power: 20000
          - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}"
          - action: script.dao_grid_charge_points
            data:
              enabled: false
          - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}"
          - action: select.select_option
            target:
              entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode
            data:
              option: Zero export to CT
      - alias: Battery Sell
        conditions:
          - condition: state
            entity_id: input_boolean.dao_balance_switch
            state: "off"
          - condition: template
            value_template: "{{ states('input_number.dao_power_feedin') | float(0) < 0 }}"
        sequence:
          - action: script.dao_set_capacity_points
            data:
              capacity: "{{ target_soc }}"
          - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}"
          - action: script.dao_grid_charge_points
            data:
              enabled: false
          - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}"
          - action: script.dao_set_all_power_points
            data:
              power: "{{ target_power }}"
          - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}"
          - action: select.select_option
            target:
              entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode
            data:
              option: Selling first
      - alias: Battery Charge
        conditions:
          - condition: state
            entity_id: input_boolean.dao_balance_switch
            state: "off"
          - condition: template
            value_template: "{{ states('input_number.dao_power_feedin') | float(0) > 0 }}"
        sequence:
          - variables:
              ac_watts: >-
                {{ [states('input_number.dao_power_from_ac') | float(0), 17300]
                | min }}
              batt_v: >-
                {{ states('sensor.deye_sunsynk_sol_ark_3_phase_battery_voltage')
                | float(51.2) }}
              raw_amps: "{{ (ac_watts / batt_v) | round(0) | int }}"
              charge_amps: "{{ [[raw_amps, 0] | max, 350] | min }}"
          - action: script.dao_set_capacity_points
            data:
              capacity: "{{ target_soc }}"
          - wait_template: "{{ is_state('script.dao_set_capacity_points', 'off') }}"
          - action: script.dao_set_all_power_points
            data:
              power: 20000
          - wait_template: "{{ is_state('script.dao_set_all_power_points', 'off') }}"
          - action: number.set_value
            target:
              entity_id: number.deye_sunsynk_sol_ark_3_phase_max_grid_charge_current
            data:
              value: "{{ charge_amps }}"
          - delay: "00:00:05"
          - action: script.dao_grid_charge_points
            data:
              enabled: true
          - wait_template: "{{ is_state('script.dao_grid_charge_points', 'off') }}"
          - action: select.select_option
            target:
              entity_id: select.deye_sunsynk_sol_ark_3_phase_work_mode
            data:
              option: Zero export to CT
mode: restart
trace:
  stored_traces: 20

  • balk
  • Registratie: Januari 2000
  • Laatst online: 01:29
thomvh schreef op zaterdag 18 april 2026 @ 12:34:
Ik ben benieuwd hoe jullie dit op zouden lossen. Ik heb momenteel bij het laden en ontladen last van clipping. De batterij is eigenlijk altijd sneller dan DAO berekend heeft. Ik kan natuurlijk gewoon 5 tot 10% extra aan de calculated battery percentage toe voegen (Deze stel ik in als limit's in de omvormer). Maar ik was benieuwd of jullie een mooiere oplossing heb.

[Afbeelding]

Mijn DAO config:

[...]


Mijn automation:

[...]
Ik snap niet helemaal wat je nu zegt. Wat laat het plaatje zien? x as is tijd, maar y as? Hoe bedoel je "sneller"? Wanneer DAO zegt: 4000 W, gaat de batterij dan met 4000 W laden? Klopt je werkelijk bruikbare vermogen wel met het opgegeven vermogen? Ik zag in de handleiding een DoD van 90%, betekent het dat bij 10% chemisch geladen, jouw app 0% aangeeft? Want dan mis je al 6 kWh.

  • Dogooder
  • Registratie: April 2004
  • Laatst online: 00:03

Dogooder

dus...

Bedoel je, want dat zie ik in ieder geval, dat als DAO op het duurste kwartier gaat ontladen dat er dan een inverter stop na 13 of 14 minuten is. En vervolgens gaat dao weer maximaal ontladen op het een na duurste kwartier voor 13-14 minuten.
Terwijl je verwacht bij maximale winst gewoon volle 15 minuten ontladen op max power.

  • thomvh
  • Registratie: September 2013
  • Laatst online: 17:08
@balk @Dogooder Yes, ik loop er dus tegen aan dat mijn omvormer "sneller" is dan de AC waarde die DAO berekent. Hierdoor stopt mijn omvormer omdat die het batterij limiet eerder haalt dan het kwartier voorbij is. Zelfde gebeurt bij laden trouwens. Ik kan dit simpel op lossen door het berekende batterij percentage wat DAO berekend iets op te hogen met een paar procent. Maar het lijkt me eerder dat het ergens in de afstelling van de charging en discharging stages zit.

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 20:26
thomvh schreef op zaterdag 18 april 2026 @ 16:07:
@balk @Dogooder Yes, ik loop er dus tegen aan dat mijn omvormer "sneller" is dan de AC waarde die DAO berekent. Hierdoor stopt mijn omvormer omdat die het batterij limiet eerder haalt dan het kwartier voorbij is. Zelfde gebeurt bij laden trouwens. Ik kan dit simpel op lossen door het berekende batterij percentage wat DAO berekend iets op te hogen met een paar procent. Maar het lijkt me eerder dat het ergens in de afstelling van de charging en discharging stages zit.
Dan kloppen de efficiency’s bij de charging stage’s in je config niet voor de gebruikte vermogens. Je batterij is blijkbaar iets efficiënter dan je denkt. Je kunt ze (bij laden) iets verlagen en kijken hoe het dan gaat.

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 00:18
@KC27

heb je aan deze donordocumenten iets?

eventueel ter inspiratie?

edjes in "Zendure producten in Home Assistant integreren deel 2"
Ik heb zes kantjes en maanden werk in een ROI. 8)

Hier, kan je spelen.
Uitgangspunt: zonnepanelen (solaredge), tibber
Het is erg complex, maar zeer volledig.
Plaats roi.yaml in packages
ROI.yaml:
https://www.dropbox.com/s...rk8dxxsb35xuyksi&e=1&dl=0

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

Pagina: 1 ... 35 36 Laatste