Im preparing a long overdue merge of the emonhub master branch to stable and have been merging a number of pull requests with quite a few nice new features, thanks to @anbugge , @ziporah @bwduncan @borpin @pb66 and I apologise for the delay on merging these!
Here’s a quick overview of the new features:
Bluetooth LE sensor interfacer, thanks to @anbugge
Goodwe interfacer, thanks to @ziporah
Influx DB interfacer, thanks to @ziporah
Code formatting improvements, thanks to @bwduncan
MBUS interfacer improvements
Various fixes thanks to @bwduncan (and a special thanks for help with reviewing many of the other pull requests).
Improvements to EmonHubTx3 interfacer, thanks to @borpin
SDM120 interfacer device and baud rate correction, thanks to @pb66
HTTP interfacer reply fix
The pull request ready for the merge to stable can be found here:
Merge master to stable by TrystanLea · Pull Request #154 · openenergymonitor/emonhub · GitHub
I’m running the latest master branch here and all the core parts seem to be working fine. If anyone else would like to test the latest master branch that would be great. I will leave it open for a week or so before making the merge to stable (assuming no related issues surface).
borpin
(Brian Orpin)
18 April 2021 12:34
2
@TrystanLea we have never got to the bottom of this issue. HTTP interfacer stops instead of retrying · Issue #125 · openenergymonitor/emonhub · GitHub
Did you move the HTTP code into the HTTP interfacer. IIRC it was actually split across the main interfacer and the HTTP interfacer.
[edit]
It looks to me that this fix has been lost Fix #115 by bwduncan · Pull Request #116 · openenergymonitor/emonhub · GitHub
@bwduncan
Hello @borpin yes the code was moved as far as I can remember, it was this commit: fix http interfacer reply · openenergymonitor/emonhub@6f94ac3 · GitHub and it appears to still be in place in the interfacer here emonhub/EmonHubEmoncmsHTTPInterfacer.py at master · openenergymonitor/emonhub · GitHub
I did not remove send_post from emonhub_interfacer emonhub/emonhub_interfacer.py at master · openenergymonitor/emonhub · GitHub but EmonHubEmoncmsHTTPInterfacer no longer references it.
Did this change not fix the original issue?, I see it wasn’t discussed in that thread but I assumed it was the fix? or was that a different issue?
borpin
(Brian Orpin)
19 April 2021 10:27
4
@TrystanLea Odd, I can still see this if I am on the master branch on GitHub Reread what you posted.
Part of the issue is this code is not correct. If not used I think it should be removed.
"""Process a frame of data
f (string): 'NodeID val1 val2 ...'
This function splits the string into numbers and check its validity.
'NodeID val1 val2 ...' is the generic data format. If the source uses
a different format, override this method.
Return data as a list: [NodeID, val1, val2]
"""
# Log data
self._log.debug("%d NEW FRAME : %s", cargo.uri, cargo.rawdata)
rxc = cargo
decoded = []
node = str(rxc.nodeid)
datacode = True
This file has been truncated. show original
[edit]
The HTTP inerfacer does still reference it in the status message.
Thanks @borpin I’ve removed the original _send_post method now and moved the sendstatus code into the _process_post method, see latest here emonhub/EmonHubEmoncmsHTTPInterfacer.py at master · openenergymonitor/emonhub · GitHub
borpin
(Brian Orpin)
20 April 2021 12:47
6
Great
I think the import requests
can go in emonhub_interfacer.py
as well.
1 Like
v2.2.5 has now been released and is available in stable:
Release v2.2.5 · openenergymonitor/emonhub · GitHub .
In addition to the above changes, there are further code improvements thanks to @bwduncan , readme changes thanks to @borpin and the minimalmodbus interfacer has also been merged in.
1 Like