I've built a system very similar to the emonTx, but instead of current clamps I'm using three commercially available meters that send out pulses. I've started out using the software from volkszaehler.net, which is a project very similar to open energy monitor. That software also uses a LAMP-approach for storing and displaying the data, so before long I also ran into the problem that my MySQL-database was getting huge and very slow.
Instead of trying to tweak around with the database I ended up writing a whole new frontend which uses neither MySQL nor PHP. The good thing about it is that offloads all the heavy lifting to the client and needs nothing but RRDTool and a webserver (does not need to be apache, any webserver will do) on the server. The drawback is that you'll lose resolution with age, because that's what RRDTool does: It keeps a set of fixed size databases with different resolutions where old data gets overwritten when the database is full. Details of how this works are here: http://oss.oetiker.ch/rrdtool/
The code probably isn't very pretty, as this is my first Javascript project, but it works for me and it should be easily adjustable to other types of hardware. I'm also planning on adding a few more graphs.
RRD based Javascript frontend for smartmeters
Submitted by Guest on Mon, 19/11/2012 - 22:28Hi,
I've built a system very similar to the emonTx, but instead of current clamps I'm using three commercially available meters that send out pulses. I've started out using the software from volkszaehler.net, which is a project very similar to open energy monitor. That software also uses a LAMP-approach for storing and displaying the data, so before long I also ran into the problem that my MySQL-database was getting huge and very slow.
Instead of trying to tweak around with the database I ended up writing a whole new frontend which uses neither MySQL nor PHP. The good thing about it is that offloads all the heavy lifting to the client and needs nothing but RRDTool and a webserver (does not need to be apache, any webserver will do) on the server. The drawback is that you'll lose resolution with age, because that's what RRDTool does: It keeps a set of fixed size databases with different resolutions where old data gets overwritten when the database is full. Details of how this works are here: http://oss.oetiker.ch/rrdtool/
The code probably isn't very pretty, as this is my first Javascript project, but it works for me and it should be easily adjustable to other types of hardware. I'm also planning on adding a few more graphs.
You can check out my code here: https://github.com/alibenpeng/smartmeter-frontend
How and why I did all this is written down here: http://testblog.arles-electrique.de
There are also some screenshots there.
Cheers,
Alexander