3
3
import json
4
4
import pathlib
5
5
6
- import data
7
- import log
8
- import timecheck
6
+ from . import data
7
+ from .. helpermodules import log
8
+ from .. helpermodules import timecheck
9
9
10
10
def save_daily_log ():
11
11
""" erstellt für jeden Tag eine Datei, die die Daten für den Langzeitgraph enthält.
@@ -16,23 +16,42 @@ def save_daily_log():
16
16
"cp1": {
17
17
"counter": Zählerstand in Wh,
18
18
}
19
- ... (dynamsich, je nach Anzahl konfigurierter Ladepunkte )
19
+ ... (dynamsich, je nach konfigurierter Anzahl )
20
20
}
21
21
"ev": {
22
22
"ev1": {
23
23
"soc": int in %
24
24
}
25
- ... (dynamsich, je nach Anzahl konfigurierter Ladepunkte )
25
+ ... (dynamsich, je nach konfigurierter Anzahl )
26
26
}
27
- "counter0": {
28
- "imported": Wh,
29
- "exported": Wh
27
+ "counter": {
28
+ "counter0": {
29
+ "imported": Wh,
30
+ "exported": Wh
31
+ }
32
+ ... (dynamsich, je nach konfigurierter Anzahl)
33
+ }
34
+ "pv": {
35
+ "all": {
36
+ "counter": Wh
37
+ }
38
+ "pv0": {
39
+ "counter": Wh
40
+ }
41
+ ... (dynamsich, je nach konfigurierter Anzahl)
30
42
}
31
- "pv_all": Wh
32
- "bat_all": {
33
- "imported": Wh,
34
- "exported": Wh,
35
- "soc": int in %
43
+ "bat": {
44
+ "all": {
45
+ "imported": Wh,
46
+ "exported": Wh,
47
+ "soc": int in %
48
+ }
49
+ "bat0": {
50
+ "imported": Wh,
51
+ "exported": Wh,
52
+ "soc": int in %
53
+ }
54
+ ... (dynamsich, je nach konfigurierter Anzahl)
36
55
}
37
56
"smarthome_devices": {
38
57
"device1": {
@@ -63,20 +82,39 @@ def save_daily_log():
63
82
except Exception as e :
64
83
log .exception_logging (e )
65
84
85
+ counter_dict = {}
86
+ for counter in data .data .counter_data :
87
+ try :
88
+ if "counter" in counter :
89
+ counter_dict .update ({counter : {"imported" : data .data .counter_data [counter ].data ["get" ]["imported" ],
90
+ "exported" : data .data .counter_data [counter ].data ["get" ]["exported" ]}})
91
+ except Exception as e :
92
+ log .exception_logging (e )
93
+
94
+ pv_dict = {}
95
+ for pv in data .data .pv_data :
96
+ try :
97
+ pv_dict .update ({pv : {"imported" : data .data .pv_data [pv ].data ["get" ]["counter" ]}})
98
+ except Exception as e :
99
+ log .exception_logging (e )
100
+
101
+ bat_dict = {}
102
+ for bat in data .data .bat_module_data :
103
+ try :
104
+ if "bat" in bat :
105
+ bat_dict .update ({bat : {"imported" : data .data .bat_module_data [bat ].data ["get" ]["imported" ],
106
+ "exported" : data .data .bat_module_data [bat ].data ["get" ]["exported" ],
107
+ "soc" : data .data .bat_module_data [bat ].data ["get" ]["soc" ]}})
108
+ except Exception as e :
109
+ log .exception_logging (e )
110
+
66
111
new_entry = {
67
112
"date" : timecheck .create_timestamp_time (),
68
113
"cp" : cp_dict ,
69
114
"ev" : ev_dict ,
70
- "counter0" : {
71
- "imported" : data .data .counter_data ["counter0" ].data ["get" ]["imported" ],
72
- "exported" : data .data .counter_data ["counter0" ].data ["get" ]["exported" ]
73
- },
74
- "pv_all" : data .data .pv_data ["all" ].data ["get" ]["counter" ],
75
- "bat_all" : {
76
- "imported" : data .data .bat_module_data ["all" ].data ["get" ]["imported" ],
77
- "exported" : data .data .bat_module_data ["all" ].data ["get" ]["exported" ],
78
- "soc" : data .data .bat_module_data ["all" ].data ["get" ]["soc" ]
79
- }
115
+ "counter" : counter_dict ,
116
+ "pv" : pv_dict ,
117
+ "bat" : bat_dict
80
118
}
81
119
82
120
# json-Objekt in Datei einfügen
0 commit comments