Help select a protocol for a DIYer

Ricoware

New Member
Hi guys,

Years ago I used X10 via Firecracker module to control my reef tank. It wasn't very reliable though, and that was in a newly built house (at the time, ~2001). I've moved since then, and my new house was built in the early 70's so the wiring is even sketchier. Also, my server has been upgraded since then and the new box doesn't have a serial port on it.

I'd like to get started automating my house, so I've been Googling for the past few days... the number of choices available now are kind of overwhelming, but the information available to a DIYer is pretty underwhelming. I'm a professional software developer, and hobbyist electronics hacker.

What I would like is a home automation platform that is reliable, isn't dependent on any existing infrastructure unless it is capable of overcoming existing deficiencies, and has a simple interface to a computer with a well documented API or protocol. I have IPCams and a weather station that I can hook into for data.

I don't want a box with embedded web service and control software, I want to do that part myself using my existing server and self-written software.

I would like to control:
- Room lights
- A/C (furnace and central air)
- Outlets (not lamps, actual grounded outlets)
- Irrigation (8 ports is plenty)

I would like sensors for:
- Garage door open or closed state
- Motion detection on driveway or front walk
- Occupancy state for various rooms in the house
- In the future I'd like to add security features like door locks, doors open/closed, etc.

Can anyone give me some suggestions on a platform that can provide all or most of the above requirements? The most important piece to this puzzle is the PC connection to the platform. It should be USB, but I could add a serial card to the server if absolutely necessary. Without a simple PC interface, I'm not sure I'm willing to go any further.

Thanks!
Rich
 
You certainly can look at ELK or HAI as a platform. There are lots of discussions in this forum on the pros and cons of both systems.

I have an HAI OmniProII. You can connect via rs232 or preferrably use the built-in network port. You have to request the HAI SDK from the vendor but I recently did that and got access to the HAI SDK. I am not a full time programmer but I have converted most of the example program that came with the HAI SDK from C# to Visual Basic 2010. Was pretty easy conversion.
 
I'm not sure I'd call Insteon "well-documented" unless you buy the SDK, but there is enough information available. Here are my notes and links: http://www.madreporite.com/insteon/insteon.html I use the PLM, which is available in USB and serial types (which are 100% interchangeable as far as software is concerned). It is also possible to use the SmartLinc via port 9761 basically as a PLM over IP. The other common approach is using the ISY, which is what you said you aren't looking for, but it does have a REST interface so that is an option for your own development.

It could be used for everything you describe.
 
If you are going to write your own control software then I would recommend staying with X10 or give Insteon a try as the others are not going to be easy to code to.
 
Thanks for the replies! Sounds like Insteon is the direction I should be looking.

Jdale: I looked at your site and it appears that I don't need to buy the SDK, is that correct? I'm still not clear about the differences between the 2412U and the 2413U versions of the PLM, or between the PLM and the PLC. What does "dual band" mean, is it necessary? Do you have any experience with the Smarthome Device Manager?
 
I would add UPB to your list to check out. Their protocol is simple to implement and well documented. Protocol docs are freely available from PCS (the makers of the UPB protocol). They also have digital input/output modules that would simplify interfacing external devices.
 
I went through the same process as you, upgraded from X10 to Insteon and have written a complete application.

