Brultech ECM-1240 Energy Monitor

Have been researching which unit to use and found this last week. I’m curious if any Vera users have seen, heard, or used one. The specs are great compaired to anything else I’v seen.

http://www.brultech.com/products/ECM1240/communicationOptions/monitoring/four.htm

Biggest advantage is it’s totally expandable to as many CT sensors as anyone could ever need so each individual circuit in the house can be monitored individually. That’s Cool! And really usable information that can be tracked when using 7-15 sensors. Sensors are only about $5.00 each and multiple CT’s can be wired together. For instance all your kitchen circuits could be monitored together even though in newer homes its required to have a minimum of about 3-4 circuits for (2) for outlets, disposer, dishwasher, and some citys even more circuits. you could also monitor furnace and a/c as one together, or 2 bathrooms, all outside lights, etc.

It looks like the perfect match for Vera, but would like to get some of the power users to review specs and let me know what they think.

The unit is internet, zigbee, rs-232, and Ethernet compatible. one model sends directly to Google Power Meter.

I’ll await the experts opinions. Seems everyone is using ted and this brings in a new option that may be much more expandable.

Price starts at $299 with the ethernet interface and 8 CT sensors (2-200amp, 2-80amp,10-40amp CTs

Unless I start hearing actual bad info on this unit I’ll be getting one in the 2-4 weeks when I can afford it. Maybe tax refund money. I haven’t got a Vera yet either, but have decided to go with it also.

Some of you hacker/hard-line users let me know what you think.

This is the unit that I’m planning to use, but I’m about 5-7 months away from being “ready” to add it in (and to code any Luup Plugin to integrate the data from it into Vera).

The one thing that’s a little off-putting about this particular device is they won’t provide the API documentation unless you have an Open order with them.

ie. You cannot work out if the API is viable for integration before you buy.

That irks me a little, but I’ve seen samples on some other forums that show how to code against it, so it doesn’t worry me too much.

I intend to integrate it via RS-232, since I don’t have Wired-Ethernet nearby. I have a Wifi <-> RS232 adapter so will run it over Wifi instead. That’ll likely eliminate any “automatic” Google PM integration, but I’m not too worried about that at this time, and could probably write an integration if I needed it down the line… seems like the biggest part about this is the collection of historical data, and it’s presentation as charts… (which I can do other ways)

Read the notes carefully, since each device supports a specific # of “discrete” inputs, and the first two are special. Not all CT’s work on all inputs, which probably isn’t an issue for most. If you want a lot of inputs, for low-level monitoring of a lot of discrete circuits, then you end up with multiple Brultech devices (no biggy, just factor this when you’re purchasing)

If you used a WiFi bridge (or even put use to the old V1) at least then you could use the Google power meter?!

@strangely,
Maybe so, but I have a different intent. My RS-232 <-> Wifi bridge isn’t just a simple bridge. It’s a RN-134 from Roving Networks, and can be re-programmed to do things more “rich” than the simple bridging it has built into it.

The Brultech by default has RS-232, so it’s the lowest cost option. From there, you can add modules for Zigbee, which cranks the cost, and for Ethernet Bridging, which cranks it further (esp if you then have to add a regular Ethernet-Wifi Bridge)

I don’t need all that complexity.

BTW: I’ve currently got this connected to the spare DSC IT100 you sent me, so I can redo that plugin, and make it actually work.

I now have a stub plugin that exposes all 7-channels of the “Plug & Play” version of the Brultech ECM-1240.

ie. http://brultech.com/products/ECM1240/packages/plugAndPlay.htm

I will add support for the other, non Plug & Play, versions but this was the quickest one to implement up-front in order to test the basic logic. The PnP Versions ship data out to Google PowerMeter, which has nice renditions of Power usage, along with some predictive stuff based upon prior usage.

With the Luup Plugin the live data goes into Vera, in addition to going out to Google PM, and MiOS will capture the historical stuff up to your MiOS account on [tt]cp.mios.com[/tt]

I’ve reached out to the Brultech lads to see if they have any issues with me publishing the Plugin source code, and will open the [tt]code.mios.com[/tt] space up once I get the green light (it’s there, just not public right now)

Screenshot attached…

I’m only running this on my Bench at the moment, which is why it’s seeing 4w of power consumption on only one channel 8)

@guessed,
Neat! How does it measure line voltage?

[quote=“oTi@, post:6, topic:167492”]@guessed,
Neat! How does it measure line voltage?[/quote]
Right now I’m only bubbling up the Wattage value, using the standard MiOS ServiceID. The ECM-1240 is supplying me with a bunch of other stuff in addition to that… one of which is the Volts, which presumably it’s working out from the CT Clamp, similar to how some Clamp-based Multi-meters do.

