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.
*Redis is recommended because it reduces the number of disk writes and therefore prolongs disk life (noticeably on SD cards e.g. RaspberryPi). Some input-processors also require redis and fail silently if redis is not installed. Some environments such as shared hosting or as far as we have tried windows servers don’t support redis hence why emoncms has a fall back mode that allows core operation without redis.
There are differences between the standard version of emoncms and the version of emoncms running on emoncms.org. This repository contains the code for the standard version of emoncms. This is the version installed on the OpenEnergyMonitor SD Card that comes with the EmonPi and EmonBase and is recommended for all self-install versions of emoncms.
The emoncms.org version Github: emoncms/emoncmsorg is a fork that is specific for multi-server installations. While both versions share the same roots, the code for emoncms.org differs significantly from the standard version of emoncms, the user experience is intended to be similar but there are currently a number of differences in the API and look of the inputs and feeds interfaces as well as a reduced feature set in general on emoncms.org in order to ensure stability. In general development on emoncms.org moves slower than the standard emoncms for this reason.
1. From the Guide
2. Emoncms Terminology
Feed: A place where data is recorded, a time-series of datapoints. The standard time-series databases used by emoncms are PHPFina and PHPTimeSeries and were written as part of the emoncms project.
3. Emoncms.org API Reference
The following API references apply to emoncms.org. They differ slightly to the API available on EmonPI/EmonBase installs, the API refrence for which can be found from the inputs and feed pages when logged in locally.
Recommended:
Experimental (not currently up to date):
Other (less supported, not tested on latest versions of emoncms)
Modules can be installed by downloading or git cloning into the emoncms/Modules folder. Be sure to check for database updates in Administration menu after installing new modules:
Graph module - Advanced graphing module that integrates with the emoncms feed list, highly recommended; examples of use can be found in emoncms guide [1][2][3][4].
Device module - Automatically configure inputs and feeds using device templates.
Dashboards module - Required for creating, viewing and publishing dashboards.
App module - Application specific dashboards e.g. MyElectric, MySolar.
Config - In-browser emonhub.conf editor and emonhub.log log viewer. Use git clone
to install.
Wifi module - Wifi configuration interface designed for use on the emonPi
DemandShaper module - Schedule smartplugs, EmonEVSE smart EV chargers, heatpumps to run at best time in terms of: carbon, cost, grid strain. Based on day ahead forecasts.
RemoteAccess module - Emoncms Remote Access client (Beta)
There are many other available modules such as the event module and openbem (open source building energy modelling module): check out the Emoncms repo list.
3rd party modules
master - The latest and greatest developments. Potential bugs, use at your own risk! All pull-requests should be made to the master branch.
stable - emonPi/emonBase release branch, regularly merged from master. Slightly more tried and tested. See release change log.
ARCHIVE low-write (v8.5) - Old emonpi/emonbase emoncms version (July 15 emonSD ready-to-go SD card image). Low-write mode is now available in v9.0. The low write version of emoncms is designed for running on SD cards. This is a cut down version of emoncms supporting only the phpfina and phptimeseries feed engines (no in built feed averaging or histograms) and a reduced input processor set. Archived branch
For developers: The following lists the locations of the files that define emoncms’s inbuilt documentation for the input and feed API’s and input process descriptions:
Note: due to ongoing development some docs may now be outdated
Emoncms timeseries database design (feed storage)