I, personally, think Insteon SDK is its strongest argument. Yes, there is some info available but for $200 or whatever it now costs, you can get access to all available documents (even if they're not always up to date) and developer forum access. It's user forum but it could help. Frankly, if you're spending a bunch of $$ on equipment, you might as well spend a little more on SDK - it will definitely save you a lot of time. I don't know about other protocols but I'm pretty sure if you want to get z-wave SDK, it's going to cost you A LOT more.

So to answer some of your questions - current PLM is 2413. 2412 is an older model. PLC (2414) is an original controller, now mostly defunct and unreliable. 2413 is pretty good. The USB version uses usb-to-serial chip so it's USB but you use it as a serial device, which is a lot easier to program than a true USB device.

Dual-band refers to devices that can communicate through RF in addition to power line. It definitely makes them more reliable. Depending on your setup, dual-band might be strongly advisable.

If you want locks though, I think z-wave locks are way to go. I pretty much only use Insteon but am planning to add z-wave locks. I've installed locks already but the controller (vrc0p) is on backorder until end of March (or longer). Once I get it, I will add z-wave support to my app.

If you're comfortable with command line and java, I can share my app source code with you. The only things it's missing is a GUI. Don't know when I'll get around to adding that.
 
i wrote a zwave app based on the zwave demo app included in openzwave http://goo.gl/cwn34 it was very straightforward & .net based. i also wrote my own interface to upb. the protocol is very well defined http://goo.gl/GDqtW as mentioned above.
 
I still like UPB the best for lighting; there's info about it in my signature. Also for everything you're wanting to do, I'd start with an Elk or HAI, then add on UPB and some controllable thermostats and a relay board, and you have everything you need. The API for Elk is well documented and you only have one thing to interface with rather than each individual device; or you can go to each device directly. I find it interesting how many people push Insteon on the forums to newcomers; I don't think it's proportionate to what many people on the board actually have installed.

I will point out that wanting USB vs. Serial is a bit naive; those devices just have a USB to Serial device built-in; and I've had problems with some. I'd much rather use my own serial-to-usb adapter (I've found the Aluratek to be awesome - compatible with every system i've thrown at it), or go to serial over IP.
 
Jdale: I looked at your site and it appears that I don't need to buy the SDK, is that correct?

I did not buy it. I can't say how useful it would or wouldn't be (not having seen it), but it is not necessary.

I'm still not clear about the differences between the 2412U and the 2413U versions of the PLM, or between the PLM and the PLC. What does "dual band" mean, is it necessary? Do you have any experience with the Smarthome Device Manager?

The Smarthome Device Manager is only for the PLC. The PLC is an older device, it has not been updated in a number of important ways. I consider it obsolete. There were some things about it that made it easier to program (including the SDM) but I found it erratic. Personally I would recommend skipping ahead to the PLM which is up-to-date, but requires a bit more effort to get going with.

The 2413 version of the PLM is dual-band, so it communicates via radio as well as powerline. In some cases this can improve the reliability of your mesh. The 2412 is powerline only (but other dual-band devices will convert other RF signals to powerline, so this is not a limitation). There's also the RF-only stick PLM. As far as software is concerned, these are all identical, you do not have to do anything different when switching between them, except that the stick PLM does not support X10 at all.


Not having done anything with UPB or Zwave I really can't comment on which is best. I picked Insteon because of price and X10 compatibility. It has worked well for what I wanted to do.
 
The 2414U PLC is on sale and my thoughts are about to be discontinued.

As for the SDK. I have mixed feeling on it. Lately they have been giving us some information on upcoming changes. For a time we didn't get much at all.
 
Thanks again for the replies, they've helped me concentrate my search quite a bit. One thing I'm noticing with the Insteon sensors in particular is that they are more that just simple sensors. The occupancy modules, for example, can send commands to other modules on their own. Doesn't this needlessly add to the cost of the module? I just want simple sensors and switches, something that can send an alert (in the case of sensors) or accept a command and report state (for switches) letting the central control software handle all of the cross communication. Are there modules that don't come with all the extra stuff, hopefully much less expensive?

Note that the cost isn't really an issue, but I certainly don't want to pay for features I will never use. Just because I can afford something, doesn't mean it's a wise purchase.

Rich
 
It probably does add to the cost of the modules, but it also adds to the reliability, since every unit verifies every message it sends has been received.

If you are building your own system, one option is to add a W800RF as an X10 RF receiver. The X10 RF signals are received directly at the computer, so you don't have to worry about the unreliability of X10 powerline messages. This is more reliable and faster than using an X10 receiver module that converts the signal to the powerline. http://www.wgldesigns.com/w800.html You can then use the cheap X10 motion sensors etc.
 
+1 on jdale's comment. X10RF is very reliable/fast and the W800RF is a great interface that eliminates powerline contention. There are inexpensive motion sensors and wireless keypads that you can find hundreds of uses for too.
 
Thanks guys! I'm looking into the W800RF now... Funny thing is, the Rain8 is what I decided to use for irrigation control last year, but I was looking at the serial version at the time. Totally forgot they had an X10 version too. heh heh
 
Back
Top