Sunday, January 12, 2014

Starting a Home Automation System with the Universal Devices ISY-994i Automation Controller


 For a while now I've wanted to implement a home automation system into our home. I have some previous experience from setting up a system at my parents' vacation home, and I get a lot of enjoyment out of the whole process. Here is the process I went through from selecting what products to use to getting the system fully functional. I'm not going to get too deep into the actual setup steps, as this is well documented at UDI's wiki page.

Selecting a Communication Protocol

The first decision I had to make was what technology to utilize. There are a few different technologies to choose from which send communication signals over power wires, wireless, or both:

X-10: Powerline communication, very old technology that is not always reliable. The only good thing about X-10 is that the products are the least expensive.
Insteon: Dual-band communication (powerline & wireless). There are many available products, and Insteon has a large user base. Insteon controllers can also communicate with X-10 devices.
UPB: A more reliable powerline communication protocol.
Z-wave: Wireless communication standard starting to be utilized more and more in DIY system as well as professionally installed systems, such as the ADT Pulse. The popular Mi Casa Verde VeraLite controller utilizes Z-wave.
ZigBee: Another wireless communication standard that has gained traction in the market, though there are fewer home automation products availabe.

Because of the large variety of devices available for Insteon, I decided to start my system with a few Insteon devices. The heart of any Insteon system is the PLM (PowerLinc Modem). This piece of hardware takes commands from an outside source and communicates them to the devices in the network. It also reports the status of all of the network devices.

Choosing How to Communicate with Devices

When deciding how I wanted to communicate with the PLM, I again had some options:

PC Software: This approach would require software such as HouseLincHomeSeer, or CQC. HouseLinc is free, while HomeSeer and CQC are more advanced and are somewhat pricey. This approach also requires a computer to be running 24/7 if you want to run time based events.

Dedicated Automation Controller: This approach requires the purchase of an automation controller. The advantage here is that you don't have to have a PC running 24/7 in order to run events. Automation controllers are typically compact, light, and consume very little power.

I decided on the latter approach, mostly because I found the ISY-994i from Universal Devices. This controller has a great track record, great support via their forums, and a large user base. It is also relatively easy to create simple programs. The best deal I found was at Orchestrated Home, who is an authorized retailer for Universal Devices products. I purchased the kit that comes with both the controller and the Insteon PLM.

Setting up the Hardware

Below are some shots of the package contents of my shipment from Orchestrated Home. The ISY-994i comes with a power supply, instructions, and two Cat 5e cables (one for connecting to the LAN, one for connecting to the PLM.) The unit itself is much smaller and lighter than I expected. The PLM includes a 8P8C to female DE9 serial cable, in case you wanted to connect it to a device that has a more traditional male DE9 connctor for RS-232 serial communication, like a PC. This cable is not used in my setup.


Contents of the ISY-994i and INSTEON 2413S PLM boxes
 
Front Panel of the ISY-994i
 
Rear Panel of the ISY-994i
ISY-994i and PLM installed in my data closet

For the actual Insteon devices, I purchased the Insteon Comfort Kit, which contains an Insteon Hub (which I promptly put on eBay since the ISY takes its place), an Insteon thermostat, and two dimmable lamp modules. Purchasing these items as a kit provided signficant cost savings over purchasing these items individually.

In order to install the the thermostat, I had to update my thermostat wiring since I had an old 4-wire setup, as I showed in this post. I hooked up the LampLinc modules with both of the LED replacement bulbs I recently purchased, which I reviewed here.


Insteon Comfort Kit

Insteon Thermostat



The thermostat has a bright blue backlight

Insteon LampLinc Dimmer


Setting Up the Software

Once you're able to determine the ISY's IP address, the setup is pretty simple. I was able to start writing programs almost immediately. The whole startup process was very painless, and I was up and running in less than an hour.

The programming architecture uses an If/Then/Else format. A "Condition" is added to the If field to be tested; if this test is True, then the program will run the code in the Then field, and if it is false, it will run the code in the Else field. The concept is simple, but it takes time of writing different programs, testing, and troubleshooting in order to really get the hand of it.

The ISY's programming is a little bit different than what I am used to. The programs themselves have a True/False state. If the Then fields were run last, then the program is true. If the Else fields were run last, then the program is false. Because of this, programs can (and should) be used as boolean variables.

Below is an example of one of my programs. This particular program will turn on the living room light in the morning at the times and days specified in the If field as long as the light isn't already on. It also starts at a dimmed level, and then goes up to full output 30 minutes later.

If
(
On Mon, Tue, Wed, Thu, Fri
Time is 5:30:00AM
Or On Sat, Sun
Time is 7:00:00AM
)
And Status 'Living Room Lamp' is Off

Then
Set 'Living Room Lamp' 50%
Wait 30 minutes
Set 'Living Room Lamp' 100%

Else
- No Actions - (To add one, press 'Action')



The main page of the ISY's Admin Console


The Programs tab of the Admin Console


Configuration tab of the Admin Console


 Controlling the System Remotely

What good is a home automation system if you can't see what's going on at home when you aren't there? Any decent HA system has companion apps for Android and Apple devices that allow the user to perform any task they want. For my setup, I'm using MobiLinc, which seems to be the most popular app for interfacing with the ISY controllers. Unfortunately it's not free, but $19.99 seems like a fair price.

Setting up remote access to the system has a few hoops than you'll need jump through in order to get it working properly, such as port forwarding and setting up a dynamic DNS service. Those two topics are well documented, so I'll just leave it at that. I use dyndns.org for my dynamic DNS service, and it works great. Note that the ISY uses a secure port (default 443).


MobiLinc Main Screen
 
MobiLinc Lights Screen

MobiLinc Thermostat Screen

Summary
 
So far I've been extremely pleased with how well the system is working. Here's what I've been able to do so far:
 
-Outdoor lights automatically turn on at sunset and sunrise
-Turn on lights first thing in the morning
-Turn off lights when we go to work
-Have lights turn on by the time we get home from work
-Dim down lights at a certain time to encourage us to go to bed
-Create thermostat programs from the ISY (no more programming the thermostat from its tiny screen)
-Adjust the thermostat remotely if I forget to turn it up or down before leaving the house, or if I want to make the house a comfortable temperature by the time we get home.
-Create widgets on my phone to control lights and temperature without actually opening the MobiLinc app
 
In the near future I plan to add Insteon dimmers into the system in order to create lighting scenes (Dinner, Movie Time, Cleaning, etc.)
 
I would highly recommend going the ISY-994i route if you are considering your own home automation system. The team at Universal Devices has also come out with a Z-wave dongle which plugs directly into the ISY's expansion port, and adds the ability to control Z-wave devices. As of January 2014, this is still in the beta testing phase, however it looks very promising.













 



No comments:

Post a Comment