rrd4j data way out of date in habmin

my persisted items are showing up fine in habmin, and i can chart them in my sitemap and get up to date data, so i believe the persistence itself is working fine. but when i graph them in the habmin interface, or look at the tabular data, it’s 12 hours or so behind.

habmin is such a great interface for exploring this data, and i recently discovered that the on-disk .rrd files aren’t compatible with rrdtool, so i don’t really have another good way of looking at it, besides manipulating item grouping and creating charts in my sitemap. not an awesome workaround…

i found one or two other threads where people mentioned seeing this, wondering if anyone else has hit this and found a usable solution?

I looked at two different rrd4j persistent items via habmin and they show up with the correct time.

Time screenshot taken was 10:49 and 10:51.

Are you using the “everyMinute” strategy?

I was one of those to hit it, but unfortunately, I haven’t found a solution.
Worth to mention that for me, it seems to happen on binary values only, i.e. switches and contacts, and it’s exactly 12 hours behind.
It may or may not be related to rrd4j’s compression, but I doubt it because for values older than 12h, charting seems to be correct.

@chris, have you ever looked into this ?

No, I’ve not looked. Is it related to timezone or anything like that? If you look at the raw data from REST and convert the times, are they right?

thanks @mstormi, i am seeing this only with binary values. weird.

@sihui, thanks, i’m using this strategy line:

 Persist* : strategy = everyMinute, everyChange, restoreOnStartup

so, unless the other entries are somehow interfering with things, i should be getting at least one update per minute…

@chris, good idea, i’m trying to use the interface according to https://github.com/cdjackson/HABmin/wiki/REST-Persistence, but getting empty results for persistence. other queries work, though, and habmin persistence is working too, so i dunno what i’m doing wrong…

examples i’ve tried:

% curl --insecure “https://user:pass@myhost:8444/rest/items
(big list of items follows)
% curl --insecure “https://user:pass@myhost:8444/rest/persistence/items
% curl --insecure “https://user:pass@myhost:8444/rest/persistence/services
% curl --insecure “https://user:pass@myhost:8444/rest/persistence/rrd4j/Apartment_FrontDoor

@chris, i used firefox network monitor to watch what the habmin interface was doing, then i manually requested persistence data like so:

% curl "http://user:pass@localhost:8011/services/habmin/persistence/services/rrd4j/Kitchen_Light" ... <data><time>1461448185923</time><state>0.0</state></data></history>

then i used python time.ctime(timestamp/1000) to convert to human readable times.

the last timestamp on the binary device i tested was within a couple seconds of that of the multilevel device i tested. however, in the UI, when i graph the two the graph for the binary device stops way short of the multilevel device, and in the table view the timestamps for the binary device stop over 12 hours before the present, whereas the multilevel timestamps go right up to the present.

so…looks like a ui issue of some sort? i know you’re mostly working on habmin2 at this point, and i’m planning to move sooner or later, so no worries if you decide not to look into this for habmin1.