Once I have a “right” place to store this information, I’ll add it to the mix also, along with the UI bits for it.

I’ve attached a screenshot of what you’d get by default using a PnP version of the Brultech stuff, coming out of Google PowerMeter. For those willing to hand data to Google, the UI’s here are very nice. I’ll add the “native” support later to handle those that would prefer to keep their data local.

PS: The “big gap” was because I’d plugged the unit into a managed power strip, which turned it all off when I turned off my monitor last night. The small ripples at the beginning are because I’d clamped incorrectly, and needed to change that…

That’s good news!
The voltage is a derived from the AC power supply that feeds the unit.
Words of caution…watch the installation of the CTs … They have direction arrows that line up with the direction of the current flow. I didn’t catch it until I was done…this smart little meter knows which way the current is flowing! It also allows Multiple CTs on one channel…great for summing a few circuits. It is designed to monitor a home that has solar power coming in…it will reverse the meter for solar incoming power.
@Guessed…I am curious how you are handling the counters on the five smaller channel inputs…they only give you the watt seconds … Is that what you are going to display?
Regards
Tim

Ah, that’s what I figured after checking out the website; it didn’t look like these plug into breakers, so it must be through the (apparently specialized) power supply.

Interesting. Hadn’t thought of that.

Words of caution....watch the installation of the CTs .... They have direction arrows that line up with the direction of the current flow. I didn't catch it until I was done.....this smart little meter knows which way the current is flowing!
Yeah, the install guide for the CT's makes for an interesting read. Very easy to get them the wrong way round by the look of things. 'good old "thumb" rule for currents...

Right now I just “split” some two-flex, and put one of the Larger CT Clamps over it, which is why it’s only seeing a low wattage - that two-flex is running the Wall warts for the ECM-1240 itself, and a Wifi → RS232 adapter that I built so I can get the data onto the Net without tweaking the EtherBee that it’s also connected to.

@Guessed.....I am curious how you are handling the counters on the five smaller channel inputs....they only give you the watt seconds ..... Is that what you are going to display?
The "feed" that I'm hanging off has both [tt]w[/tt] an [tt]ws[/tt] values for each of the Aux lines. I don't have anything attached to the Aux lines at the moment, since they only work with the closed CT's, and I'm not installed into the Panel yet.

Worst case, if they don’t have them, then I can keep track of the last “seconds” counter, and do the math to work out what these should be. I believe the general Math for that scenario is outlined in the API doco… but I wasn’t reading that today, just looking at the ASCII feed that the PnP modules emit (which is Text, more like a URL with Parameters)

When I installed my Aeon HEM, I actually made sure that the CTs were installed in the same orientation (no obvious markings on them), this was purely because I’d read somebodies installation/review of a TED5000, and remembered reading it.

So back on topic… I’m having Brultech envy :slight_smile:

Ok, approvals are through, here’s the starter stub on [tt]code.mios.com[/tt], with install instructions, limitations, and full source code/history:

 http://code.mios.com/trac/mios_brultech-power-monitor

@guessed, is there a way to incorporate the amperage into the displays? Also, are scene/events configuarable? If so, on each of the seven channels?

JOD.

@JOD,
Not yet on the Events. Right now it’s just the stubs to decode the wattage values, which in MiOS have a standard rendition etc. If it has the data, or it can be derived, I’ll make it mimic what @woodsby’s TED5000 plugin as well and try to keep them in sync functionality wise.

The most immediate next step is to have it work natively with the standard package model of the device. They’re all reconfigurable to the other type but I’d prefer not to have people reconfigure just to use the plugin.

Ok, @futzle’s new CurrentCost plugin:

 http://forum.micasaverde.com/index.php?topic=6752.0

inspired me so I borrows it’s JSON file to pretty up the UI of my child sensors, and align it better to the standard for energy meters.

The newest version now displays Voltage (on the Parent node) along with a crude version of the Total Wattage. It has events for Watts/Volts above/below values, but I haven’t tested these yet.

Todo: Add flexibility on what’s considered part of the “Total wattage” for the Parent device, similar to how @futzle has done for the CurrentCost EnviR plugin.

More recent screenshot attached.

Hello,
We have installed and ECM1240 with 7 circuits for one of our production clients using VERA as an energy management host.
The ECM is connected via USB<>RS232. Hawking device that was recognized as :

