Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.
-
New: v8.5 - Version 8.5 focuses emoncms around a core set of timeseries storage engines: phpfina, phpfiwa and phptimeseries. The data request api has been improved and the way data requests are made make it easier to make cross feed comparisons. The myelectric and node modules have been removed, replaced with new optional modules that improve on the functionality of these modules called the app module and nodes module.
-
Extended - An extended feature set branch of emoncms for advanced users. This branch may be less stable than the master branch , pull requests are merged with light review for quick development.
-
New: low-write (v8.5) - The latest version of the low write version of emoncms designed for running on SD cards. v8.5 includes the new data request api and default data viewer as found in the main v8.5 version, It also supports the new app and nodes module. Low-write-v8.5 is the version of emoncms installed on the emonpi. This is a cut down version of emoncms supports only the phpfina and phptimeseries feed engines (no in built feed averaging or histograms) and a reduced input processor set. Data is written to disk at spaced out intervals allowing datapoints to buffer and be written to disk in larger blocks.
Older versions:
- Master (v8.4) - in the process of being replaced by the v8.5 branch. v8.5 will break older installations of emoncms that are using the older feed engines: timestore, phptimestore and mysqltimeseries, the upgrade procedure has not yet been written, if you have an existing system thats working then stay on this branch. If your setting up a new emoncms installation use the v8.5 branch.
Optional modules
Optional modules can be installed by downloading or git cloning into the emoncms/Modules folder. New for version v8.5 are:
-
App provides application specific dashboards for emoncms: myelectric, mysolar, mysolar&wind, myheatpump. git clone https://github.com/emoncms/app.git
-
Nodes provides a RFM12/69 focused alternative to the input module, with support for receiving and sending node data over the RFM network. The Nodes module has been developed to complement and integrate closely with emonhub node defenintions and configuration. git clone https://github.com/emoncms/nodes.git
-
Config provides an in-browser emonhub.conf editor and emonhub.log log viewer. git clone https://github.com/emoncms/config.git
-
Wifi provides an in emoncms wifi configuration interface designed for use on the emonpi. git clone https://github.com/emoncms/wifi.git
There are many other modules such as the event module and openbem (open source building energy modelling module) that are available, check out the emoncms repo list: https://github.com/emoncms
- Recommended: Ubuntu / Debian Linux via git
- Shared Linux Hosting
- Windows
Development plan overview: Github: Emoncms development overview (Out of date but pre v8.5)
EmonView: An open source python, flask, socketio, js web application for monitoring and control https://github.com/emoncms/emonview
- Github: Home Energy Monitor - Second half gives an example of how to configure emoncms to show an electric use dashboard
- EmonTx v3: Quick start guide - an example of configuring the inputs of the standard (non watt hour calculating) firmware for the EmonTx v3 including My Electric dashboard configuration
- EmonTH: Quick start guide - an example of configuring emoncms EmonTH inputs and creating temperature and humidity feeds
- Blog post: An Example of configuring the new emoncms bargraph visualisation that uses accumulating watt hour data - part of the Monitoring SolarPV, Heatpump and house electric, EmonTx v2 system upgrade example
- An Example of more advanced custom dashboard setup
- A list with screenshots of available visualisations
Documentation hosted on openenergymonitor documentation github:
- Emoncms architecture
- Input processing
- Emoncms time series database development history
- Variable interval time series
- Fixed interval time series
- Fixed interval with averaging time series
- Improving write performance with buffering
- Forum post: How to build an Energy Monitoring Android App part 1
- How to build an Energy Monitoring Android App P1 - Retrieving data from a remote server such as emoncms.org
- How to build an Energy Monitoring Android App P2 - Drawing an Energy Monitoring display with java 2d canvas
- Drawing a myelectric style bar chart
- Official site - http://emoncms.org
- OpenEnergyMonitor Forums
- OpenEnergyMonitor Labs page
You can also join us on our IRC channel #emon on irc.freenode.net.
Emoncms is developed and has had contributions from the following people.
- Trystan Lea https://github.com/trystanlea (principal maintainer)
- Ildefonso Martínez https://github.com/ildemartinez
- Matthew Wire https://github.com/mattwire
- Baptiste Gaultier https://github.com/bgaultier
- Paul Allen https://github.com/MarsFlyer
- James Moore https://github.com/foozmeat
- Lloyda https://github.com/lloyda
- JSidrach https://github.com/JSidrach
- Jramer https://github.com/jramer
- Drsdre https://github.com/drsdre
- Dexa187 https://github.com/dexa187
- Carlos Alonso Gabizó
- PlaneteDomo https://github.com/PlaneteDomo
- Paul Reed https://github.com/Paul-Reed
- thunderace https://github.com/thunderace
- pacaj2am https://github.com/pacaj2am
- Ynyr Edwards https://github.com/ynyreds
- Jerome https://github.com/Jerome-github
- fake-name https://github.com/fake-name