EKM-Omnimeter RS-485 Data

For more advanced meter data users. Learn from others and ask questions about how to read meters, how to use the EKM Push Data, and how to display the meter data in useful ways.
summittrekker
Posts: 2
Joined: Sun Jun 16, 2013 9:26 pm

Re: EKM-Omnimeter RS-485 Data

Post by summittrekker »

Hi Jameson,

I own a OmniMeter I v3 and I'm trying to connect it with an arduino micro controller. I've had pretty good success so far with the "General Request" parsing http://documents.ekmmetering.com/Meter_ ... ter_v3.pdf There were challenges with something called SoftwareSerial using 7 Data Bytes, Even Parody. But once I got over that I've been able to consistently request the "General Request".

I haven't however had great of success with the advance Command Protocol. http://documents.ekmmetering.com/EKM-Om ... ol_v.3.pdf

I have a couple of questions about the advanced document.

1.) The first one that seems to be stopping me is I can't seem to figure out BCC portion of the "Last kWh" read command. I presume that the BCC is not actually a "Block Check Character" but the same the same CRC16 that is used when parsing the general request above. I don't get a response from the meter when I send it "01 52 31 02 30 30 31 31 03 BCC"

2.) If BCC is the same checksum, which bytes are the checksum calculated with, if not can you elaborate on the BCC?

3.) Once I figure that out, what is the format for the "40 bytes last 1 month" How is it parsed?

4.) What is the format for the "Period Table" and the "Seasons Table". How are they parsed?

5.) Which commands require validating a password and how do I know what the default password is?

6.) Can you go over why the "Request" -> "Return" -> "Read" or "End" exchange is necessary? Is the "General Request" required in order to do "Read" operations? Is there a time limit on when each exchange is expected? Does it time out if it doesn't receive one of the exchange "Reads" or "Requests"?


By the way, I'm also a LabView Developer. I'm in the process of making a labview driver as well.
Jameson
Posts: 860
Joined: Fri Nov 04, 2011 7:42 pm
Location: Santa Cruz, CA
Contact:

Re: EKM-Omnimeter RS-485 Data

Post by Jameson »

This sounds great, I will try to help you the best I can.

Very cool that you are using an Arduino to read your Omnimeters. How did you get RS-485 from your Arduino (what shield are you using?) If you would like to share the code here, please do :)

Also keep us informed of your progress with LabView. I have never used LabView, but it looks like the perfect platform to develop off of.

The first thing I would do when trying to make settings in the meter would be to download the EKM Dash software and use the "Hex Inspector" to see how the Dash makes "Meter Settings". With the Hex Inspector window open, try changing the CT ratio of the meter or try changing the Meter Time.

You can also try using a "sniffing" software, such as Advanced Serial Port Monitor to better see the RS485 traffic. This could help with "Meter Settings" timing issues.

Here is a post earlier in this thread that goes over the "Meter Settings" sequence: http://forum.ekmmetering.com/viewtopic. ... t=10#p5317
1.) The first one that seems to be stopping me is I can't seem to figure out BCC portion of the "Last kWh" read command. I presume that the BCC is not actually a "Block Check Character" but the same the same CRC16 that is used when parsing the general request above. I don't get a response from the meter when I send it "01 52 31 02 30 30 31 31 03 BCC"
You are correct, the document should say CRC-16 instead of BCC. We will change this and re-upload the v.3 Settings document.
2.) If BCC is the same checksum, which bytes are the checksum calculated with, if not can you elaborate on the BCC?
In the case of this password string 01 50 31 02 28 30 30 30 30 30 30 30 30 29 03 32 44 you will calculate CRC-16 based off of the second byte through the third from last byte. Here is what you would use to calculate CRC-16 : 50 31 02 28 30 30 30 30 30 30 30 30 29 03

