You are absolutely right that there’s a difference of exactly 30 minutes and, a least for the LBT plugin, the fact that the sun position falls on the half-hour is intentional (eg. 0:30, 1:30, 2:30, etc.).
The reason why the LBT plugin uses a sun position on the half hour goes back to a quirk of the EPW file format - that the EPW starts counting from 1:00 as the first hour of the year (not midnight as you would expect). However, the radiation value at 1:00 (and for all following hours) is meant to be a cumulative radiation value over the whole previous hour. So, if we had to assume a sun position that best aligns with the EPW radiation values, it would be that of the previous half hour (0:30 for the first hour of the EPW).
So I feel pretty confident saying that the LBT method is correct or it’s at least more correct than it would be if we used solar positions on the hour.
I didn’t really have much of a hand in putting together Honeybee[+]. @mostapha and @sarith did most of the work on HB[+] and maybe they had a reason for using sun positions on the hour instead of the half hour. It’s also possible that Honeybee[+] is just older and we all didn’t have as much of an understanding of this quirk of the EPW file at the time. I didn’t really understand it until I realized that it permeates the whole EnergyPlus application (implementing EnergyPlus schedules was exhausting because of this). It’s probably a major reason why this E+ GitHub issue has so many .
In any event, hopefully the 30-minute difference in sun positions over the whole year doesn’t make a huge difference in cumulative radiation, even though I know it looks big on an hour-by-hour basis.