Visualizing energy data from external source (Influx or S3) using emoncms

Hello All,

I have a metering solution that sends hi-res (every 2 sec) energy data to an external application where it is strored in an InfluxDB and from there on to exported to an S3 storage for further use.

Can I use emoncms to collect / receive this data (and so how) so I can visualize it on the web and the app?


I’ve done some very preliminary review of the emoncms architecture towards creating a new feed engine that could work off an InfuxDB backend. At first glance, this seems pretty doable, but it’s rather far down my priority list while I wrestle with the different API flavors.

Most of my thoughts were along the lines of getting emonTX/TH data into a data repository that wasn’t locked up in the PHPFINA binary file format, with the goal of tieing in external tools to these feeds. Going the other way around (using emoncms as the visualization hub) is an interesting flip. Can you speak more to what you’re looking to achieve? While the dashboards on emoncms are easy to put together, they’re not as robust as some other dedicated analysis and BI tools. I’d love to understand more what you want to do.

Hi Andre,

Have you looked into using Grafana? InfluxDB has built-in support for Grafana.
Grafana is its own server, so Apache isn’t needed, although it can be used if desired.

davidski implementing a new engine for influxdb should be straight forward as the engine files are plug-in. If you’ve done the engine file and need advice on integrating with the rest of emoncms, please share your work on the repo and i will try my best to help

Thanks, @nchaverio. I found the classes for engines and looked over them, coming to the same opinion that an InfluxDB wouldn’t be too hard. Haven’t gotten around to doing anything more than that though. Still working through the API and understanding the architecture better. :slight_smile:

Dear All, thanks for responding. I’m not a programmer so lot of the stuff is going a bit to far for me.
The metering solution i have was delivered by a company that stopped it’s consumer service Part of their service is taken over by another company who only do the data collection and some visualizations and stuff for their business customers. As an end user I can still get acces to my data (influx or CSV format on S3), but now i have no graphical visualizations anymore via web and my old app. I was hoping I could somehow provide some credentials and a location or so in emoncms that could then acces my energy data for using that application.

Most of the out of the box functionality of emoncms is targeted on consuming from the emonTX and emonTH products. While it’s certainly possible to hook something up to pull data from another source such as an S3 object, that would require some development work. To minimize that, take a look at the Node-RED software included in the standard emonSD image. A combination of the node-red-node-aws flow along with the CSV and emoncms nodes (these later two included out of the box) may get you what you want. There’s a user forum on Node-RED at Google Groups.

If you tackle this, do come back and share your victory (and your setup)!

Hi All, thanks for your input. Note that I as well as many other end-users / consumers have no control over our current metering solution (we can only access my data in a specific way in a web portal or download csv data from an S3 if we want to), and we have no means to setup and manage our own monitoring solution, we were hoping that the current hosted emoncms solution (hosted by the community?) could somehow work with some external data source where we only would have to map it some how to get it displayed.

I could try to see if the company doing the data collection is willing to somehow send the data to emonscms of have emoncms access the data from their servers, but i guess that i need to provide them with some information on how to do that (i.e. they provide their data in a emoncms acceptable format and method)

Yes, both the hosted and the self-hosted emoncms can (likely) consume your data. :slight_smile: The mapping process you mention is best carried out via the Node-RED mechanism in my previous post. There’s such an incredible (both good and bad) diversity in the storage mechanisms, formats, and access processes for data that it’s not feasible for all solutions to be supported. The good news is that emoncms and Node-RED can almost certainly be made to do what you want if you’re able to put a little time and energy into learning those systems. The communities for both emoncms and Node-RED are also very helpful for your journey!

Find a few tools.
Now looking into MQTT Consumer Telegraf Input Plugin | InfluxData

this should be more robust then previously poosted os tool.