EmonHub (The next version of the oem_gateway)
Paul (pb66), Jerome, Dave McCraw and I have been discussing the best way to integrate the ability to listen and dispatch data with different datatypes and how best to integrate threading so that dispatchers cant block the other dispatchers and listeners.
Using MQTT with Emoncms to make a more extensible flexible system.
We've discussed the idea of using MQTT within emoncms several times before but the idea came up again during discussion about the best way to implement node decoding in emonhub. Emoncms could provide some of the same features of emonhub ie multiple listeners and multiple dispatchers in an elegant way if it incorporated mqtt message queues. It would also provide benefits for control as initially explored here last December https://github.com/emoncms/development/tree/master/experimental/control/nodejs_websocket_thermostat
Here's a system diagram of how it could look like:
and here's an initial working concept, with step by step setup guide: https://github.com/openenergymonitor/documentation/blob/master/Modules/RaspberryPI/FullStackHDD/FullStackHDD.md
This approach needs a fair bit of work to make it a really nice solution, If you think this is the way to go it would be great to get some help with making it happen, in particular:
- Integrating the event module by running it as its own process subscribed to the applicable mqtt topics.
- Writing a process for the emonhub style dispatcher for sending data to other services such as a remote emoncms or another service entirely such as PVOutput or ThingSpeak
- Creating raspberrypi module style emoncms gui for the new python based listener setting the rfm12pi radio settings.
- Managing all these processes, a process status interface in emoncms?
There are also some new related MQTT mini examples in the emoncms/development repository: https://github.com/emoncms/development
I've created a forum thread for discussing emoncms + mqtt here:
New Application Guides
An ongoing project for some time now is the writing of new application guides that go through step by step system building for home energy monitoring, heatpump monitoring, solar pv and thermal performance monitoring, integrating some of the new features for counting watt-hours on the emontx and using some of the new emoncms features such as myelectric. There's a new github repository in which to develop these guides. The table of content so far is:
Home Energy Monitor
- Home Energy Monitor (posting to emoncms.org)
- Home Energy Monitor (with emoncms running locally on a harddrive)
- Heatpump Monitor (with emoncms running locally on a harddrive)
- Heatpump Monitor (direct serial emontx -> RPi + GSM
Help with testing and github pull requests with changes to these guides would be most appreciated and if youd like to submit a guide for an application or configuration that you dont think has been covered well that would also be welcome. Please get in touch on the forums if you've got any question's about development and how to get involved. To engage in discussion regarding this post, please post on our Community Forum.