DIY energy monitoring system using mqtt - emonhub- emoncms

Hello Everyone,

I am currently working on an energy monitoring device for my offgrid solar setup. The goal is to have a setup that is simple but also resilient and stable. The system would be built around:

  • Raspberry Pi 5 - Hardware

  • Nodered - Data Gathering

  • EmonHub - Interfacer for sending to;

  • Emoncms - On a Public Cloud - Energy Monitoring Dashboard.

I went with the raspberry Pi 5 because of the support for nvme ssd via the pcie interface. This would provide stability of the Pi and allow me to run Nodered, and an MQTT server without limitation of sdcard failure.

Nodered would be used for gathering data from my Inverter (via modbus) and my victron solar charge controller (via Victron VE Direct).

The hope is to send the data to an MQTT server also on the Pi, and have Emonhub read those data and send them to my emoncms dashboard.

Why don’t I just got out the (middleman) emonhub and have node red send directly to emoncms. The reason is to take advantage of the emonhub offline caching capabilities especially when emoncms is not available. This is very important to me as it means my energy data would be consistent even during an internet down time.

I could also gather the data directly using emonhub leveraging on the vedirect and modbus interferer, but I never got the modbus interfacer to work and the vedirect interfacer currently has a bug that causes data corruption which has not been fixed

The main thing I have been unable to figure out with this plan is… If emonhub can read data from an mqtt broker and have that data posted to emoncms via the http interfacer? Is this something that is possible / doable?