Does the HA world need yet another hardware I/O device?

Brightan

Member
I have a very basic question but it requires a rather lengthy explanation so here goes...
I design embedded hardware and software for a living and own my own business and I have also been involved in HA for 20+ years and have a side company that used to do hardwired lighting control. I say that because I'm a small company and there is some serious competition in this area and I'm having to rethink my involvement in that field. But, out of that hardwired lighting control system comes something that I have been developing for the last couple of years and that is, what I think, a unique product; a versatile, networked I/O control system. Here is the idea in a nutshell:
- Small (3 by 3") controllers have 32 I/O points
- Each controller is networked with CAN (Controller Area Network) at 500Kbps and you can have as many as 128 nodes on the network but it is fully functional with only one node.
- The hardware is pretty standard and really not that special, but, the uniqueness is that I have developed a library of software modules that can be recompiled into many configurations, allowing you to download whatever configuration you want to any controller. This means you can choose many different combinations of I/O for the 32 available pins.
- Current options for each I/O pin include
- Dimmer output to control solid state relay with features like soft on/off and timed on/off fades
- Dimmer output for PWM control of DC devices through a driver circuit like a mosfet etc
- Switch inputs that you can set the actual function of different events like a single click, double click, holding etc
- Infrared inputs that use a standard 14 button IR remote
- LED outputs that can show the status of some other device like a dimmer output (anywhere on the network)
- Scenes that can control a bunch of other outputs and make if/then/else decisions based on light level, day/night etc
- Timers that can send a command to other devices like outputs or scenes. Includes sunrise/sunset, exact time and
randomness around a certain time. Can also specify day and month combinations.
- RS232 interface for connection to home automation software
- Analog inputs where you can scale the value with (mX+B)/D type formula
- Servo motor output for controlling small hobby servo motors
- H-Bridge driver for running DC motors with positioning feedback from analog pot (window blinds etc)

Each of the possible devices has multiple settings (too many to list here) for a completely flexible system. I'm also
currently playing with the idea of adding 1-wire support as I already have most of the software done from another project.

The system is completely scalable, meaning you could use just a single module that you download software for 8 dimmer
outputs/8 switch inputs/8 LEDs/2 IR inputs with a real time clock, timers and scenes. Then, you decide to add a second
module with 24 digital inputs and 8 analog inputs and all you do is plug the standard Cat5 patch cable between the two and
you can specify the digital (or analog) inputs on the second module to control the dimmer outputs on the first module. Of
course, many other combinations are possible but some limitations apply, for example, you can't have 32 dimming outputs as the hardware doesn't support more than 12 dimming outputs but that doesn't mean the other I/O can't be used for something else.

The system uses a PC to configure it but runs completely stand alone after that and retains all of its settings between
power outages. There is also the option of tying it into a complete PC based HA system. I have Dean from CQC working on a driver for CQC which will allow his software to control and display any of the devices that you choose. The RS232 protocol is not unique to CQC and could also be used by other HA software and there is the option of accessing the CAN network directly through the USB to CAN interface if you wanted to write your own software. The entire network protocol is documented so you could even create your own hardware to add to the network if you were so inclined.

Note that there is no specific interface to other systems like X10, Insteon etc. The idea is that this forms the basis for all of the low level I/O that can be run stand alone but if you want to tie in other systems you would likely do it with an HA package like CQC. (Note: I have no connection with CQC other than the fact that I use it for my own house and I run all my hardware in my own system, but, I also use other hardware like an ELK for security)
My reason for posting this is to gauge the interest in this and see whether it warrants doing a small production run.
Also, I might be interesting in partnering with someone who can manufacture in the U.S. as the shipping costs and issues
with shipping from Canada to the U.S. are increasing.
I am open to all comments, good, bad or ugly...
Steve
 
considering how many people fell for this (http://www.cocoontech.com/index.php?showtopic=7294) hard and fast, there seems to be room for another hardware controller in the marketplace :lol:
 
considering how many people fell for this (http://www.cocoontech.com/index.php?showtopic=7294) hard and fast, there seems to be room for another hardware controller in the marketplace :lol:

I completely missed that whole thread! My system is short a few of those features but it does actually exist!
 
I'm sure many will toss technical suggestions back and forth on this so I'll skip my 'embedded guy input'.

I think the biggest 'problem' is worrying if you will be around next year. I evaluated a bunch of systems -- Stargate, Elk, HAI, Oncelot, and HomeVision . For my application HomeVision lined up the best. I absolutely love the thing, can't say enough good about it... In the back of my mind though I wonder if it will be around in 10 or 20 years. The system is very well supported but I don't see new products coming out. Not the same for Elk and the other 'big fish'...
 
I'm sure many will toss technical suggestions back and forth on this so I'll skip my 'embedded guy input'.

I think the biggest 'problem' is worrying if you will be around next year. I evaluated a bunch of systems -- Stargate, Elk, HAI, Oncelot, and HomeVision . For my application HomeVision lined up the best. I absolutely love the thing, can't say enough good about it... In the back of my mind though I wonder if it will be around in 10 or 20 years. The system is very well supported but I don't see new products coming out. Not the same for Elk and the other 'big fish'...

I'm planning on being around for at least another 20 years but you never know what the future holds. Because I have a number of systems like this in place I am already responsible to them to stick around but there has to be enough interest in this for me to take this particular version to market otherwise I am wasting me energies and it doesn't do anybody any good to have only a few people buy in. So, to answer your question, yes there would be a committment but only if there is sufficient interest.
 
Hi,

You know what I think would be useful? A small device with a pair of serial ports (or pairs of ports) with software specialized for converting from one devices serial protocol to another devices serial protocol.

I have encountered many occasions when I wished to use a device requiring serial control only to find that the home automation controller I was using didn't have a driver. But I could often find a driver for a similar device. Being a long time programmer I have (for testing purposes) written simple "protocol conversion" programs to run on a PC having a pair of serial ports, to verify that the available driver could work to control the device I was interested in using.

Sometimes it was a simple matter of converting one string of characters to another. Sometimes it involved parsing a number of lines of text to locate specific information. I'm sure you can see the sorts of things that might need to be done.

However installing one or more PCs running Windows just to run these simple programs is total overkill.

I would be fine coding in C or Assembler for something like the old Intel 8085 microprocessor (or whatever is the current champ, it's been years since I worked with microprocessors).

A nice small "black box" running off a wall wart with a pair or more of serial ports, that's all I am asking for. Is that too much to ask? <g>
 
considering how many people fell for this (http://www.cocoontech.com/index.php?showtopic=7294) hard and fast, there seems to be room for another hardware controller in the marketplace :)
That has to be one of the best posts ever :) If I had the time and budget, I would actually build this.


Anyways, I definitely would like to see support for more serial ports, and support for simple parsing of ASCII data on the serial ports. I.e., I want to be able to hook up a NetCallerID device, grab some data, and relay that to another serial port.

Also, what price range are we talking about?
 
Hi,

You know what I think would be useful? A small device with a pair of serial ports (or pairs of ports) with software specialized for converting from one devices serial protocol to another devices serial protocol.

I have encountered many occasions when I wished to use a device requiring serial control only to find that the home automation controller I was using didn't have a driver. But I could often find a driver for a similar device. Being a long time programmer I have (for testing purposes) written simple "protocol conversion" programs to run on a PC having a pair of serial ports, to verify that the available driver could work to control the device I was interested in using.

Sometimes it was a simple matter of converting one string of characters to another. Sometimes it involved parsing a number of lines of text to locate specific information. I'm sure you can see the sorts of things that might need to be done.

However installing one or more PCs running Windows just to run these simple programs is total overkill.

I would be fine coding in C or Assembler for something like the old Intel 8085 microprocessor (or whatever is the current champ, it's been years since I worked with microprocessors).

A nice small "black box" running off a wall wart with a pair or more of serial ports, that's all I am asking for. Is that too much to ask? <g>


I've built and/or designed a number of these black boxes for different hardware that I've worked with. Some of them are in use, others were just as an exercise. For example, I have one that sits between my "weather box" and PC. The weather data is streamed constantly, but that's overkill for the computer - I don't need to know the second-by-second change in outside temperature. So the box that sits between them not only converts the format of the data (slightly), but it also limits it to once every five minutes. By the way, I wrote the software on the weather box too, but I was too lazy to change it. It was easier to leave it the way it was (which I like, otherwise) and put this other box in between.

The difficulty with doing a generic box, which I think you touched on, is in the software. Anticipating everything that might be required is just about impossible. So you end up basically writing a complete program for each circumstance. I think this is probably the best way to do it for most things.

For simple conversions, you are talking a processor (I like AVRs myself), one or two RS232 level chips (MAX232 equivalent), and various resistors, capacitors, and crystal/resonator. It's pretty cheap to put together the simple hardware. Maybe all someone needs to do is come up with a simple PC board and box that would hold these components (and "look nice"). Leave the software up to the end user (or community). Many potential boards exist, but they only have one serial connection.
 
I've built and/or designed a number of these black boxes for different hardware that I've worked with. Some of them are in use, others were just as an exercise. For example, I have one that sits between my "weather box" and PC. The weather data is streamed constantly, but that's overkill for the computer - I don't need to know the second-by-second change in outside temperature. So the box that sits between them not only converts the format of the data (slightly), but it also limits it to once every five minutes. By the way, I wrote the software on the weather box too, but I was too lazy to change it. It was easier to leave it the way it was (which I like, otherwise) and put this other box in between.

The difficulty with doing a generic box, which I think you touched on, is in the software. Anticipating everything that might be required is just about impossible. So you end up basically writing a complete program for each circumstance. I think this is probably the best way to do it for most things.

For simple conversions, you are talking a processor (I like AVRs myself), one or two RS232 level chips (MAX232 equivalent), and various resistors, capacitors, and crystal/resonator. It's pretty cheap to put together the simple hardware. Maybe all someone needs to do is come up with a simple PC board and box that would hold these components (and "look nice"). Leave the software up to the end user (or community). Many potential boards exist, but they only have one serial connection.

Thanks for taking the time to reply. I have done some searching but haven't been able to find any existing hardware which is close to what is needed. I have found simple one board computers which need additional components, enclosure, power supply, etc. I have found small form factor PCs running embedded Windows XP. I haven't yet found the ready to go "black box" at a good price point.

I may just have to start making and selling these things myself.
 
The difficulty with doing a generic box, which I think you touched on, is in the software. Anticipating everything that might be required is just about impossible. So you end up basically writing a complete program for each circumstance. I think this is probably the best way to do it for most things.

For simple conversions, you are talking a processor (I like AVRs myself), one or two RS232 level chips (MAX232 equivalent), and various resistors, capacitors, and crystal/resonator. It's pretty cheap to put together the simple hardware. Maybe all someone needs to do is come up with a simple PC board and box that would hold these components (and "look nice"). Leave the software up to the end user (or community). Many potential boards exist, but they only have one serial connection.

I have built various devices like this as well and I agree with the above statement, writing a generic program to do the conversion would not be possible, it would have to be custom. Building a two port RS232 device is simple enough, as also mentioned, but the problem would be the user would have to have a compiler of some sort and a downloader/debugger. For some processors they might even be free but there would be a significant learning curve for somebody that hasn't done this before. To do a custom program for somebody else might not be cost effective unless you could build up a library of devices that others would be interested in purchasing.
 
To do a custom program for somebody else might not be cost effective unless you could build up a library of devices that others would be interested in purchasing.
I wouldn't count on it ever being cost effective. I don't think you could create a good business model for this.

I think it would have to be community based. I'm thinking more along the lines of Arduino (www.arduino.cc) or maybe Linux. Basic hardware that everyone has access to. A community of people who will create these things and put them into a library for others to download/modify.

I think the only place for an actual business would probably be manufacturing the boards/kits. The arduino stuff has fanned out into several different people providing hardware, all using the same software base.

The hardware uses a bootloader and software is easy to download over a serial or usb port. It's pretty easy for an end user to load programs into the device.

Obviously, this is something that many people could provide on a custom level. But you'd be looking at pretty high prices (for the software) running on $20 or $30 worth of hardware (minimum, maybe $10). I think the open library of custom software would work better.

Now, someone just needs to make an Arduino board with two serial ports.
 
Now that the talk has switched to the hardware/software I have some thoughts along the lines of 'useful modules'.

1) Bridges for various lighting technologies. This would allow us to use the best switches for the job instead of being tied to a single option. My wife would really like the dimmer with the LED's from Insteon. This seems like a simple project. The only complication being the way the user specifies which events get bridged. I like this better than using a PC and automation controllers seem to be pretty starved for RS232
a) UPB<->ZWave
B) UPB<->Insteon
c) Insteon<->ZWave

2) How about a ready to go box that can be placed in an audio stack that has IR 'stuff', a hardware output (for muting) and an rs232 port. This box must have an RJ45 connector. Also provide me with the cable for the other end to plug into my patch panel that breaks out the RS232, IR, and mute lines. This would make integrating AV stuff a slam dunk. Bonus points for making the RS232 with an XPort so it would sit on the home network.

