Are there any plans to take the best features from the emonpi software, and integrate them into the emoncms master (for example config module, MQTT, nudge nudge!) or are both frameworks so radically different that they wil remain and develop individually?
Paul
Re: Using Emonpi features in v8.5
Yes, and its already done :), you can use the nodes module that has the MQTT pub/sub, config module and the app module with the v8.5 branch of emoncms.
Re: Using Emonpi features in v8.5
Brilliant! So in a bit more detail;
Also, will it disrupt the existing data relationship, especially between inputs & feeds.
Paul
Re: Using Emonpi features in v8.5
Thanks Paul! The nodes module with MQTT and rx/tx control node definition support does need the emon-pi emonhub variant as it implements the nodes config format proposed initially by Paul (pb66) in our discussion here on "RFM Network dev next steps: Encryption, Auto id/info, ACK, Poll, Control" http://openenergymonitor.org/emon/node/9981 + has the MQTT interfacer.
An example control node definition in emonhub.conf looks like this:
[[1]]
nodename = Thermostat
firmware = open thermostat concept
hardware = open thermostat concept
[[[rx]]]
names = temperature, humidity
units = C,%
datacode = h
scales = 0.01,0.01
[[[tx]]]
names = setpoint, hysteresis
units = C,C
scales = 0.01,0.01
datacode = h
There is a section at the bottom of the emonpi guide here http://openenergymonitor.org/emon/modules/emonpi that details how to use the control feature.
It shouldn't have to disrupt existing inputs and feeds, a EmonHubEmoncmsHTTPInterfacer will be needed to send the data to the input module (everything in emonhub emon-pi variant is now an interfacer - credit again to Paul for this idea)
[[emoncmsorg]]
Type = EmonHubEmoncmsHTTPInterfacer
[[[init_settings]]]
[[[runtimesettings]]]
pubchannels = ToRFM12,
subchannels = ToEmonCMS,
url = http://emoncms.org
apikey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
senddata = 1
sendstatus = 1
The new nodes module has the ability to build up input processing in the same way so it could be possible to move over to it gradually, testing its functionality.