root@MiOS_16414:/proc/tty/driver# cat usb-serial
usbserinfo:1.0 driver:v1.4
0: module:pl2303 name:“PL-2303” vendor:067b product:2303 num_ports:1 port:1 path:usb-00:03.0-1.2

We then installed your latest plugin using the 6 files to upload.

I then created a device, and populated ONLY the fields in teh device you suggest.

We have never created a serial device or added new plugins so we are out of our element.

When we created the Brultech device, it shows up briefly (for about 5 minutes) with V and W being empty.

  1. Not sure HOW to tell this device to get its data from the serial interface defined above
  2. Not sure how to add new devices for each of the additional circuits.

Can you provide some guidance?

We have enabled remote support on this device (16404)

ALSO: We have read the brief description on plugin. There is a comment:
“The Plugin doesn’t yet support Ascii or Binary format data directly from the device, it only works for the Plug & Play models right now.”

I assume this means you support only the HTTP mode of the ECM as established in the IA tool. Can you confirm? If so, does it matter what the start of the HTTP post looks like? Or do you simply strip all of that off and disregard?

Thanks

Thanks
Sean

[quote=“smilligan, post:17, topic:167492”]The ECM is connected via USB<>RS232. Hawking device that was recognized as :

root@MiOS_16414:/proc/tty/driver# cat usb-serial
usbserinfo:1.0 driver:v1.4
0: module:pl2303 name:“PL-2303” vendor:067b product:2303 num_ports:1 port:1 path:usb-00:03.0-1.2[/quote]
You should also see this Serial device appear in Vera/MiOS itself, under the MiOS developers Dialog, Serial Port configuration tab.

I’ve updated the UI4 Installation doc on the code.mios.com wiki area for this plugin to show examples of this (for a FTDI Serial port, but it’s similar for PL2303 stuff)

We then installed your latest plugin using the 6 files to upload.

I then created a device, and populated ONLY the fields in teh device you suggest.

We have never created a serial device or added new plugins so we are out of our element.

When we created the Brultech device, it shows up briefly (for about 5 minutes) with V and W being empty.

  1. Not sure HOW to tell this device to get its data from the serial interface defined above
  2. Not sure how to add new devices for each of the additional circuits.

By default, it’ll configure itself with a “Parent” device, along with a single Child device. If they cannot communicate with the Brultech, or if the Brultech isn’t configured for the ASCII Protocol (PnP models ship this way) then the W and V values will not fill in.

I’ve updated the Install instructions somewhat to show what the Serial Port config would look like. I haven’t specifically tested that situation right now, as my Brultech is hanging off a RS232-Wifi adapter, and I can directly configure an “IP Address” with the Brultech Plugin/Device.

Let me know if it doesn’t work, and I’ll try that out tomorrow night when I have a little more time (the code is common with other cases where I do that also, like the DSC Alarm, so it should be fine)

We have enabled remote support on this device (1xxxx)
Won't really work for me, since I don't work for MCV. Remote Support only works for folks that work for MCV. Everyone else has to debug remote systems using logs and so-forth, but the problems you're having are more config related at this time and we should be able to get you going on the forums directly (or, just by me documenting these parts 8)
ALSO: We have read the brief description on plugin. There is a comment: "The Plugin doesn't yet support Ascii or Binary format data directly from the device, it only works for the Plug & Play models right now."

I assume this means you support only the HTTP mode of the ECM as established in the IA tool. Can you confirm? If so, does it matter what the start of the HTTP post looks like? Or do you simply strip all of that off and disregard?


In short, the Brultech devices support Binary (the default format) and an ASCII format that’s used when they talk to things like http://my1240.com (as a proxy service to Google PowerMeter)

The PnP models ship configured to use the ASCII protocol, and these “commands” are sent over both the inbuilt Zigbee Module, and the RS-232 interface “simultaneously”.

For PnP models, data on the Serial port looks like:
[tt] GET /usr/bxxxxx/dev.php?sec=7983906&v=1225&c1w… HTTP/1.0[/tt]