3) How about an RS232 mux. Give me 4 RS232's in and one out. Allow different baud rates etc.

4) How about a 1wire system that talks RS232 (or xport). Give me a way to have all the 1wire stuff in an easily integrated fashion... my HomeVison almost has this right but instead of half degree resolution it is one degree resolution and it only supports Temps.. Put RJ45 connectors (like hobby boards) on it so it is a snap to wire. Make nice wall mounts for them so I don't have to screw around with fabricating them.

5) I hate all the darn wall warts. Make me a power supply in a can that has 5/9/12DC and 24AC on it. Let me hook up a battery to it and have some of the outputs to be battery backed. Then give me a a break out that mounts in the Leviton case that makes it look pretty. Maybe the separte voltages are modules so you can mix and match (sort of like the DIN stuff)

6) Make all of your modules so they mount right into a CV or Leviton case. Make the wire connections on these boards 'the same' so the panel wiring looks nice and clean when they are mounted next to each other.
 
4) How about a 1wire system that talks RS232 (or xport). Give me a way to have all the 1wire stuff in an easily integrated fashion... my HomeVison almost has this right but instead of half degree resolution it is one degree resolution and it only supports Temps.. Put RJ45 connectors (like hobby boards) on it so it is a snap to wire. Make nice wall mounts for them so I don't have to screw around with fabricating them.

I was thinking that this was a good idea and came across this product during a search to see if something already existed
http://embeddeddatasystems.com/page/EDS/PR...CFQ6XggoddCU5-w
 
I've been checking out various hardware I/O devices and even built a few myself. I want the devices and sensor states to be accessible from my HA software on my PC, currently HomeSeer. However, I'd like the flexibility to move to other software at some point if desired. The problem has been an absense of a standard hardware I/O protocol that most HA software would support. You're left with creating plug-ins, assuming the HA software even supports that. Given that most HA software supports X10 over a CM11A, my thought is to have a box that emulates a CM11A over an RS-232 port. The CM11A emulator would represent each endpoint as a specific X10 device type, depending on whether it was digital or analog, input and/or output. To the HA software, the sensor network looks like regular X10 devices, but with the reliability and speed of a hardwired network.
 
Back
Top