Free and Unrestricted Meter Data:
EKM Metering not only wants to provide great metering products that are reliable, accurate, and affordable, but we also want to be completely open about how you choose to access, utilize, and display your meter data. One of the reasons that we choose not to charge for meter data, is because we want to make our products as attractive as possible for developers and businesses. We believe that we offer the perfect metering system for developers to build a business around. This page is a good jumping off point for anyone who wants to develop their own apps or software solutions utilizing our products. You can choose to utilize data from the EKM Push system (easier to implement and more scalable) or access the meter data directly from the serial RS485 port on the meter itself.
EKM Push Open Energy API v2:
Now you can very easily access the EKM Push Data using the EKM Dash software. All you need is your EKM Push User Key and your Omnimeter number. You can use the dash to then create emails, generate .csv files, and store an unlimited number of meter reads in your local EKM Dash database. We have attempted to make the EKM Push system as scalable as possible. You can have from one to hundreds of thousands of meters in your EKM Push account. These could be meters that are spread all over the world on any number of EKM Push gateways, feeding data to this known, fixed location for super easy access. This is the most open, most scalable, most reliable, easiest to access meter data solution in the industry, and it is FREE.
Check out the Push App Store for examples of solutions that utilize EKM Push data: Push App Store
For examples of the EKM-Push's capabilities you can look at our widget here: Widget for EKM-Omnimeter 10068
Here is a tool that you can use to learn the various formats and filters you can use to access your meter data: API Sandbox Tool
API Call Examples:
Use our REST API to gather your EKM Push meter data and utilize it in your own application, database, billing system, or building automation system. By using the examples below you will learn to call just the data you need in the format you need it in.
Here is a very simple example of this using EKM Push key MTAxMDoyMDIw (this URL format the basis for most of our API calls):
This link will return 10 reads of meter data from all Omnimeter Pulse v.3 meters in Push account with key MTAxMDoyMDIw. It will display it as html data.
If you would like to filter to just 1 meter you can add the filter /meters/300000369 like this:
Or you might want to filter for multiple meters:
In this case you only want data from v3 meters 10068 and 10054 (tilde ~ separate the meter numbers) that are in the Push group with key MTAxMDoyMDIw
By default the Push system returns the time as UTC Time (computer time). If you would like the time returned in a specific time zone you can add this to the URL call.
These are IANA timezones (with a tilde ~ separator): http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Count can be from 1 to 1000
Format can be: html, xml, json, csv
You can call all available data from a given Sequence Number.
With this you can call up to 1000 reads from the last time you retrieved data. So you might get just 1 read back or 1000 reads depending on how many reads have been inserted since your last call (sequence number). You can also use the filter "until": /until/1402445768644/
Use the same idea for Start Date and End Date
You can filter for just the data fields you are interested in by using /fields/.
In this case we are only interested in Total Kilowatt Hours, Reverse kWh, and Total Watts (tilde separated)
Gives you the meter values in a shortened name.
Rev_kWh_Tariff_1 becomes: PT_REV.T1 for example
You can call data from seconds ago, in this case you are calling data from up to 20 seconds ago:
Create secure calls using https://
We now also have Parameterized call formats:
Sneak peek at our new summary API: On our forum here. The summary API is for long term data sets going back months and years since your meter was connected to the EKM Push system. It is how the Widget and encompass.io get their historical data. Here is a tool for generating Summary API Calls: Summary API Builder
Click the link if you would like information regarding our legacy EKM Push system and API: EKM Push v.1
This system, while still operational, should not be considered for new development as it will be shut down within the year. We highly recommend that the EKM Push v2 and open API be used for new development, and that systems using our legacy API be switched over to the new API soon.
Sample Data Sets by Meter Number:
v3 Meter #10068 -- Single Family Residence
v4 Meter #300000369 -- 3/4" Water Meter on Pulse 1
v3 Meter #17507 -- Solar Generation
v3 Meter #10388 -- Electric Water Heater (backup heat for a solar hot water system)
v4 Meter #300001290 -- Net Meter on Solar Residence
v3 Meter #10389 -- Apartment
v3 Meter #15635 -- Large Apartment
EKM Push Spec Sheet: EKM Push Specs
EKM Push to EKM Dash Setup: Setup Instructions
Push data to wattvision.com: Setting Up EKM Push to wattvision
EKM Push data to PVoutput.org: Omnimeter v.3 Pushed to PVoutput.org
EKM Push data to Excel (on a PC) Interface real-time data to Excel
Here is our widget displaying live Omnimeter data, using an EKM Push gateway:
Here is the same widget showing solar PV kWh generation, in hourly segments, for the past week.
To see the full version of this widget go here: EKM Widget v3.0
EKM Meter Serial RS-485 Communications:
This section is for developers that want to communicate with their EKM Meters directly using their own software or embedded solution.
Our meters use an IEC 62056-21 communication standard that has been optimized for our own needs. We are more than happy to share this with you. With this you can write your own software or embedded solution to access your meter data.
EKM-Omnimeter I v.3 and EKM-Omnimeter II v.3 UL:
EKM-Omnimeter Pulse v.4:
Here are the links to download the string parsing v.4 String Parsing, as well as the v.4 Settings Protocol for our EKM Omnimeter Pulse v.4. Here is an additional supplemental v.4 Parsing Example Document
General RS-485 Hex Parsing:
Send any of your meters on your RS-485 network the simple request (including the 12 digit meter number) and the targeted meter will respond with most of its data. If you use our EKM Dash software and utilize the "Hex Inspector" functionality under the "Help" menu item, it will simplify your job to be able to "see" the request and response (this is helpful for both the RS-485 parsing as well as parsing the EKM Push .xml data). The last 2 bytes of the RS-485 return string are a CRC-16 checksum. 30 represents a 0, 31 represents a 1, 32 represents a 2, etc.
Serial Settings for v.3 and v.4 meters: 9600 baud, 7 data bits, Even Parity, 1 Stop Bit, No Flow Control
Always send the "Close String" at the end of the transaction. This tells the meter that the communication session is over. Send: 01 42 30 03 75
Please either email us at firstname.lastname@example.org or join the discussion on Developers Section of our user User Forum.