3.) Once I figure that out, what is the format for the "40 bytes last 1 month" How is it parsed?
40 bytes last month is 8 bytes Total kWh, 8 bytes Total kWh Time-of-Use Period 1, 8 bytes Total kWh Time-of-Use Period 2, 8 bytes Total kWh Time-of-Use Period 3, 8 bytes Total kWh Time-of-Use Period 4
4.) What is the format for the "Period Table" and the "Seasons Table". How are they parsed?
I think it may be best to use the EKM Dash to see this. I will attach a screenshot that shows some of the TOU settings and how they present themselves in the data. I will also show where the seasons settings show up in the data (you can see how I have set the meter to 111, 222, 333, and 444 (where 444 is Schedule 4, April 4th)) Let me know if this does not answer your question.
5.) Which commands require validating a password and how do I know what the default password is?
All meter settings require a password. The default password is "0" (that is a zero without the quotes). An example of a meter setting would be: changing a CT ratio, changing a meter number, or changing a time setting, etc.
6.) Can you go over why the "Request" -> "Return" -> "Read" or "End" exchange is necessary? Is the "General Request" required in order to do "Read" operations? Is there a time limit on when each exchange is expected? Does it time out if it doesn't receive one of the exchange "Reads" or "Requests"?
This is how our protocol works. You verify which meter in the string you are talking to, give it a password, and then are able to make the desired setting. Yes, the "general request" is required. There is a limit to how long you can take to make a setting, otherwise the communications will time-out. I do not know how long this is but it is on the order of a second or two.

Let us know if you have any questions,
Attachments
Time of Use Settings Screenshot.png
Time of Use Settings Screenshot.png (462.41 KiB) Viewed 105273 times
Seasons Screenshot.png
Seasons Screenshot.png (303.58 KiB) Viewed 105273 times
Jameson
EKM METERING
http://www.ekmmetering.com
831.425.7371
summittrekker
Posts: 2
Joined: Sun Jun 16, 2013 9:26 pm

Re: EKM-Omnimeter RS-485 Data

Post by summittrekker »

Hi Jameson,

Thanks for your help. This reaffirmed that I was doing thing right. I was able to find a couple of mistakes in my code and I'm now able to receive a response from the meter upon sending advanced read commands. I'll keep you posed as I get a little further along.