My Plugin looks for this type of line using a pattern like:
[tt] GET /*? HTTP/?.?[/tt]

in the example above “usefulStuff” gets set to:
[tt] sec=7983906&v=1225&c1w… [/tt]

which I then process to extract the data values for each channel/CT. Technically, anything emitting that basic format will be processed for it’s values.

Until recently I haven’t had a Windows machine @Home, so I haven’t been able to run the IA Tool so I left each of my ECM-1240’s in their default “PnP” configuration (which is how I bought them).

I bought a Netbook last Weekend so I can play with the tool, and a few other “windows-specific” things that don’t otherwise play well with my Mac’s (like some Native SMS device-config tools I have, and some of the Ethernet-RS232 converters I use)

@guessed,
Thanks for the reply. Sorry for the confusion as i had thought you were an MCV employee.

We have made a little progress with your plugin but are experiencing some issues…

Setting the stage:

  1. I was incorrect, we are not using Hawking USB serial device but generic FTDI device USB<>Serial device. We are able to cat /dev/usb/tts/0 and we rx the “get” stream from the ECM. Initially, the ECM we are using was not shipped as a PnP device, but using IA we can set into the HTTP mode (PnP mode). We then had to set the baud rate to 9600 under VERA serial configuration.

We are now getting data using the “cat” command showing above:

GET /usr/3xxxxx/dev.php?sec=5444553&v=1242&c1w=221&c2w=2&wsa1=77804969&wsa2=1566445&wsap1=16836486&wsap2=264012&A1w=&A1ws=2804&A2w=&A2ws=7748757&A3w=&A3ws=3988024&A4w=&A4ws=10513475&A5w=76&A5ws=9066159&dev=12484&id=3&Resp= HTTP/1.0
Host: 192.168.30.11

GET /usr/3xxxxx/dev.php?sec=5444563&v=1242&c1w=222&c2w=2&wsa1=77807187&wsa2=1566465&wsap1=16836486&wsap2=264032&A1w=&A1ws=2804&A2w=&A2ws=7748757&A3w=&A3ws=3988024&A4w=&A4ws=10513475&A5w=77&A5ws=9066925&dev=12484&id=3&Resp= HTTP/1.0
Host: 192.168.30.11

GET /usr/3xxxxx/dev.php?sec=5444573&v=1240&c1w=221&c2w=2&wsa1=77809405&wsa2=1566485&wsap1=16836486&wsap2=264052&A1w=&A1ws=2804&A2w=&A2ws=7748757&A3w=&A3ws=3988024&A4w=&A4ws=10513475&A5w=77&A5ws=9067695&dev=12484&id=3&Resp= HTTP/1.0
Host: 192.168.30.11

GET /usr/3xxxxx/dev.php?sec=5444583&v=1235&c1w=3440&c2w=2&wsa1=77837446&wsa2=1566506&wsap1=16836486&wsap2=264073&A1w=&A1ws=2804&A2w=&A2ws=7748762&A3w=3191&A3ws=4009321&A4w=&A4ws=10513476&A5w=75&A5ws=9068454&dev=12484&id=3&Resp= HTTP/1.0
Host: 192.168.30.11

GET /usr/3xxxxx/dev.php?sec=5444593&v=1236&c1w=3371&c2w=2&wsa1=77871562&wsa2=1566526&wsap1=16836486&wsap2=264093&A1w=&A1ws=2804&A2w=&A2ws=7748762&A3w=3173&A3ws=4041490&A4w=&A4ws=10513476&A5w=75&A5ws=9069211&dev=12484&id=3&Resp= HTTP/1.0
Host: 192.168.30.11

GET /usr/3xxxxx/dev.php?sec=5444603&v=1236&c1w=3290&c2w=2&wsa1=77904991&wsa2=1566546&wsap1=16836486&wsap2=264113&A1w=&A1ws=2804&A2w=&A2ws=7748762&A3w=3110&A3ws=4073052&A4w=&A4ws=10513476&A5w=75&A5ws=9069961&dev=12484&id=3&Resp= HTTP/1.0
Host: 192.168.30.11

As you can see we are getting valid data to Vera host.

However, we have tried adding the Brultech device as the document suggests, and it shows up as device… But eventually disappears from UI. Then when we add again it shows up with NEWER (incrementally higher) DEVICE ID.

During one of the iterations of re-adding the brultech primary device, it did add ONE channel.

But eventually all the device disappeared.

Not sure what i could be doing wrong, but i believe it has to do with parent configuration etc…

Not sure how i can delete the OLD brultech devices that disappeared.

Any suggestions are greatly appreciated.

Thanks

@guessed,
I think part of the reason for the disappearance of the BRULTECH device in previous attempts is because we had originally set to ASCII.
So the plugin was getting confused.

At any rate, after we confirmed accurate stream from USB<>Serial via “cat”, we went back again and follower your updated directions from last night…

All seems to be OK this time around and i am getting accurate readings on all 7 sensors. Yee Haw!!

Questions:

  1. Is there anything in your plugin that will preclude me from using description other than “Brultech”? In other words, for future installs can i use any description i wish when creating the device?
  2. Can i change the name of the individual sensors from Meter1 etc… to more descriptive names?

So far, it looks really impressive. When do you expect your next release?

Thanks
Sean