Yes, of course that’s true.
There must be some trigger to the database to make it aware of the aggregation step - can the time that this occurs be changed to the local timezone?
No, in fact that’s not the case. Aggregation is done every time a new bit of data is added to the database. The boundaries for each aggregation are simply the (UTC) timestamp rounded to the nearest minute/hour/whatever interval. So, in fact, hourly aggregation would suffer from the same problem in a timezone which had a half-hour offset.
This is not a huge deal for me - I could just plot hourly data, but I do think it is nice to be able to see data aggregated over a "local" day in some situations.
Yes, I can see that’s desirable. I think, in the end, you just have to accept the limitations of what is a rather simple implementation of a data historian - it’s not a fully-fledged database with a footprint to match. I decided on Whisper originally because it had a fixed file size and wouldn’t tax Vera hardware. Now we’re running it on more capable machines.
The Graphite_API backend to which Grafana interfaces has a plug-in feature which makes it easy to add new databases. The implementation is already able to federate data from both Whisper and dataMine. It would be relatively straight-forward to add an SQL database. You’d have to arrange to write data to it, but Grafana could pull it out and plot it along with other data. Grafana, itself, of course, already has its own interfaces to: CloudWatch, elasticsearch, InfluxDB, openTSDB, and Prometheus. It would also be simple enough to register any one of these as an AltUI Data Storage Provider (it already has emoncms and thingspeak.)