Feeds show in emoncms android app but not in browser

Hi folks,

getting to grips with emoncms now and liking how it works overall and the relative simplicity of getting sensors to work once you have worked it out.

Yesterday morning I decided to rename my feeds as I hadn’t realised that this was a necessary step if you didn’t want to see too many “emonth_temperature” popping up in the feed list on the android app.

Since then, visualising the feeds in the browser has been a bit of a hit and miss. On once sensor, there is a gap of data showing since 9am yesterday until 6 pm today when data starts showing up again. Another sensor only starts showing data today at 2pm even though it was on since 10am yesteday (and logging data which can be seen in the android app). See below.

Any clues to what could be preventing the browser from showing a chunck of data and why it would start showing all of a sudden, noting that the emoncms android app is not showing this problem?

I guess you an see the straight line joining the two points in time. Renaming the feeds seems to have triggered this but surely it should be allowed renaming if it was going to break things?

Hello @MegaTux, Im not sure how renaming the feeds would have triggered this. Do you see the data if you look at one feed at a time?

Could you also check if the data becomes visible if you tick the average box for each feed and reload the graph:

@TrystanLea, I can confirm that if I tick the average box for all time series and I press the reload button, then the time series data is visualised correctly. So now I’ve saved the graph with the average box ticked and every time i select that graph, it visualises data correctly. If I untick and press reload, it misses out whole chunks of data. Seems like you have an idea of what the problem could be …

Hello @MegaTux, that’s good to know.

The issue is caused by the post rate for the EmonTh’s dropping below the interval of the PHPFina feed. Causing a large number of null values to be saved to the feed among the occasional valid value. When data is then requested for the graph without averaging it pulls out a data point every x number of seconds and if it happens that these are null values, the graph will be unable to draw a line between points. With averaging turned on the data returned is compiled from the average of all valid values in the view.

This issue normally becomes apparent if you select a feed interval when creating a feed that is shorter than the actual post rate. (E.g 10s feed for 60s data). In your case however it looks like something changed between the earlier period and the period showing blank data. Perhaps a source of interference or drop in signal quality caused by an additional barrier? Closed door? Aerial positions?

Hi @TrystanLea, thanks for your response. Nothing really changed between the two periods other than maybe decreasing the frequency of the logging i.e. before I was logging every 3 mins, then moved onto 10 mins.

Your response leads me a few questions:

a) you are right, my feed is set to 10 sec but the units are posting every 10 mins (600 secs). Should I be changing the interval of my feeds? (EDIT: having now understood the PHPfina mechanism here i’m wondering whether I will destroy my existing feed by changing the interval?)

b) if the feed is recording every 10 secs but getting data every 600secs, does this mean that the database is growing necessarily because its recording many time values with NULL data? i.e. should the time set on the unit always be set to match that on the feed? (EDIT: having now read the PHPfina docs, I think I understand that NULL values are being recorded at regular intervals but with not timestamp so setting the interval of the feed when creating it is an important step … not sure if this can be changed after 2 weeks though to avoid recording NULLs every 10 secs given I’m posting data every 10 mins?)

c) is it ok to have different units set to different posting intervals? i.e. unit A posts data very 10 mins with feed set to 10 mins and unit B posts data every 5 mins with its feed recording every 5 mins and then unit C posting every 10 secs with feed recording every 10 secs? (EDIT: I think this is ok because every feed has its own file?)