Hello!
Just winging it here...I dont have a rrd dataset to reproduce the problem or test any solutions...
It looks like most (all?) rrd's are setup to hold 2284 days (6.25yr) of data. Once hit, the consolidation strategy must push the resolution out to 7200sec (?).
You could always increase the max. Is 10 years enough? Maybe 12years? There would need to be special update scripts to "resize GROW" all the current data. Yuk!
Maybe just add any possible resolutions to timelookup? What if rrd starts using one that wasnt added?
The simplest solution might be to just convert the timeformat assignment to a ternary operator, like :
var timeFormat = (timeLookup.hasOwnProperty([data[0].step]) ? timeLookup[data[0].step] : "%Y-%m-%d");
Maybe you could backup/zip/post your rrd data set so others could load/test possible solutions?
It is pretty cool that pfsense has the durability/longevity to run into this sort of problem :).
John