Emoncms development outline, last updated 4th May 2017
The following summarises the main focus areas for ongoing emoncms development, detailing our view of where emoncms is going next.
-
Emoncms GROUP module – administer multiple emoncms accounts from a single login on emoncms.org (or self-hosted multi-user emoncms installation). Create account groups for different projects. Create energy group, consumption and generation aggregation.
GitHub - emoncms/group: In development: Emoncms groups module
Forum post: New Emoncms Groups/Administration module -
Emoncms APP module: Ability to create multiple instances of an app. One MyElectric for household consumption another for EV consumption. Create MyElectric type app that supports time of use tariff’s such as economy 7, colour coded bargraph for different tariff periods. Merge energy.emoncms myelectric and heatpump apps into main emoncms app module.
https://github.com/emoncms/app/tree/refactor
Forum post: New version of the emoncms apps module -
Emoncms SYNC – Easy account synchronisation between local and remote emoncms accounts, copy emoncms.org account to emonpi. Upload emonpi account to emoncms.org. Synchronise input, feeds, graph’s, dashboards and app configuration. Remote copy of emonhub configuration.
https://github.com/emoncms/emoncms/tree/feed-uploader -
Emoncms AUTO Configure – adaptation of emoncms device module to autoconfigure a device on receipt of node/describe MQTT topic name. Standard emontx, emonth, emonpi, heatpump monitor device definitions.
https://github.com/emoncms/emoncms/tree/device-autocreate
https://github.com/emoncms/device/tree/autocreate -
Emoncms API improvements – ability to use alphanumeric node names on emoncms.org, descriptive errors on emoncms.org input API, removal of requirement to use .json extension in API. Documentation of user module API, e.g how to use account authentication for 3rd party applications.
-
Emoncms UI improvement: responsiveness of inputs, feeds and graph module. Exploration of clearer categorisation of inputs and feeds relating to devices. Save last minimised/maximised devices in feedlist, allow further information to be saved to describe a node or group of inputs/feeds.
Forum post: Development: Devices, Inputs and Feeds in emoncms -
Emoncms CORE further use of mysql prepared queries, explore fallback mysql key:value store for where redis is not available. Redis php library. Sort MQTT input issues.
-
Emoncms.org SCALE: Horizontal scaling of emoncms.org, split redis database and blocks of users across multiple servers. Email verification of emoncms.org accounts. We have already implemented scaling of the storage servers, the next step is to have a way to scale the input processing part across multiple servers.
https://github.com/emoncms/emoncmsorg -
Emoncms.org BILLING: implementation of billing on emoncms.org to ensure service can be sustained and improved through ongoing growth. The current proposal is for a pay-as-you-go model on a pay per feed basis with credits available for purchase in the OpenEnergyMonitor shop.
-
Emoncms.org MQTT server: Online MQTT broker as alternative to the HTTP emoncms input API. Initial prototype using user account authenticated access lists created:
development/mymqttcloud at master · emoncms/development · GitHub