I had a close look at this class and found the integrating over an hour just does an average shading over 6 datapoint of that hour to clacualte the power/energy for that hour. What could be quite easily implemented is to pull the vector-product of solar position and normal vector of the panel into the loop for shading, so for each shading factor you could get an individual vector product. Also I wonder if it makes sense to interpolate the data from open meteo during this hour instead of taking the same weather for the whole hour?
Since this is class is at the heart of how the app works, I am reluctant to try to improve it myself. It is years ago I did anything with Java and I never really liked it. Still, just pulling the vector product in the shading loop... that I should be able to do, but interpolation of weather data would mean a complete re-structuing of the getPower function and its input variables and all the places where getPower is used and that is definitely beyond my comfort zone.
Btw: The reason why I looked that close into the class was, that I translated the class to python, so I can reproduce the forcast in python to ultimatly optimize my settings by comparing real production data against forcasted values... For anyone interested, I will upload the class in my own repo (doesn't exist yet) once I finished testing its output.
I had a close look at this class and found the integrating over an hour just does an average shading over 6 datapoint of that hour to clacualte the power/energy for that hour. What could be quite easily implemented is to pull the vector-product of solar position and normal vector of the panel into the loop for shading, so for each shading factor you could get an individual vector product. Also I wonder if it makes sense to interpolate the data from open meteo during this hour instead of taking the same weather for the whole hour?
Since this is class is at the heart of how the app works, I am reluctant to try to improve it myself. It is years ago I did anything with Java and I never really liked it. Still, just pulling the vector product in the shading loop... that I should be able to do, but interpolation of weather data would mean a complete re-structuing of the getPower function and its input variables and all the places where getPower is used and that is definitely beyond my comfort zone.
Btw: The reason why I looked that close into the class was, that I translated the class to python, so I can reproduce the forcast in python to ultimatly optimize my settings by comparing real production data against forcasted values... For anyone interested, I will upload the class in my own repo (doesn't exist yet) once I finished testing its output.