@@ -430,9 +430,9 @@ def calc_energy_imported_by_source(energy_imported, energy_source):
430430 if "all" in entry ["hc" ].keys ():
431431 entry ["hc" ]["all" ][f"energy_imported_{ source } " ] = calc_energy_imported_by_source (
432432 entry ["hc" ]["all" ]["energy_imported" ], entry ["energy_source" ][source ])
433- if "all" in entry ["cp" ].keys ():
434- entry ["cp" ]["all" ][f"energy_imported_{ source } " ] = calc_energy_imported_by_source (
435- entry ["cp" ]["all" ]["energy_imported" ], entry ["energy_source" ][source ])
433+ for key in entry ["cp" ].keys ():
434+ entry ["cp" ][key ][f"energy_imported_{ source } " ] = calc_energy_imported_by_source (
435+ entry ["cp" ][key ]["energy_imported" ], entry ["energy_source" ][source ])
436436 for counter in entry ["counter" ].values ():
437437 if counter ["exported" ] == 0 :
438438 counter [f"energy_imported_{ source } " ] = calc_energy_imported_by_source (
@@ -450,13 +450,15 @@ def analyse_percentage_totals(entries, totals):
450450 totals [section ]["all" ] = {}
451451 for source in ("grid" , "pv" , "bat" , "cp" ):
452452 totals ["hc" ]["all" ].update ({f"energy_imported_{ source } " : 0 })
453- totals ["cp" ]["all" ].update ({f"energy_imported_{ source } " : 0 })
454453 for entry in entries :
455454 if "hc" in entry .keys () and "all" in entry ["hc" ].keys ():
456455 totals ["hc" ]["all" ][f"energy_imported_{ source } " ] += entry ["hc" ]["all" ].get (
457456 f"energy_imported_{ source } " , 0 )* 1000
458- if "all" in entry ["cp" ].keys () and f"energy_imported_{ source } " in entry ["cp" ]["all" ].keys ():
459- totals ["cp" ]["all" ][f"energy_imported_{ source } " ] += entry ["cp" ]["all" ][f"energy_imported_{ source } " ]* 1000
457+ for key in entry ["cp" ].keys ():
458+ if f"energy_imported_{ source } " in entry ["cp" ][key ].keys ():
459+ if totals ["cp" ][key ].get (f"energy_imported_{ source } " ) is None :
460+ totals ["cp" ][key ].update ({f"energy_imported_{ source } " : 0 })
461+ totals ["cp" ][key ][f"energy_imported_{ source } " ] += entry ["cp" ][key ][f"energy_imported_{ source } " ]* 1000
460462 for key , counter in entry ["counter" ].items ():
461463 if counter ["exported" ] == 0 :
462464 if totals ["counter" ][key ].get (f"energy_imported_{ source } " ) is None :
0 commit comments