Skip to content

Python service linking and decoding input to MQTT & Emoncms

Notifications You must be signed in to change notification settings

Jeffmackinnon/emonhub

 
 

Repository files navigation

emonHub

emonHub is used in the OpenEnergyMonitor system to read data received over serial from either the EmonPi board or the RFM12/69Pi adapter board then forward the data to emonCMS in a decoded ready-to-use form - based on the configuration in emonhub.conf

More generally: Emonhub consists of a series of interfacers that can read/subscribe or send/publish data to and from a multitude of services. EmonHub supports decoding data from:

Emonhub is included on the emonsD pre-built SD card used by both the EmonPi and Emonbase. The documentation below covers installing the emon-pi variant of emonhub on linux for self build setups.

Features

This version of emonhub is based on @pb66 Paul Burnell's original adding:

  • Internal pub/sub message bus based on pydispatcher
  • Publish to MQTT
  • Https Emoncms interface
  • A multi-file implementation of interfacers.
  • Rx and tx modes for node decoding/encoding provides improved control support.
  • json based config file option so that emonhub.conf can be loaded by emoncms

Interfacers

Default Interfacers

  • EmonHubJeeInterfacer: Decode data received from RFM69Pi & emonPi in JeeLabs data packet structure e.g. emonTx, emonTH, JeeNode RFM12 demo etc.
  • EmonHubMqttInterfacer: Publish decoded data to MQTT in a format compatible with emonCMS.

Other Interfacers

See interfacer specific readmes in /conf/interfacer_examples


Installing Emonhub

emonScripts

It can be installed by making suitable modifications to the emonScripts script.

Manual Install

Emonhub requires Mosquitto

sudo apt-get update
sudo apt-get install -y mosquitto

It is recommended to turn off mosquitto persistence

sudo nano /etc/mosquitto/mosquitto.conf

Set

persistence false

Install emonhub:

git clone https://github.com/openenergymonitor/emonhub.git
cd emonhub
git checkout stable
sudo ./install.sh

To view the emonhub log via terminal on the emonpi or emonbase:

journalctl -f -u emonhub

Configuration

The emonhub configuration guide can be found here:

emonhub.conf configuration

EmonHub Emoncms config module

The emonhub config module is now included on the standard emoncms build. If you're using Emoncms on the same Raspberry Pi as emonhub, the emoncms config module provides in-browser access to emonhub.conf and emonhub.log

About

Python service linking and decoding input to MQTT & Emoncms

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 96.7%
  • Shell 3.3%