I've got an ECM-1240 with the Zigbee radio and the Zigbee/USB dongle. I've written some code to run on my FreeBSD system to talk to the ECM-1240, and is a server that can accept TCP connections from one or more clients. Each client that opens a connection to the TCP port the server process listens on gets a copy of data transmitted to it. The server process parses the data stream from the ECM-1240, and converts it to a simple, ASCII-based CSV format, at whatever rate it squirts out of the ECM-1240. Additionally, the server process measures the delta between successive measurements and emits an "instantaneous" summary of power being consumed on each channel.
In my application, I have a low-power, small diskless computer running FreeBSD for a variety of home-automation tasks. (It's
a Soekris 5501 -
http://www.soekris.com for info.) The "front-end" system is actually "in the cloud" at a colocation facility and will communicate as a client to the server running on the local box at the same location as the ECM-1240.
While I've only got one ECM-1240 at the moment, the messages that spit out to the client each include the serial number and unit number, so supporting multiple monitoring devices could be added in the future.
Just to be clear:
- I have some source code written in C that ought to compile on just about an *BSD-based OS. I don't use Linux, nor have I tried to compile it there, but it ought to go pretty easily. I don't do Windows and have no interest in developing for that platform.
- The code has no user interface of it's own; it's a background server that just listens for client connections that might do clever displays, update databases, etc. It similar to some other code that I've seen that broadcasts data on the local LAN on a UDP port; it's piping in the middle, not an end-user application.
If you dare, you can get an early snapshot of development in progress at
compressed tar file here It will only work "out of the box" on FreeBSD systems (you'll need 7.1 or later for the USB driver support for the Zigbee dongle, most anything else if you're using a real serial port). You will need to compile it so it's a long way from an appliance you can just run. There's a README file in the tar file, and please heed the admonishments therein. If you're not using a FreeBSD box and comfortable compiling code, I really can't help you; this is really targeted to code monkeys at this point.
The message parser is based on documentation I asked for and received from Brultech; but I'm not able to redistribute copies of it. Happily, the point of the server process is that you don't have to care; you get a simple list of values and don't need to care how they got created. In fact, extending this framework to include talking to an ECM-1240 via the Etherbee probably won't that difficult, either.
Louis Mamakos
Thanks for the info. I wanted to go the EtherBee route also to easily support a second 1240 in the future. At the moment, the options do sound limited, however hopefully that will change in the near future. I looked around on the Brultech web site for any sort of technical information pertaining to the network communication and couldn't find any. I also imagine that one of us might be able to 'share' the data stream via the Internet to one of the program authors, thus they could probably add the functionality without having an EtherBee, just a thought. Plus, it seems like there are three different software packages in the works, so it will be interesting to see how wins out in the end...
So, I have to ask, does anyone have an ethernet version of the 1240 running with any software? So far, it sounds like the people that are writing interfaces to the 1240 are depending on COM port. However, from the documentation, I don't believe there is a COM port when you use the Etherbee or Etherport? So, if you go the network route, is there or will there be any software that will work with it?
Thanks,
Jesse
I don't think that is right. I have an box with Zigbee support but have been using the COM port for all my testing. I asked the question when I bought this version because I knew I wouldn't be using the radio stuff quite yet.
I have the 1240 hooked up with the EtherBee adapter... The Brultech Server software works fine with it, however you are correct none of the programs people have written will work with it as they are designed for com ports and a direct connection to the 1240...
I don't think that it would be difficult for them to add the network support as once the initial connection is made it is no different than the serial version, but I am guessing that they don't have an EtherBee to test it with.
I have been playing about with a Java application which polls the Brultech server software every second and then writes the data to a rrdtool database and graphs it (I attached one of the graphs below), however I am thinking about re-writing the software to directly receive data from the Brultech to remove one extra step and to allow the packet trigger function to work.
Geoff