chore: eosdash improve plan display (#739)
Some checks are pending
docker-build / platform-excludes (push) Waiting to run
docker-build / build (push) Blocked by required conditions
docker-build / merge (push) Blocked by required conditions
pre-commit / pre-commit (push) Waiting to run
Run Pytest on Pull Request / test (push) Waiting to run

* chore: improve plan solution display

Add genetic optimization results to general solution provided by EOSdash plan display.

Add total results.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>

* fix: genetic battery and home appliance device simulation

Fix genetic solution to make ac_charge, dc_charge, discharge, ev_charge or
home appliance start time reflect what the simulation was doing. Sometimes
the simulation decided to charge less or to start the appliance at another
time and this was not brought back to e.g. ac_charge.

Make home appliance simulation activate time window for the next day if it can not be
run today.

Improve simulation speed.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>

---------

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
This commit is contained in:
Bobby Noelte
2025-11-08 15:42:18 +01:00
committed by GitHub
parent c50cdd95cb
commit 3599088dce
18 changed files with 1769 additions and 1345 deletions

View File

@@ -2,14 +2,14 @@
"ac_charge": [
0.0,
0.0,
0.875,
0.0,
0.875,
0.0,
0.625,
0.75,
0.0,
0.375,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
@@ -50,16 +50,16 @@
0.0
],
"dc_charge": [
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
1.0,
1.0,
1.0,
@@ -103,9 +103,9 @@
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
0,
@@ -476,7 +476,6 @@
0.0
],
"akku_soc_pro_stunde": [
80.0,
80.0,
79.91107093663912,
79.91107093663912,
@@ -504,7 +503,7 @@
76.64231728537023,
77.71252293120729,
81.22045681594867,
87.86517878095492,
81.61517878095492,
100.0,
100.0,
100.0,
@@ -513,6 +512,7 @@
100.0,
100.0,
100.0,
96.84060778236915,
96.84060778236915
],
"Electricity_price": [
@@ -558,108 +558,108 @@
},
"eauto_obj": {
"device_id": "ev1",
"hours": 48,
"charge_array": [
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"discharge_array": [
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"discharging_efficiency": 1.0,
"hours": 48,
"capacity_wh": 60000,
"charging_efficiency": 0.95,
"max_charge_power_w": 11040,
@@ -717,4 +717,4 @@
5.0
],
"washingstart": null
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -3,13 +3,6 @@
0.0,
0.0,
0.0,
1.0,
1.0,
0.75,
0.0,
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
@@ -18,7 +11,14 @@
0.0,
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
@@ -50,16 +50,16 @@
0.0
],
"dc_charge": [
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
1.0,
1.0,
1.0,
@@ -101,7 +101,9 @@
],
"discharge_allowed": [
0,
1,
0,
0,
0,
0,
0,
0,
@@ -109,36 +111,12 @@
0,
0,
1,
0,
1,
1,
1,
0,
0,
0,
1,
1,
0,
1,
1,
0,
1,
1,
1,
1,
1,
1,
0,
1,
1,
0,
1,
1,
0,
1,
1,
1,
1,
0,
0,
1,
@@ -147,69 +125,91 @@
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1
],
"eautocharge_hours_float": [
0.5,
1.0,
0.625,
0.0,
1.0,
0.375,
0.375,
0.875,
0.0,
0.0,
0.375,
0.625,
0.375,
0.875,
1.0,
0.875,
0.375,
0.75,
1.0,
0.625,
0.625,
0.75,
0.375,
1.0,
0.375,
0.375,
1.0,
1.0,
0.0,
0.0,
0.375,
0.625,
0.5,
0.5,
0.375,
1.0,
0.875,
0.625,
0.625,
0.0,
0.0,
0.75,
0.375,
0.75,
0.0,
0.5,
0.375,
0.0,
0.0,
0.5,
0.5,
1.0,
0.625,
0.5,
0.5,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.375,
0.0,
0.0,
0.0,
0.375,
0.0,
0.0,
0.625,
0.0,
0.0,
0.0,
0.0,
0.0
0.875,
1.0
],
"result": {
"Last_Wh_pro_Stunde": [
4986.07,
1063.91,
1320.56,
8876.029999999999,
8907.67,
7731.82,
6460.22,
6347.78,
3629.12,
7618.91,
5253.5599999999995,
12809.029999999999,
14151.67,
10353.82,
5149.22,
8969.78,
2177.92,
1178.71,
1050.98,
988.56,
@@ -226,14 +226,14 @@
1141.98,
1056.97,
992.46,
5088.99,
1155.99,
827.01,
1257.98,
1232.67,
4804.26,
871.26,
860.88,
1158.03,
7777.72,
1222.72,
1221.04,
949.99,
987.01,
@@ -243,42 +243,42 @@
"EAuto_SoC_pro_Stunde": [
5.0,
11.555,
11.555,
11.555,
20.294999999999998,
22.48,
29.035,
39.96,
48.699999999999996,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
57.440000000000005,
63.995000000000005,
63.995000000000005,
63.995000000000005,
63.995000000000005,
70.55,
70.55,
70.55,
81.475,
81.475,
81.475,
81.475,
81.475
44.330000000000005,
61.809999999999995,
77.105,
83.66,
96.77,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518,
98.518
],
"Einnahmen_Euro_pro_Stunde": [
0.0,
@@ -320,10 +320,10 @@
0.0,
0.0
],
"Gesamt_Verluste": 7755.845910804702,
"Gesamtbilanz_Euro": 4.690157296412734,
"Gesamt_Verluste": 7633.823819992856,
"Gesamtbilanz_Euro": 7.648978330847156,
"Gesamteinnahmen_Euro": 0.0,
"Gesamtkosten_Euro": 4.690157296412734,
"Gesamtkosten_Euro": 7.648978330847156,
"Home_appliance_wh_per_hour": [
0.0,
0.0,
@@ -366,83 +366,83 @@
],
"Kosten_Euro_pro_Stunde": [
0.0,
0.48125599199999997,
0.8679294259999999,
2.1885351859999997,
1.4948178300000001,
0.9688838999999999,
0.0,
0.0,
1.4495244859999996,
0.53097063,
0.44343509999999997,
0.0,
0.0,
0.8107800974767518,
0.0,
0.0,
0.291163892,
1.3510631400000002,
0.07038454500000005,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.182970359,
0.0,
0.0,
0.26411047,
0.0,
0.0,
0.0,
0.0,
0.0,
0.12044799000000005,
0.08545095,
0.007989913613567745,
0.0,
0.002459704740224363,
0.0,
0.0,
0.05016012000000004,
0.0076430797975209205,
0.0,
0.31687880399999996,
0.012219458233588571,
0.0,
0.0,
0.0,
0.16722497978466921,
0.16484566
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"Netzbezug_Wh_pro_Stunde": [
0.0,
2175.66,
4146.82,
11647.339999999998,
8132.85,
4834.75,
0.0,
0.0,
7714.339999999998,
2888.8500000000004,
2212.75,
0.0,
0.0,
2705.305630553059,
0.0,
0.0,
980.68,
5951.820000000001,
234.85000000000014,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
556.31,
0.0,
0.0,
799.85,
0.0,
0.0,
0.0,
0.0,
0.0,
395.9500000000001,
351.65,
35.04348076126204,
0.0,
11.752053226107805,
0.0,
0.0,
250.30000000000018,
34.77288351920346,
0.0,
1057.3199999999997,
55.24167375040041,
0.0,
0.0,
0.0,
572.4922279516235,
592.97
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"Netzeinspeisung_Wh_pro_Stunde": [
0.0,
@@ -486,83 +486,83 @@
],
"Verluste_Pro_Stunde": [
760.062272727273,
2.817272727272737,
29.157272727272726,
276.0,
276.0,
345.0,
615.5918181818183,
730.0663636363638,
373.0373243336329,
945.0,
207.0,
483.0,
552.0,
483.0,
367.81909090909085,
414.0,
55.200000000000045,
23.391818181818195,
99.72409090909093,
0.0,
133.72909090909081,
124.41545454545451,
96.08318181818186,
70.41409090909087,
118.37045454545455,
94.68272727272722,
83.01681818181817,
0.0,
75.86045454545456,
66.66681818181814,
69.12409090909085,
109.0704545454546,
55.96909090909088,
0.0,
109.96227272727276,
47.952272727272714,
11.233982308648535,
682.1181818181817,
160.0271308670193,
48.41330768174522,
161.62968357967037,
21.962728535423857,
538.2984000000038,
207.0,
255.8276539776955,
441.95211196761403,
260.56941082122324,
171.99990368477063,
1026.818181818182,
62.214291413756285,
35.132727272727266,
77.27590909090907,
134.59227272727276,
22.022423461142267,
0.0
100.08954545454549,
80.85954545454547
],
"akku_soc_pro_stunde": [
80.0,
62.54222623966943,
62.45329717630854,
61.532928719008275,
61.532928719008275,
61.532928719008275,
61.532928719008275,
50.81349001377411,
36.480587121212125,
46.842735019368604,
46.10435692019505,
42.95650051523637,
42.95650051523637,
39.029245005594504,
35.996316286586236,
33.77364927556696,
30.03720815986448,
27.048485708073848,
24.428005336173022,
24.428005336173022,
22.32362344912068,
20.141676135071094,
20.141676135071094,
16.670644798982938,
15.156999826531148,
15.469054890660274,
0.471637535288375,
4.030157048585656,
4.180158754905081,
19.132892088236673,
19.132892088236673,
26.239215809839333,
30.01393669097958,
8.49189812348647,
7.382910520180684,
4.9436457130181495,
0.6951522557178741,
0.0
43.60283230027549,
43.60283230027549,
43.60283230027549,
43.60283230027549,
43.60283230027549,
38.52647210743802,
38.52647210743802,
38.52647210743802,
37.78809400826446,
34.64023760330579,
30.418991046831955,
26.49173553719008,
23.458806818181817,
21.236139807162534,
17.499698691460054,
14.510976239669422,
11.890495867768596,
9.495910812672175,
7.391528925619835,
5.209581611570248,
1.7667011019283745,
0.0,
0.0,
0.3120550641291261,
1.07020564583707,
4.578139530578446,
4.728141236897871,
19.68087457022947,
31.94341995234899,
38.90006700591099,
42.674787887051245,
43.17025540478875,
42.06126780148296,
39.622002994320425,
35.373509537020155,
32.214117319389295,
29.661732677516017
],
"Electricity_price": [
0.000228,
@@ -607,211 +607,211 @@
},
"eauto_obj": {
"device_id": "ev1",
"hours": 48,
"charge_array": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.375,
0.625,
0.375,
0.875,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0
0.875,
0.375,
0.75,
0.1,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"discharge_array": [
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"discharging_efficiency": 1.0,
"hours": 48,
"capacity_wh": 60000,
"charging_efficiency": 0.95,
"max_charge_power_w": 11040,
"soc_wh": 48885.0,
"soc_wh": 59110.8,
"initial_soc_percentage": 5
},
"start_solution": [
14.0,
13.0,
0.0,
20.0,
20.0,
19.0,
18.0,
18.0,
5.0,
3.0,
9.0,
16.0,
12.0,
13.0,
8.0,
4.0,
0.0,
14.0,
11.0,
9.0,
16.0,
8.0,
9.0,
5.0,
10.0,
13.0,
13.0,
8.0,
8.0,
9.0,
5.0,
10.0,
7.0,
5.0,
20.0,
17.0,
15.0,
4.0,
12.0,
13.0,
8.0,
5.0,
1.0,
1.0,
4.0,
9.0,
2.0,
5.0,
8.0,
10.0,
12.0,
10.0,
9.0,
13.0,
7.0,
8.0,
7.0,
9.0,
13.0,
7.0,
10.0,
8.0,
8.0,
12.0,
2.0,
9.0,
12.0,
7.0,
10.0,
13.0,
11.0,
11.0,
10.0,
11.0,
10.0,
13.0,
10.0,
10.0,
12.0,
2.0,
6.0,
3.0,
0.0,
6.0,
1.0,
12.0,
9.0,
12.0,
13.0,
10.0,
13.0,
11.0,
2.0,
1.0,
5.0,
0.0,
0.0,
1.0,
3.0,
1.0,
5.0,
6.0,
5.0,
1.0,
4.0,
6.0,
3.0,
3.0,
4.0,
1.0,
6.0,
1.0,
1.0,
6.0,
6.0,
0.0,
0.0,
1.0,
3.0,
2.0,
2.0,
1.0,
6.0,
5.0,
3.0,
3.0,
0.0,
0.0,
4.0,
1.0,
4.0,
0.0,
2.0,
1.0,
0.0,
0.0,
2.0,
2.0,
6.0,
3.0,
2.0,
2.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
3.0,
0.0,
0.0,
0.0,
0.0,
0.0,
5.0,
6.0,
13.0
],
"washingstart": 13