@@ -275,36 +275,35 @@ def get_last_info_from_csv(
275275 ZONE_INFO_SERVER
276276 )
277277 if last_date_server > date_start_server :
278- last_date_server += relativedelta (hours = 1 ) # start with next hour
279278 date_start_server = last_date_server
280279 log (f" { last_date_str } " )
281280
282281 return date_start_server , last_kwh , last_d , last_w , last_m , last_y
283282
284283
285284def compute (
286- fixed : tuple [float , float , datetime ],
287- delta_x : float ,
285+ fixed : tuple [float , float , datetime ], # delta_kwh, prev_kwh, prev_date
286+ cum_x : float ,
288287 no_change : bool ,
289288 fileinfo : FileInfo ,
290289) -> float :
291290 """compute"""
292291 delta_kwh = fixed [0 ]
293292 new_delta_x = 0.0
294293 if no_change :
295- new_delta_x = delta_x + delta_kwh
294+ new_delta_x = cum_x + delta_kwh
296295 _ = D and dbg (
297- f"delta_kwh: { delta_kwh :.2f} delta_x: { delta_x :.2f} new_delta_x: { new_delta_x :.2f} " # noqa
296+ f"delta_kwh: { delta_kwh :.2f} delta_x: { cum_x :.2f} new_delta_x: { new_delta_x :.2f} " # noqa
298297 )
299298 else :
300299 new_delta_x = delta_kwh
301300 _ = D and dbg (
302- f"Change: delta_kwh: { delta_kwh :.2f} delta_x: { delta_x :.2f} new_delta_x: { new_delta_x :.2f} " # noqa
301+ f"Change: delta_kwh: { delta_kwh :.2f} delta_x: { cum_x :.2f} new_delta_x: { new_delta_x :.2f} " # noqa
303302 )
304303 # append the previous day/week/month/year value to the summary csv file
305304 prev_kwh = fixed [1 ]
306305 prev_date = fixed [2 ]
307- line = f"{ local_dt_str (prev_date )} , { prev_kwh :.2f} , { delta_x :.2f} "
306+ line = f"{ local_dt_str (prev_date )} , { prev_kwh :.2f} , { cum_x :.2f} "
308307 write_line (fileinfo , line )
309308
310309 return new_delta_x
@@ -326,15 +325,16 @@ def do_kwh_counters() -> None:
326325 (
327326 date_start_server ,
328327 prev_kwh ,
329- delta_d ,
330- delta_w ,
331- delta_m ,
332- delta_y ,
328+ cum_d ,
329+ cum_w ,
330+ cum_m ,
331+ cum_y ,
333332 ) = get_last_info_from_csv (Path (f"{ DEVICE_NAME } .csv" ))
333+ prev_date = date_start_server .astimezone (ZONE_INFO_LOCAL )
334+ date_start_server += relativedelta (hours = 1 ) # start with next hour
334335 log (f"date_start local: { date_start_server .astimezone (ZONE_INFO_LOCAL )} " )
335336 log (f"now local : { now_server .astimezone (ZONE_INFO_LOCAL )} " )
336337 while date_start_server < now_server :
337- prev_date = date_start_server .astimezone (ZONE_INFO_LOCAL )
338338 date_end_server = date_start_server + relativedelta (months = 1 )
339339 log (
340340 f"{ DEVICE_NAME } : from { date_start_server .astimezone (ZONE_INFO_LOCAL )} to { date_end_server .astimezone (ZONE_INFO_LOCAL )} " # noqa
@@ -373,12 +373,12 @@ def do_kwh_counters() -> None:
373373 )
374374
375375 fixed = (delta_kwh , prev_kwh , prev_date )
376- delta_d = compute (fixed , delta_d , same_day (prev_date , date ), CSV_DAYS )
377- delta_w = compute (fixed , delta_w , same_week (prev_date , date ), CSV_WEEKS )
378- delta_m = compute (fixed , delta_m , same_month (prev_date , date ), CSV_MONTHS )
379- delta_y = compute (fixed , delta_y , same_year (prev_date , date ), CSV_YEARS )
376+ cum_d = compute (fixed , cum_d , same_day (prev_date , date ), CSV_DAYS )
377+ cum_w = compute (fixed , cum_w , same_week (prev_date , date ), CSV_WEEKS )
378+ cum_m = compute (fixed , cum_m , same_month (prev_date , date ), CSV_MONTHS )
379+ cum_y = compute (fixed , cum_y , same_year (prev_date , date ), CSV_YEARS )
380380
381- line = f"{ local_dt_str (date )} , { kwh :.2f} , { delta_kwh :.2f} , { delta_d :.2f} , { delta_w :.2f} , { delta_m :.2f} , { delta_y :.2f} " # noqa
381+ line = f"{ local_dt_str (date )} , { kwh :.2f} , { delta_kwh :.2f} , { cum_d :.2f} , { cum_w :.2f} , { cum_m :.2f} , { cum_y :.2f} " # noqa
382382 write_line (CSV_GLOBAL , line )
383383
384384 prev_kwh = kwh
0 commit comments