New software solutions for the ECM-1220.H

Btech

Active Member
I would like to notify the ECM-1220.H users of some recent software additions/changes.

1. We now have a resident ECM-1220 server which resides in the "systray" and runs in the background. Simple text commands provides user access to data from any LAN connected PC. Simple VB code is included as a starting point for those wishing to write custom software. A simple "getkwh2" immediately returns CH2 kilowatt-hour.. it's that simple. "Resident Server" is the program which runs in the background and "Read Server" is the sample code and demo exe file to demonstrate how easy it is to obtain ECM-1220 data.

2. Many improvements and fixes have been done to our "Lite 1220" software.


See: http://www.brultech.com/ecmsupportupdate.html

Paul
 
This works really well, making it very easy for anyone with basic programming skills to create a driver for their favorite HA application. Lots of potential!
 
This works really well, making it very easy for anyone with basic programming skills to create a driver for their favorite HA application. Lots of potential!

I don't even need a driver. If I can get the data into a text file using a batch file then I can call the TTS program and speak the values with another batch file. I want to keep it simple and reliable.
 
not sure why you would want the power consumption announced, but yes, anything is doable, that was the point of my post :)
 
I would like to notify the ECM-1220.H users of some recent software additions/changes.

1. We now have a resident ECM-1220 server which resides in the "systray" and runs in the background. Simple text commands provides user access to data from any LAN connected PC. Simple VB code is included as a starting point for those wishing to write custom software. A simple "getkwh2" immediately returns CH2 kilowatt-hour.. it's that simple. "Resident Server" is the program which runs in the background and "Read Server" is the sample code and demo exe file to demonstrate how easy it is to obtain ECM-1220 data.

2. Many improvements and fixes have been done to our "Lite 1220" software.


See: http://www.brultech.com/ecmsupportupdate.html

Paul

Looks good, I don't suppose it can run a service, since it would be perfect on my windows home server, but systray apps don't load unless the console is logged in?
 
Isnt there an app of some kind that allows you to run anything as a service?

Last time I looked they had issues with tray apps, since tray apps usually dislike not having a tray to put themselves into, also apps that pop dialogs when there is an error can cause issues as well, hanging the service container. Maybe these thing have been worked around, but there nothing like building an app like this to be headless from the ground up to avoid these problems and "server" apps usually fall in this category.
 
You could use firedaemon to run this as a service. But I agree, having this be a service to begin with would add a lot of value. That's why it is important we test this software as much as we can, so we can provide feedback while they are still designing the software.
 
not sure why you would want the power consumption announced, but yes, anything is doable, that was the point of my post :)

Anything worth measuring is worth announcing when certain parameters are exceeded. In my case it would be very useful when I have a house full of family visiting who leave their bedroom lights on all day. I already have reminders that "the lights in room XXX have been left on." These are not getting enough of a reaction. I want to try "WARNING Electricity usage has reached xx dollars today. Normal consumption is yy dollars per day. Please shut down unnecceasry lights and appliances." This might guilt them into turning off the lights (or to chip in some cash to help offset the excess usage).
 
not sure why you would want the power consumption announced, but yes, anything is doable, that was the point of my post :)

Anything worth measuring is worth announcing when certain parameters are exceeded. In my case it would be very useful when I have a house full of family visiting who leave their bedroom lights on all day. I already have reminders that "the lights in room XXX have been left on." These are not getting enough of a reaction. I want to try "WARNING Electricity usage has reached xx dollars today. Normal consumption is yy dollars per day. Please shut down unnecceasry lights and appliances." This might guilt them into turning off the lights (or to chip in some cash to help offset the excess usage).



Well I would not hold my breath for any guilt reactions.. hahaha
 
You could use firedaemon to run this as a service. But I agree, having this be a service to begin with would add a lot of value. That's why it is important we test this software as much as we can, so we can provide feedback while they are still designing the software.

From firedaemons site: "The System Tray is another sticking point. When an application runs in the System Tray, it initially binds to it (so it can display the icon, menus etc.). If the System Tray is not present (i.e. at system boot) this binding process might fail."

So it depends on the app and how gracefully it handles the tray not being present, there are a lot of gotchas trying to run apps that expect to be on the visible desktop when there is none, and honestly it's pretty trivial and in fact easier to write a service since there is no UI to code at all. Something like this, there is really no need to have a tray app since it was designed to listen on the network and be headless, the UI that is in the tray app should just be spun off into a client exe that can reside in the tray and communicates over tcp/ip with the service locally or remotely.

But of course better yet the ECM-1220 should just be on ethernet and be the server but I digress :), I could deal with a service, that might be workable.
 
You can use srvany.exe from the windows resource kit to run programs as services. I've used it before to run distributed computing apps as services.
 
What is the purpose of this 'middleware' application that sits in the tray? Is it to abstract the underlying control protocol in order to simplify programming? How complicated can this gadget's protocol be? I'd be shocked to learn it is more sophisticated than what is found in an ELK M1 ... and it doesn't use middleware.

Why not follow in the footsteps of hundreds of other devices and simply provide a well-documented, bi-directional, text-based communications protocol that works over RS-232 (as found in A/V equipment, security panels, etc). Serial communications are fully supported by all major HA programs, and by all programming languages, and don't need middleware ... one more layer of cruft between an app and the device.
 
What is the purpose of this 'middleware' application that sits in the tray? Is it to abstract the underlying control protocol in order to simplify programming? How complicated can this gadget's protocol be? I'd be shocked to learn it is more sophisticated than what is found in an ELK M1 ... and it doesn't use middleware.

Why not follow in the footsteps of hundreds of other devices and simply provide a well-documented, bi-directional, text-based communications protocol that works over RS-232 (as found in A/V equipment, security panels, etc). Serial communications are fully supported by all major HA programs, and by all programming languages, and don't need middleware ... one more layer of cruft between an app and the device.

Looks like they tried to kill two birds with one stone, 1 provide a way to access the device via TCP/IP and 2 simplify the protocol. I agree it is strange, if the device had this simplified protocol on the serial interface all this software would need to do is proxy it out over TCP/IP, on top of that if the device had an ethernet port you wouldn't need this software at all. From what I have seen the protocol didn't need to be simplified, but getting in to TCP/IP is a big deal for me.
 
... From what I have seen the protocol didn't need to be simplified, but getting in to TCP/IP is a big deal for me.

I wonder if the traditional solution would work, namely use an RS-232-to-Ethernet adapter like a Lantronix UDS10. These adapters have been successfully used with all kinds of serial-based gadgets.
 
Back
Top