Insteon / X10 Home Automation project
Hi, Luis Garcia here, I’m a systems engineer at a telecommunications company in FL. Among one of my many functions are programming, web-design and networking.
Over the last few months and with the purchase of my new home in 2005, I decided to go all out on the integration of software / hardware home automation which I’ll put here on how it was done.
After doing some research about Insteon and X10 I finally jumped in. Basically writing from scratch my own server, client. This of course grew to include Web / Flash client and other goodies! My hardware setup can be found Here. The main components are the Insteon PLC (Serial device) and supplementing it with x10 technology. I use various languages such as VB 2008 , Asp.net, Flash Action Script 2.0, C#, PHP and MS SQL databases.
Here is a sample video of Insteon / mixed with X10 here .
Any feedback or comments are welcome.
The site/blog is split in various sections, please check them out many are related to Insteon, some are not but all are tied into my home automation project in a way or other. Hopefully they will guide and help you !
General (You can start here)
- Day to day post, changes and other minor entries
Hardware Section
Which included installing Insteon / X10 devices and putting them to use.
- Getting / Setting Insteon information from the Venstar T1700 thermostat
- Insteon I/O Linc for Garage
- Installing a Insteon Inline Linc Relay with a ceiling Fan and lamp
- Disabling Dusk / Dawn feature in Eagle Eye motion sensor
- Installing a Insteon Switchlinc or Icon switch device
- Hardware:Controlling your Garage door using X10
- Software:Get X10 data to your PC using a Insteon PLC
- Installation:Good collection of Install/Sample videos
- Installation:Setting up a virtual 3 way switch
- Part #1, Starting up the project
Software Setup
Including VB / Script programming directly related to my Insteon / X10 program, mostly using the PLC device
- Utility:Convert X10 to Insteon Program with a PLC
- Reading the Status of the Insteon I/O Linc Garage door contact
- More ways to speak to your Insteon Devices (2009)
- Another way of polling Insteon Devices via VB
- The “Configuration” database
- The ‘Devices’ Database
- Controlling Monitor power state (on / off) via software
- Setting up Insteon groups via SDM or ’soft linking’ commands
- Reading data from a Insteon Controlinc doing custom functions PC programming
- Setting up Insteon groups via software or ’soft linking’ using Simplehome.nets utility
- Good free must have Insteon programs
- Software:Get X10 data to your PC using a Insteon PLC
- Software: Get Insteon / Talking to your PC – Part 2
- Software: Get Insteon / Talking to your PC – Part 1
- Software:Controlling Insteon devices using an email account
Non Insteon Programming
Including VB code on things that my not relate directly to Insteon, for example Port monitoring, FTP sessions, etc. All which Ive used some way in my program but can be used for other purposes.
- How to force outlook client to check for email (pop3/imap etc) via vb code
- Hosting more than one web page using Apache (Virtual hosts)
- How to open and send data in a specific port in VB / 2005
- Grabbing individual files via FTP in VB 2005 / VB
- How to monitor and capture data in a specific port in VB / 2005
- Controlling Monitior power state (on / off) via software
- Software: Simple VB Caller ID program and Flash lights
- Software:Play WAV,MP3 and Playlists, from your program.
- Installation:Getting Sunset / sunrise for your program
Flash
Tips and things ive done using Flash (CS3) / ActionScript, not necessary to Insteon
- How I Interacting Flash with my SQL / Insteon System
- Flash:Loading Variables from files into Flash
- Automatic Coffee Machine (Yes it can…)
- Flash:Showing the ‘time’ in flash continuously.
Photo Album
Current Hardware/Software Setup
‘————————————————————————————-
great work on the insteon setup. I just created my first application to control my lights and power on devices and it works very well. I was really interested in how you combined outlook to monitor and send messages to insteon.
I am getting an error when I try to compile around the “Public function Checkemail() as Boolean” it says its not in the right namespace.
do you have any tips on how to integrate the outlook capabilites to my simple program. I would love to send an email with the message “turn lights on” and it will turn on all the lights in a command.
thanks
Itai
Great, I’ll post more as I go along!!
Did you look at available HA software before deciding to roll your own?
I use the formally commercial but now free Motorola Premise home control.
If you have not checked it out visit cocoontech.com for the Premise forums,
lots of good pay programs discussed there also.
Hi, I had looked at a couple of them out there but as flexible as they are and look I still felt limited.
For example I wasn’t able to do the following ‘macro’ on any software. My walk in closet is inside the master bathroom. I wanted to be able to when I walk out of the bathroom turn off the main bathroom light and have it turn off the master closet as well. But at also when I turn on the master bathroom light the closet will not turn on, unless motion is detected. Another simple one was. My Appliance link on a coffee machine is sitting next to the sink switch. I wanted to be able to double hit the sink switch and turn off the appliance link. Also I do what I call re-programming’ of buttons, for example on my desklinc I catch any button (on/off) of the 5 available and redirect them as toggle (on/off) so at the end of the day I have 10. Its the little things like that.
I’ll visit that spot now and check it out…
Thanks for the reply,I know in Premise you can do a lot with VB scripting as far as having thing reacts to state changes. Premise used to be quite expensive before Motorola stopped supporting it, when they stopped support they let people have it for free. The GUI for Premise is not as nice as some of the newer systems like CQC or Main Lobby but it is possible to update it.
As for the pay programs CQC is very powerful but also quite expensive. Here is a link to the CQC site.
http://www.charmedquark.com
Hey Luis,
Impressive compilation, good work done…
Thanks!
Hi Luis,
I am trying to get inot home automation stuff. I used a tiny bit of X10 stuff and on browsing the web I stumbled into Insteon products. As I dug more and more I continue to get confused as to where to start especially being budget conscious in this tight economy.
I am not a programmer but I can “mess” with stuff even if it keeps me up all night long. Now here comes you in the picture. Man oh man, I read through a lot of your stuff. They are absolutely incredible. I love gadgets and one day would love to have some of the automation to enjoy with my family.
Any way, I wanted to see if you would advise me where to start for simplicity. Here is what I would like to do for starter:
1) control/dim a few lights in the living room, hallway light upstairs that reflect downstairs, outdoor lights i.e. garage, front porch and back, master bedroom for now.
2) be able to setup scenes or macros to do different things
3) be able to interface with my iphone and to show off to friends
4) to able to control the lights while away from home
5) to able to incorporate the lighting with my home theater system. I have a universal remote which use IR (MX-3000). Currently, I am using a little bit of the feature with my X10 products
6) Possibility of setting up a software using Apple or Microsoft computer.
This may not seem to be basic. However, I think this is where I would love to begin and expand later.
I would certainly appreciate your advise. I am overwhelmed at this point.
By the way,keep up the good work. Also I am in Florida as well.
While I wait for your response…..
Cheerio
Ron
NB: I could not find Part 2 of your Insteon Project. I read part 1. Remarkable!
Hi, and thanks for the comments. In my case I started with the $99 starter kit which includes the desktop controller, two access pointers (Which you really need) and one lamp linc.(This goes between the lamp outlet and the lamp, also great for Christmas decorations or other places) The cool thing of insteon is that each device can be a transmitter or responder so really the setup is up to you. Just with this you can dim and set lights to certain levels at the press of a button, even without a computer. I do admit the more devices I put the better and faster it got. So don get frustrated at first it sometimes it fails. Now a days I have 4 access points (Since I use them outside for the decorations) and I ALWAYS get a response from the devices. its just a mater of fine tunning the placement in your house.
Response to your questions,
#1 continued… To reflect changes on a keypad you would need to use the keylinc which is a bit costly $79 but its like 8 buttons in one, and again no computer is needed. 🙂 Ebay is always a good spot to check.
#2 Each transmitter can have various responders so you can ‘link’ a single button to many switches.
#3 You will need to get into programming, in my case I use a PC which runs all the time and hosts a web page outside on the internet. From there its a VB 2008 program that does all the backwork. The pages are PHP but you can really use any language.
#4 In my case my PC loops thru many commands every second. I’ve tied in Email, databases and other goodies in there. I works like a charm but its’ microsoft so sometimes it requires a reboot, but hardly never since many times Im working on it.
#5 Insteon has a IR to Insteon and a Insteon to IR so its really a mater of reading the signal and doing what you want, in this case you will need the computer.
#6 I have what they call a PLC which is the device which connects to the PC via a serial, the PLC is very easy to program but isnt as fast (You cant run a light show or anything) and requires that you use special windows software which is a Com object. They also have what they call a PLM which is true serial conncetion so you send commands like hyperterminal. I know there are a couple of peolpe who have done mac interfaces for these types. they are harder to config but are really down to that network level. there is also a company called universal-devices which has a mix of the PLM/XML language which is maybe what you are looking for.
Thanks hope to see what you set up. I took it slow and have been purchasing little by little.
Hi I am currently using ActivePro Home with cm15 interface, and am considering slowly changing to insteon for the better reliability. I have a couple of questions? 1) How effective is the system when you are using both X10 and insteon device at the same time? 2) What is the best interface (Controller) to use. (I would prefer to NOT have to leave the computer on 24/7. I am currently using timed on/off’s for switches and modules and difffernt macros.
Thanks for any advice or help the you could give me!
Steve
Hi, yes I have found that Insteon does sometimes swallow X10 signals if it gets busy.
The PLC 2114 does timers without a PC on, but can transmit a max of 4800 only, the PLM 2112 can transmit faster but you need to do all the code behind it. (Which is what I prefer). As for leaving the PC on all the time, I have no choice since I run other stuff on it as well. I’ve read the ISY are great products that do logic (Similar to what im doing with the PC) but dont have one myself, here is a link
http://www.smarthome.com/12233P/ISY-99i-PRO-INSTEON-Compatible-Automation-Controller-with-PLM/p.aspx
Dear Mr. Luis Garcia,
I am Mohammed and i’m writing this since u have used the insteon technology as u mentioned in ur article. im a student in Sultan Qaboos
university in Oman and my group and I are doing a final year project based on developing the insteon tech. and i will be so grateful if u gave us some help.
regarding this technology what code (programming language) can we use to develop it.. is it only the C code or we can use another language??
the other question is how can we implement the wireless in this tech. ?
and the last question is : is insteon availabe with *50Hz/220VAC or 240??***
i tried to read some articles but most of them recommend to buy the insteon kit so that i understand the code. would u plz give me an idea what does the codes mean?
thats all my concerns and i will be very happy to get a reply from u..
I am looking forward to hearing from u very soon..
regards,
Mohammed
Hi, we’ll the SDM object that the PLC uses, can use any programming language that uses com objects like C#, VB,.NET, java etc. To my knowledge it doesn’t work in 240V. And to your final question yes they ask that you buy the SDK to get the info ($100+), im not a member myself since for what ive heard there is not much from what you can pickup from the web. Also once you become a member you have to sign a Non-disclosure agreement which means you can share any information there, and that is why I put this site up.
Check out efundies.com for another set of examples.
Luis, this is some great stuff. I was using X10 years ago more for the wow factor with friends but I’m buying my first house and would love to see touchscreens on the wall with weather updates and scene settings. Absolutely an inspiration, keep up the great work!
Thank you.. will do…
Hi Luis, I’m trying to get my project up and running. I’ve got it working when debugging in VB 08 but when I go to try to run it through my browser it fails with a generic error: “Retrieving the COM class factory for component with CLSID {53A47403-34CF-412A-87E6-CEA3482CEF2A} failed due to the following error: 80080005”. Google doesn’t help out too much, very generic answers, all of which I have tried. Any help would be greatly appreciated!
Thanks!
Tom
you may need to Reference the SDM object on your web pages just like if you were doing a internal application. For me I found the easiest to just from your ‘web’ application shoot to the SDM Web 9020 port. Something like this.
Using some of the code shown on the site, this is a quick example
Public IWEB As String = “http://192.168.0.2:9020/abc.txt?sendInsteonRaw=”
Webclient1.DownloadString(IWEB + “00 00 00 ” + InD(Device).MacSP + ” 0A 11 ” + Rate
Question, how did you use insteon devices outside during Christmas? Did you enclose them? Does Smarthome make a module for exterior? Thanks
There is a couple of ways, for example there was a thread on smarthome’s forum
https://www.smarthome.com/forum/topic.asp?TOPIC_ID=4237
I basically use individual plastic boxes turned upside down with openings on both sides. Worked like a charm and no problems.
Fantastic POST.
Is it possible to buy Insteon for the European market?
No sorry, I am only using Insteon on this project.
I like the style you took with this subject. It is not typical that you discover a subject so to the point and informative.
I have found this amazing pixiescorner.wordpress.com blog post ,and I must say to you thank you very much for providing this post to us.
Oh my goodness! a tremendous article dude. Thank you However I’m experiencing subject with ur rss . Don’t know why Unable to subscribe to it. Is there anyone getting similar rss downside? Anybody who is aware of kindly respond. Thnkx
Thank you for sharing your info. I really appreciate your
efforts and I am waiting for your next write
ups thank you once again.
Thanks for this, really fantastic!