The arduino did pose a few challenges. The big one is that the arduino uno only has one native serial port tied to pins 0 and 1 which is shared with the USB. I purchased an RS-485 shield for about $15 not knowing that it also ties to pin 0 and 1. This means that you can use either USB or RS-485, not both. This obviously makes it difficult to debug. I got around this by rewiring the shield to a couple of other pins on the arduino and using a library called SoftwareSerial which ties the TTL RX and TX to other pins of your choice. Now two ports are available. The caveat here is SoftwareSerial does not support 7-E-1 format. I had to hack the SoftwareSerial library to enable support for this. (I probably won't keep it this way, but it works now for testing).

One more question regarding the EKM push System, however this should probably go in a different forum. From reading, it sounds like all you have to buy is the Push system and the database and web host is free? What are the limitations? How many customers do you have using this at this time?

Thanks again,
Dave
Jameson
Posts: 860
Joined: Fri Nov 04, 2011 7:42 pm
Location: Santa Cruz, CA
Contact:

Re: EKM-Omnimeter RS-485 Data

Post by Jameson »

Hi there Dave,

Thanks for the details about your Arduino project. Very cool. The 7 data bits, even parity, 1 stop bit, and no flow control serial configuration can really throw a wrench in the works. Glad you got it sorted out.

Yes, we are providing the EKM Push system as the absolute easiest way for our customers to get their meter data online. This is meant to make our meters even more attractive, we offer both the data collection and storage of data in the EKM Push system for free at up to once per minute read intervals. There are no hidden monthly costs. We store the latest 1000 meter reads for each of your meters. Take a look at this page to see how you can access your EKM Push data directly from our system: http://www.ekmmetering.com/developer-portal

The limits of the EKM Push system at this point are that it only works with our Omnimeter I v.3 and our Omnimeter II UL v.3 ( not the Omnimeter Pulse v.4), you cannot make settings to your meter through this system yet. We are working to solve both of these limitations.

I cant really disclose how many customers are using the EKM Push at this point. We are getting a staggering amount of meter reads into our system every day and the system has not even broken a sweat. Needless to say, we are really happy with it. The coolest thing about the EKM Push system is how scalable it is for the end user. You can have 10 pushes reading 100 meters or 1000 pushes all over the world reading 10,000 meters. The data you get is the same. It all goes to your EKM Push account where you can view it, move it to your own database, graph it, bill from it, write software to better utilize it, etc. We are very open to how you access and utilize this data, we realize we could charge for it, but want to free it up instead so that more people can use it. When our customers have better access to their data more energy gets saved, bills get reduced, and everyone is happy.

Thanks,
Jameson
EKM METERING
http://www.ekmmetering.com
831.425.7371
jay
Posts: 1
Joined: Sun Mar 23, 2014 6:16 pm

Re: EKM-Omnimeter RS-485 Data

Post by jay »

any way to reset the password?
Jameson
Posts: 860
Joined: Fri Nov 04, 2011 7:42 pm
Location: Santa Cruz, CA
Contact:

Re: EKM-Omnimeter RS-485 Data

Post by Jameson »

Hello Jay,

You can set the meter password to whatever you like (though unless there is a very compelling reason to do this we do not recommend it). To do this you must have the original meter password.

Unfortunately, if you lose your meter password, there is no way to recover it, and is also no way to set it to a new password.

Hope this helps,
Jameson
EKM METERING
http://www.ekmmetering.com
831.425.7371
pvanroos
Posts: 11
Joined: Wed May 28, 2014 8:52 am

Re: EKM-Omnimeter RS-485 Data

Post by pvanroos »

Jameson

Do you have these same specs for the v4 ominmeter?

-Paul
Jameson
Posts: 860
Joined: Fri Nov 04, 2011 7:42 pm
Location: Santa Cruz, CA
Contact:

Re: EKM-Omnimeter RS-485 Data

Post by Jameson »

Yes, the RS485 communications documents for the Omnimeter Pulse v.4 are also on the Developer Portal: http://www.ekmmetering.com/developer-portal

The Parsing Document is here: http://documents.ekmmetering.com/Omnime ... arsing.pdf

The Meter Settings Document is here: http://documents.ekmmetering.com/Omnime ... otocol.pdf

The serial settings and CRC Checksum are the same with the v.3 meters and the v.4 meters.

Let me know if you have any questions,

Thanks,
Jameson
EKM METERING
http://www.ekmmetering.com
831.425.7371
ckhome
Posts: 5
Joined: Tue Dec 02, 2014 7:57 am

Re: EKM-Omnimeter RS-485 Data

Post by ckhome »

I admit, the content of this discussion is over my head. My goal is to read the data from my v3 meter into a Tridium JACE Niagara-AX controller. This is a very common controller in the building automation market, and it would be very beneficial to me and many others to find a way to share data between these devices. The EKM meter is very cost effective compared to the typical meters that are intended to share data with the JACE controller. I have everything connected on my bench now, and can try suggestions and share my results. I have attached several screenshots for reference. My meter serial number is 16901. Please post with suggestions, and i will test them and share results. Thanks in advance...
Point Screen
Point Screen
Point Screen.PNG (47.72 KiB) Viewed 103474 times
Controller Screen
Controller Screen
Controller Screen.PNG (37.18 KiB) Viewed 103474 times
Network Screen
Network Screen
Modbus Network Screen.PNG (34.04 KiB) Viewed 103474 times
Jameson
Posts: 860
Joined: Fri Nov 04, 2011 7:42 pm
Location: Santa Cruz, CA
Contact:

Re: EKM-Omnimeter RS-485 Data

Post by Jameson »

Hello ckhome,

Thank you very much for the screenshots!!

We think it would be very interesting to have our meters work with Tridium JACE (we were just talking about this with one of our developers last week). As far as I know, we would (or someone would) have to develop a "driver" that would allow the integration of our meters to the Tridium Jace controller. The driver would let the Tridium controller understand our meter protocol.

I have reached out to a customer that contacted us a while back who was thinking of developing a Tridium driver (to see how it went). Hopefully he gets back to us. If we were to develop a Tridium driver I would be new to the process, so if anyone out there knows the steps to take, to develop a Tridium driver, please let me know :P
Jameson
EKM METERING
http://www.ekmmetering.com
831.425.7371
Post Reply