Need help getting input from RS485 feed into emonPi/EmonCMS

Tags: #<Tag:0x00007f6e0f23c6c8> #<Tag:0x00007f6e0f23c060> #<Tag:0x00007f6e0f24b6c8> #<Tag:0x00007f6e0f24acc8>

I have an emonPi unit, all up to date with the latest SD image from May of 2016.
I also have a monitor from EKM (see this link for details)
I use the EKM monitor because it is UL listed and rated at ±0.1% accurate, which is what I need to compare utility meters with actual data. (I’m an energy auditor)
The monitoring interface for that EKM meter is lacking for detailed data extraction, so I’d love to be able to add the RS485 output feed from that device into EmonCMS, just like any other CT node and id from the emonPi or TXV.
I’ve searched this forum for instructions, but I can’t seem to find anything useful.
Can someone steer me in the right direction how to connect RS485 directly into the emonPi/EmonCMS?
Many thanks!

I have connected to a Helios MVHR unit via RS485 using a Chinese USB-RS485 unit off ebay plugged into a Pi, and a python script I found which I modified to send data read off the RS485 to an mqtt feed to a local EmonCMS install. Worked pretty well :slight_smile:

Cool! I have a USB to RS-485 adapter that I purchased from EKM here.
I also have the programmer cable sold through the OEM store.
So how do I connect to the Pi board and how do I install/modify/access that script (can you supply it?) to integrate with EmonCMS? Can you provide more detail?

9 posts were merged into an existing topic: Modbus and RS-485

The script is pretty specific to the Helios as it depends on how the messages on the modbus are setup.

Integration with EmonCMS was simply that the script publishes the data as an MQTT feed to a broker on the Pi, and then I used Node-Red to pick that MQTT feed up and then publish the data to EmonCMS. I think it was about here I discovered that EmonCMS uses it’s own version of ‘JSON’ :frowning:


@ amgican, You could try searching the old forum for “RS-485” for several discussions (and examples) on RS-485 applications.

You will also need to find info on the protocol and format of the exact data provided by the EKM device and once you have established a comm link via USB <> RS-485, parse that data into the format needed.

Hello Rod,

The specs in your link say the OmniMeter v.3 is rated Class 0.5 i.e. its accuracy is 0.5%
Typo error, or the link is pointed at the wrong meter, perhaps?

The EKM Omnimeter and CT combination is 0.5% accurate. The CTs are 0.1% accurate.

You can find the EKM RS-485 protocol here:

Since the meter itself has an accuracy of 0.5%, that yields a system that could be in error as much as 0.6% if the CT errors were in the opposite direction of the meter error.

It’s the Omnimeter and CT combination that is 0.5% accurate (class 0.5). The Omnimeter does not have an accuracy rating by itself because it cannot function without one or more CTs.

The spec sheet

says it’s a class 0.5 device. The CTs have an error tolerance of 0.1%. When figuring the system error tolerance, you need to take into consideration the max error tolerance of all the system components.

Correct. The meter is always tested with CTs, like in this case by the California Department of Weights and Measures:

The assumption is that the meter cannot function without CTs and therefore cannot have an accuracy rating that does not take them into account.

The document doesn’t actually say what the overall tolerance is, just that it meets California’s acceptance criteria. (I’m a native San Diegan, so know how that can go)

This might help explain it a bit better.

At perfect (unity) power factor:
Omnimeter II UL v.3
Class .5 meter
at .05 x 10[the base current] = .5A = +/-1.0% accuracy (because this is a class 0.5 meter) see sentence below.
at (.1 x 10 = 1A), up to 200A[the max current, or “Imax"] the accuracy is to within 0.5%
(When using 200 amp CTs) the Omnimeter is accurate to 1% at .5 amps, above this current they are 0.5% accurate. The start current for the meter is .5 amps. The meter is still accurate under this much current, we just cannot certify it to be a known accuracy.

Basically, even at 0.5A the Omnimeter II UL v.3 is accurate to within 1%. At anything above 0.5A the accuracy is to within 0.5%. Below 0.5A the accuracy is still very good, it’s just not certified below that.

Not to get off topic or anything :wink:, but…
Does anyone have any scripts or helpful tools for bringing rs-485 data from the ekm meter output into emoncms?