From bf266a007fe6347f700541bc4504d4b29a33dea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=A4fliger?= Date: Mon, 27 May 2024 16:24:43 +0200 Subject: [PATCH] Weiterarbeit engine, main --- .../__pycache__/serverrequests.cpython-39.pyc | Bin 827 -> 820 bytes client/data.json | 2 +- client/engine.py | 2 +- server/main.py | 136 ++++++++---------- 4 files changed, 59 insertions(+), 81 deletions(-) diff --git a/client/__pycache__/serverrequests.cpython-39.pyc b/client/__pycache__/serverrequests.cpython-39.pyc index 9bfeb948f66e29e39d0a43db0d1f8a66eae58ee8..0e5dd6cbc4c9c02b1a543494516227aead5fca1c 100644 GIT binary patch delta 48 zcmdnZwuOy5k(ZZ?0SH1Pj5l&eGm7asTg8MHrxq2*q-4an>iQ<;C8nnqZEj}V!3Y2& Ctqs%w delta 55 ycmdnOwwsMRk(ZZ?0SNLr6gP55Gs>EJSj8k3C8cJT6qjU{q~@S-HrFujU<3e{mk~(- diff --git a/client/data.json b/client/data.json index 1387605..92c57f9 100644 --- a/client/data.json +++ b/client/data.json @@ -1 +1 @@ -{"2024-04-19 16:47": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 94190, "pac": 7661, "total_energy": 59918400, "year_energy": 8832601}, "Fronius_15kW": {"success": true, "day_energy": 38010, "pac": 3060, "total_energy": 31373402, "year_energy": 3576175}, "Fronius_20kW": {"success": true, "day_energy": 56180, "pac": 4601, "total_energy": 28544998, "year_energy": 5256426}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 17.65, "Current_AC_Phase_2": 25.9, "Current_AC_Phase_3": 22.3, "PowerReal_P_Sum": 15015.1}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 17.65, "Current_AC_Phase_2": 25.9, "Current_AC_Phase_3": 22.3, "PowerReal_P_Sum": 15015.1}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.69}}}} \ No newline at end of file +{"2024-05-02 11:58": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 60188, "pac": 19055, "total_energy": 61766202, "year_energy": 10680406}, "Fronius_15kW": {"success": true, "day_energy": 24528, "pac": 7793, "total_energy": 32134202, "year_energy": 4337033}, "Fronius_20kW": {"success": true, "day_energy": 35660, "pac": 11262, "total_energy": 29632000, "year_energy": 6343373}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": -8.15, "Current_AC_Phase_2": -7.35, "Current_AC_Phase_3": -1.935, "PowerReal_P_Sum": -3315.2}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": -8.15, "Current_AC_Phase_2": -7.35, "Current_AC_Phase_3": -1.935, "PowerReal_P_Sum": -3315.2}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 11:59": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 60635, "pac": 30275, "total_energy": 61766598, "year_energy": 10680856}, "Fronius_15kW": {"success": true, "day_energy": 24715, "pac": 12620, "total_energy": 32134400, "year_energy": 4337219}, "Fronius_20kW": {"success": true, "day_energy": 35920, "pac": 17655, "total_energy": 29632198, "year_energy": 6343637}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": -22.6, "Current_AC_Phase_2": -22.25, "Current_AC_Phase_3": -17.2, "PowerReal_P_Sum": -14406.7}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": -22.6, "Current_AC_Phase_2": -22.25, "Current_AC_Phase_3": -17.2, "PowerReal_P_Sum": -14406.7}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:00": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 61113, "pac": 30275, "total_energy": 61767098, "year_energy": 10681332}, "Fronius_15kW": {"success": true, "day_energy": 24913, "pac": 12620, "total_energy": 32134598, "year_energy": 4337418}, "Fronius_20kW": {"success": true, "day_energy": 36200, "pac": 17655, "total_energy": 29632500, "year_energy": 6343914}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": -22.75, "Current_AC_Phase_2": -22.3, "Current_AC_Phase_3": -17.15, "PowerReal_P_Sum": -14341.4}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": -22.75, "Current_AC_Phase_2": -22.3, "Current_AC_Phase_3": -17.15, "PowerReal_P_Sum": -14341.4}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:01": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 61421, "pac": 19452, "total_energy": 61767404, "year_energy": 10681643}, "Fronius_15kW": {"success": true, "day_energy": 25041, "pac": 8014, "total_energy": 32134702, "year_energy": 4337546}, "Fronius_20kW": {"success": true, "day_energy": 36380, "pac": 11438, "total_energy": 29632702, "year_energy": 6344097}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": -7.9, "Current_AC_Phase_2": -5.8, "Current_AC_Phase_3": -2.119, "PowerReal_P_Sum": -3180.8}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": -7.9, "Current_AC_Phase_2": -5.8, "Current_AC_Phase_3": -2.119, "PowerReal_P_Sum": -3180.8}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:02": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 61727, "pac": 18374, "total_energy": 61767800, "year_energy": 10681952}, "Fronius_15kW": {"success": true, "day_energy": 25167, "pac": 7580, "total_energy": 32134900, "year_energy": 4337672}, "Fronius_20kW": {"success": true, "day_energy": 36560, "pac": 10794, "total_energy": 29632900, "year_energy": 6344280}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": -7.3, "Current_AC_Phase_2": -5.15, "Current_AC_Phase_3": -1.405, "PowerReal_P_Sum": -2334.3}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": -7.3, "Current_AC_Phase_2": -5.15, "Current_AC_Phase_3": -1.405, "PowerReal_P_Sum": -2334.3}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:03": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 62094, "pac": 20579, "total_energy": 61768104, "year_energy": 10682315}, "Fronius_15kW": {"success": true, "day_energy": 25314, "pac": 8313, "total_energy": 32135002, "year_energy": 4337820}, "Fronius_20kW": {"success": true, "day_energy": 36780, "pac": 12266, "total_energy": 29633102, "year_energy": 6344495}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": -8.75, "Current_AC_Phase_2": -7.8, "Current_AC_Phase_3": -4, "PowerReal_P_Sum": -4270.9}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": -8.75, "Current_AC_Phase_2": -7.8, "Current_AC_Phase_3": -4, "PowerReal_P_Sum": -4270.9}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:04": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 62463, "pac": 17693, "total_energy": 61768500, "year_energy": 10682682}, "Fronius_15kW": {"success": true, "day_energy": 25463, "pac": 7237, "total_energy": 32135200, "year_energy": 4337968}, "Fronius_20kW": {"success": true, "day_energy": 37000, "pac": 10456, "total_energy": 29633300, "year_energy": 6344714}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": -5.25, "Current_AC_Phase_2": -3.9, "Current_AC_Phase_3": 1.184, "PowerReal_P_Sum": -1602.8}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": -5.25, "Current_AC_Phase_2": -3.9, "Current_AC_Phase_3": 1.184, "PowerReal_P_Sum": -1602.8}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:05": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 62704, "pac": 15104, "total_energy": 61768702, "year_energy": 10682928}, "Fronius_15kW": {"success": true, "day_energy": 25564, "pac": 6204, "total_energy": 32135300, "year_energy": 4338071}, "Fronius_20kW": {"success": true, "day_energy": 37140, "pac": 8900, "total_energy": 29633402, "year_energy": 6344857}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 3.55, "Current_AC_Phase_2": -1.719, "Current_AC_Phase_3": 4.55, "PowerReal_P_Sum": 1085.2}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 3.55, "Current_AC_Phase_2": -1.719, "Current_AC_Phase_3": 4.55, "PowerReal_P_Sum": 1085.2}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:06": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 62974, "pac": 13784, "total_energy": 61768998, "year_energy": 10683193}, "Fronius_15kW": {"success": true, "day_energy": 25674, "pac": 5643, "total_energy": 32135398, "year_energy": 4338179}, "Fronius_20kW": {"success": true, "day_energy": 37300, "pac": 8141, "total_energy": 29633600, "year_energy": 6345014}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 4.35, "Current_AC_Phase_2": -1.259, "Current_AC_Phase_3": 4.55, "PowerReal_P_Sum": 1055.8}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 4.35, "Current_AC_Phase_2": -1.259, "Current_AC_Phase_3": 4.55, "PowerReal_P_Sum": 1055.8}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:07": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 63194, "pac": 13448, "total_energy": 61769202, "year_energy": 10683411}, "Fronius_15kW": {"success": true, "day_energy": 25764, "pac": 5509, "total_energy": 32135502, "year_energy": 4338269}, "Fronius_20kW": {"success": true, "day_energy": 37430, "pac": 7939, "total_energy": 29633700, "year_energy": 6345142}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 4.65, "Current_AC_Phase_2": -0.819, "Current_AC_Phase_3": 5, "PowerReal_P_Sum": 1433.7}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 4.65, "Current_AC_Phase_2": -0.819, "Current_AC_Phase_3": 5, "PowerReal_P_Sum": 1433.7}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:08": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 63412, "pac": 14142, "total_energy": 61769404, "year_energy": 10683631}, "Fronius_15kW": {"success": true, "day_energy": 25852, "pac": 5795, "total_energy": 32135502, "year_energy": 4338357}, "Fronius_20kW": {"success": true, "day_energy": 37560, "pac": 8347, "total_energy": 29633902, "year_energy": 6345274}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 4.05, "Current_AC_Phase_2": -1.835, "Current_AC_Phase_3": 5.2, "PowerReal_P_Sum": 1322.9}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 4.05, "Current_AC_Phase_2": -1.835, "Current_AC_Phase_3": 5.2, "PowerReal_P_Sum": 1322.9}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 12:09": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 63636, "pac": 14457, "total_energy": 61769600, "year_energy": 10683857}, "Fronius_15kW": {"success": true, "day_energy": 25946, "pac": 5921, "total_energy": 32135600, "year_energy": 4338451}, "Fronius_20kW": {"success": true, "day_energy": 37690, "pac": 8536, "total_energy": 29634000, "year_energy": 6345406}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 4.1, "Current_AC_Phase_2": -2.304, "Current_AC_Phase_3": 4, "PowerReal_P_Sum": 128.2}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 4.1, "Current_AC_Phase_2": -2.304, "Current_AC_Phase_3": 4, "PowerReal_P_Sum": 128.2}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.81}}}, "2024-05-02 13:10": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 70637, "pac": 2107, "total_energy": 61776600, "year_energy": 10690855}, "Fronius_15kW": {"success": true, "day_energy": 28807, "pac": 841, "total_energy": 32138500, "year_energy": 4341312}, "Fronius_20kW": {"success": true, "day_energy": 41830, "pac": 1266, "total_energy": 29638100, "year_energy": 6349543}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 19.55, "Current_AC_Phase_2": 15.5, "Current_AC_Phase_3": 19.7, "PowerReal_P_Sum": 12268.4}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 19.55, "Current_AC_Phase_2": 15.5, "Current_AC_Phase_3": 19.7, "PowerReal_P_Sum": 12268.4}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.44}}}, "2024-05-02 13:11": {"producer_values": {"Producer_sum": {"success": true, "day_energy": 70670, "pac": 2244, "total_energy": 61776600, "year_energy": 10690890}, "Fronius_15kW": {"success": true, "day_energy": 28820, "pac": 900, "total_energy": 32138500, "year_energy": 4341326}, "Fronius_20kW": {"success": true, "day_energy": 41850, "pac": 1344, "total_energy": 29638100, "year_energy": 6349564}}, "meter_values": {"Meter_Sum": {"success": true, "Current_AC_Phase_1": 18.8, "Current_AC_Phase_2": 14.85, "Current_AC_Phase_3": 19.4, "PowerReal_P_Sum": 11908.6}, "Meter_Fronius": {"success": true, "Current_AC_Phase_1": 18.8, "Current_AC_Phase_2": 14.85, "Current_AC_Phase_3": 19.4, "PowerReal_P_Sum": 11908.6}}, "user_values": {"User_data": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 0, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 1, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 3, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.0": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.1": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.2": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Umod2.3": {"Current_Power": 0, "Used_Energy": 6, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "Usta2.0": {"Current_Power": 0, "Used_Energy": 4, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 0}, "shelly_Boiler": {"Current_Power": 0, "Used_Energy": 0, "Current_Prio": 2, "Current_deltaPower": 0, "measured_Temp": 21.44}}}} \ No newline at end of file diff --git a/client/engine.py b/client/engine.py index 47405d0..4fbe840 100644 --- a/client/engine.py +++ b/client/engine.py @@ -54,7 +54,7 @@ while True: for user in users: user.calc_used_power() - main.EnergyUserFactory.distribute_energy(users, -1*(meter_values["Meter_Sum"]["PowerReal_P_Sum"])) + main.EnergyUserFactory.distribute_energy(users, 1*(meter_values["Meter_Sum"]["PowerReal_P_Sum"])) user_values = energyuser.EnergyUser.get_all_current_values(users) try: diff --git a/server/main.py b/server/main.py index d95fbd5..851377e 100644 --- a/server/main.py +++ b/server/main.py @@ -1,49 +1,61 @@ from flask import Flask, request, jsonify +import influxdb_client import os import json from datetime import datetime +from pytz import timezone app = Flask(__name__) +# InfluxDB-Verbindungsinformationen +INFLUXDB_HOST = 'http://192.168.20.21:8086' +INFLUXDB_PORT = 8086 +INFLUXDB_TOKEN = 'yjgsLHr3Fxj6LwCRvJlPSMTkTg7CwEn2ajsAeaxLHIZ_17ZHyUUn7P9nCpkdioOexDlWq73zTatmZ_ajvTPozA==' +INFLUXDB_ORG = 'Belevo AG' +INFLUXDB_BUCKET = 'E-Manger_Demo' + + +# InfluxDB-Client initialisieren +influx_client = influxdb_client.InfluxDBClient(url=INFLUXDB_HOST, token=INFLUXDB_TOKEN, org=INFLUXDB_ORG) +# Route to get configuration # Route to get configuration @app.route('/getconfig', methods=['POST']) def get_config(): - try: + #try: token_id = request.headers.get('ID') if not token_id: return jsonify({'error': 'Token ID is missing'}), 400 - config_file = os.path.join('config', f'{token_id}.json') - data_file = os.path.join('data', f'{token_id}.json') # angenommen, die Daten befinden sich im Ordner 'data' - - if not os.path.exists(config_file): - return jsonify({'error': 'Config not found for the specified token'}), 404 - - with open(config_file, 'r') as file: - config = json.load(file) - - # Extract and include last timestamp in the response - if os.path.exists(data_file): - with open(data_file, 'r') as file: - data = json.load(file) - try: - last_timestamp = max(data.keys()) # Den neuesten Zeitstempel aus den Schlüsseln der Daten extrahieren - print(last_timestamp) - config['last_timestamp'] = last_timestamp - except ValueError: - config['last_timestamp'] = 0 + # Query to get the latest timestamp from InfluxDB + query = f'from(bucket: "{INFLUXDB_BUCKET}") |> range(start: -1d) |> filter(fn: (r) => r._measurement == "{token_id}") |> last()' + result = influx_client.query_api().query(query) + records = list(result) + + if records: + last_timestamp = records[0].records[0].get_time() + last_timestamp = last_timestamp.strftime('%Y-%m-%d %H:%M') else: - config['last_timestamp'] = 0 + # Set last timestamp to epoch time if no records found + last_timestamp = datetime(1970, 1, 1).strftime('%Y-%m-%d %H:%M') + + # Load config from JSON file + config_file = os.path.join('config', f'{token_id}.json') + if os.path.exists(config_file): + with open(config_file, 'r') as file: + config = json.load(file) + else: + config = {} + + # Add last timestamp to config + config['last_timestamp'] = last_timestamp return jsonify(config), 200 - except Exception as e: - return jsonify({'error': str(e)}), 500 + #except Exception as e: + # return jsonify({'error': str(e)}), 500 + # Route to set new data - - - @app.route('/setdata', methods=['POST']) def set_data(): # Token-ID aus den Request-Headern extrahieren @@ -56,67 +68,33 @@ def set_data(): # Versuche, das JSON zu laden new_data = json.loads(new_data) except json.JSONDecodeError: - # Wenn das JSON nicht korrekt formatiert ist, schreibe das neue JSON in die Datei und beende die Funktion - write_json_file(token_id, new_data) - return 'Invalid JSON format. New JSON data has been written to the file and overwritten existing data.' + # Wenn das JSON nicht korrekt formatiert ist, schreibe das neue JSON in die Datenbank und beende die Funktion + write_to_influx(token_id, new_data) + return 'Invalid JSON format. New JSON data has been written to InfluxDB and overwritten existing data.' - # Pfad zum Datenordner und Datei für die Token-ID erstellen - data_folder = 'data' - file_path = os.path.join(data_folder, f'{token_id}.json') - - # Überprüfen, ob die Datei existiert und Daten enthält - if os.path.exists(file_path) and os.path.getsize(file_path) > 0: - # Bestehende Daten aus der Datei laden - with open(file_path, 'r') as file: - existing_data = json.load(file) - - # Merge der beiden JSON-Objekte - merged_data = merge_json(existing_data, new_data) - else: - # Wenn die Datei nicht existiert oder leer ist, neue Daten verwenden - merged_data = new_data - - # Daten in die Datei schreiben - with open(file_path, 'w') as file: - json.dump(merged_data, file) + # Daten in die InfluxDB schreiben + write_to_influx(token_id, new_data) return 'Data successfully set!' -def write_json_file(token_id, new_data): +def write_to_influx(token_id, json_data): """ - Funktion zum Schreiben von JSON-Daten in eine Datei. + Funktion zum Schreiben von Daten in InfluxDB. """ - # Pfad zum Datenordner und Datei für die Token-ID erstellen - data_folder = 'data' - file_path = os.path.join(data_folder, f'{token_id}.json') - - # Neue Daten in die Datei schreiben - with open(file_path, 'w') as file: - json.dump(new_data, file) - -def merge_json(json1, json2): - # Wenn ein JSON leer ist, gib einfach das andere zurück - if not json1: - return json2 - if not json2: - return json1 - - # Erstelle eine Kopie des ersten JSON - merged_data = json1.copy() - - # Füge die Timestamps aus dem zweiten JSON ein, falls sie nicht bereits im ersten JSON vorhanden sind - for timestamp, values in json2.items(): - if timestamp not in merged_data: - merged_data[timestamp] = values - - return merged_data - - - - + json_body = [ + { + "measurement": token_id, # Verwende die Token-ID als Messungsnamen + "fields": { + "data": json.dumps(json_data) # Das gesamte JSON als Text speichern + } + } + ] + # Datenpunkt in die InfluxDB einfügen + influx_client.write_api().write(bucket=INFLUXDB_BUCKET, org=INFLUXDB_ORG, record=json_body) if __name__ == '__main__': - app.run(debug=False) + app.run(debug=False, host="127.0.0.1")#, port=5000) + #app.run(host="0.0.0.0", port=5000) \ No newline at end of file