In the end I found something like this:
thanks!
Blockquote
def getgenerationdata(owner, selected_areas):
try:
total_pgen = 0
total_pmax = 0
areanumbers = [area[0] for area in selectedareas]
ierr = psspy.bsys(0, 0, [1.0, 220.], len(areanumbers), areanumbers, 0, [], 1, [owner], 0, [])
if error:
print(f"Error defining base system for owner {owner}: {ierr}")
return 0, 0, 0
ierr, pgen = psspy.amachreal(0, 1, 'PGEN')
if error:
print(f"Error getting active supplier of {owner}: {ierr}")
otherwise:
total_pgen = sum(pgen[0])
ierr, pmax = psspy.amachreal(0, 2, 'PMAX')
if error:
print(f"Error getting maximum power of {owner}: {ierr}")
otherwise:
total_pmax = sum(pmax[0])
percentage = (totalpgen / totalpmax * 100) if total_pmax else 0
return totalpgen, totalpmax, percentage
except:
print(f"Unexpected error getting production data for owner {owner}: {sys.exc_info()[0]}")
return 0, 0, 0
Blockquote