Getting / Setting Insteon information from the Venstar T1700 thermostat
March 1, 2009 at 3:29 pm | In General, Hardware setup, Software Setup | 4 CommentsTags: cool on, fan off, Fan on, getting T1700 Insteon Data, heat on, Home Automation, Insteon, Insteon T1700, Insteon Thermostat, PLC, SDM, sdmserver, vb2008, X10
We’ll after receiving back some of my hard earned money thru 2008. I shelved out the $159 for the Insteon T1700 thermostat.
It can be found here.
The device is quite small, which is fine and thinner that my orginary Honeywell one which was a real plus. To install was also very simple.
And technical support was awesome!!! Who expects to call a company and receive a live person and be able to troubleshoot on the phone in less that 3 min. And to top it off the rep even called me back since he had to leave. At the end it was a simple dip switch due to my model. So if after you install it and when you turn on cool and heat comes out and vice-versa, just turn on dip switch two and your set! Thats Again Mike from Venstar!!!!
The only thing would be the ‘light’ on the side of the Insteon module. so in dark areas it does stand out.
Like mentioned above the device is very small and the insteon module even smaller.
For example check out the image in comparison to my hand
Setting Mode, Getting Temperature of Thermostat
Ok, enough Pictures and talk, lets see how to control this device.
First forget about sending ON/OFF commands, for me they didnt work, nor did they do anything. What we will be using is the 0×02 command instead of 0×11 for on or 0×13 for OFF. What I has able to find was the higher numbers after that worked. I’ll show you what
Ive got and show examples after. In my case I couldnt send request using the regular PLC commands so I ended using the low level calls using the sendhex function, that article can be found here
More ways to speak to your Insteon Devices
For the examples my PLC is # “0D 51 32” and my Thermostat is “01 02 03“.
0×6b – Bit 2 – Get Thermostat Mode (Returned is 00=off,01=Heat,02=Cool,03=Auto,04=Fan)
'Send Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 02") Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command 'You should get the reponse on the Last Bit of your reponse. For example 04 01 02 03 0D 51 32 26 6B 02 So in this case 0x02 Means the device is on COOL.
0×6b – Bit 3 - Get Temperature (Returned is the temperature, you convert to decimal and divide by two)
'Send Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 03") Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command 'You should get the reponse on the Last Bit of your reponse. For example 04 01 02 03 0D 51 32 26 6B 9A So in this case 0x9A Converted to decimal is 154 divide that by two and you get 77 degrees!!0x6b - Bit 4 - Set to Heat
'SendSm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 04")
Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command
0x6b - Bit 5 - Set to Cool
'SendSm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 05")
Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command
0×6b – Bit 6 – Set to Auto (To switch automatically from Cool to Heat depending on your settings)
'Send
Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 06")
Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command
0×6b – Bit 7 - Fan on
'Send
Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 07")
Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command
0×6b – Bit 8 – Fan off
'Send
Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 08")
Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command
0×6b – Bit 9 – All Off
'Send
Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6B 09")
Sm.SendPLCHex("02 46 01 42 10 9F") ' Execute my command
Setting the Cool / Heat Thermostat Temperature
Here insteon of 0×6B we will be using the 0×6C for Cool and 0×6D for HEAT. So lets say you’ve set your device to Cool and want to lower it to 75 Degrees. Just like when we read the temperature, when we set it we need to multiply the requested value * 2 and convert it to HEX. In the sample below the variable Set_Temp holds what we want it to. The next statement converts it to HEX and *2 and presto!
'This is the temperature we want to set Cool to!
Set_Temp="75"
Dim Temp As String = Hex(Set_Temp * 2)
Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6C " + Temp)
Sm.SendPLCHex("02 46 01 42 10 9F")
'This is the temperature we want to set heat to!
Set_Temp="70"
Dim Temp As String = Hex(Set_Temp * 2)
Sm.SendPLCHex("02 40 01 A1 00 09 FD 9B 0D 51 32 01 02 03 05 6D " + Temp)
Sm.SendPLCHex("02 46 01 42 10 9F")
Hope this works for you and its working great for me. Each hour I poll the temperature and as part of that routine I poll my thermostat to keey the information up to date. I’ll post more as I find out!
My first KeypadLinc Setup and Functions
March 1, 2009 at 2:47 pm | In General, Hardware setup | Leave a CommentTags: .net, 3-way, Insteon, insteon keypad linc, keypad, sdmserver, vb 2008, vb2008
So after weeks of playing,printing, and busting buttons I think what I ended up is with some acceptable buttons, here are the layout of my first KeyPad Linc
These were done using a InkJet, I still need to try using a Color Laser to see. Since I got this one off of ebay it was only the 6 key’s which I got the conversion kit off of SmartHome for $5 to 8 bottons.
The Etched buttons do look better but a bit costly. Here is the breakdown
Color Kit, which changes the color of the LED behind the button
6 to 8 Button Conversion kit or new buttons if you break one.
Here is the low down,
1st – Controls the load on the switch which is in my hallway
2nd – The Kitchen Main light
3rd – The Lights inside the Garage
4th – A group which controls all outside lights, (Garage, flood lights, back lights, entrance etc.)
5th- Not linked to any device but when pressed the PC will turn off all the lights in 2 min’s and set the house state to off, which includes bumping up the thermostat to 80 Degrees.
6th- Linked to my I/O Link to open/monitor the garage.
7th -My Children s room both have a main light and a night light switch, this button is linked to both of them, only thing is the Main Switch has a on – level of 0 which causes only the night light to turn on. The best way for this is to link them manually then go back the the program for Smarthomenet’s and change the turn on code to 0.
8th -Linked to my T1700 Thermostat. Its linked by setting your thermostat to the desiered state then link like any other switch. Very simple and clean. I also link this button back to my PLC so I know its been pressed.
My first Insteon Motion Sensor 2420M
February 1, 2009 at 2:45 pm | In General, Hardware setup, Software Setup | 8 CommentsTags: 2420M, Dip Switches, Insteon, Insteon Motion Sensor, sdm/PLC, SkyLink Motion Sensor
Finally my first Insteon Motion sensor arrived!. The box is average size and has a pretty big label showing SkyLinc and SmartHome technologies.
Out of the box, cool white color.
The device even comes with its own 9V battery so you can start up quickly. Linking is the done the same was a other devices.
Like most of the Insteon device it has its traditional SET button, In this case the ‘SET” button is inside the battery compartment.
Which also houses the ‘dip’ switch for fine tuning of the device. I’ve set mine to not show the LED which is a very BIG led. (I tell you what they are for below the image)
For this reason you can see the PIN #2 is on all others are ‘off’ which are not connected or on the top.
According the the 1 page (What looks like a photocopy) the pins are used for the following
Dip Switches
1.Sensitivity, enable to reduce the sensor 33%
2.Turn of LED (It will still flash if there is a incorrect link or the device you link too has been removed.
3.Night-only mode – Only operate when dark
4.On-Only mode, so it doesn’t tell you when the device hasnt seen movement in 1 minute.
5.Not Used.
The linking was very simple, press the link button and press the link of the device you want to turn on/off. In my case its the PLC so I can see the ON (0×11) and OFF (0×13) commands and act accordingly.
I haven’t found any way to change the default re-transmition time which is 1 minute, so unlike the Eagle eye which transmits every 10 seconds, this will only t ransmit if the status changes for example from ON to OFF. So this means if you have movement in the area you will only see ONE – ON command until one minute after when there is no movement. You wont get a message each minute. Also there is no way to poll the device, but it does seem to have already hard coded its ‘address’. So its considered a device which status changes from On for occupied to OFF to no motion detected in 1 min.
Among my findings the RANGE is great!. In my case I have 4 access points so even in the back yard the reception is great!. The white color is a plus, fits in anywhere , this was something I never understood with the eagle eye’s. (brown) Plus includes its own mointing kit which you can swivel the device. I used double side tape before using the screws this way I can find the best spot before making it permanent.
Here is the VB/SDM strings which come in when the sensor is activated
02 11 8C F0 00 00 01 CB 13 01 - Which is for OFF (No motion for 1 min) 02 11 8C F0 00 00 01 CB 13 01 - Which is for On (Motion) 02 11 8C F0 00 00 01 CB 11 02 - Which is for Dusk start / Dawn end (Dark for 3 Minutes) 02 11 8C F0 00 00 01 CB 13 02 - Which is for Dusk end start / Dawn Start?
More Pics
Mounting Kit not shown.
I placed my first Insteon Sensor in the top middle hallway, and covers the two corners perfectly,
I quickly removed the two eagle Eye’s I had…
New Pictures of Client ScreenShots
January 15, 2009 at 4:31 pm | In General | Leave a CommentTags: .net, actionscript 2.0, Home Automation, Insteon, insteon client, insteon group commands, insteon server, IO LINC, screenshots, server, vb 2008
As promised here are some new screen shots of the Client. Its totally revamped and I think in a cleaner format. Its a combination of VB2008 / Flash Action Script 2.0
Comments and feedback is appreciated!
Reading the Status of the Insteon I/O Linc Garage door contact
January 14, 2009 at 9:27 pm | In General, Hardware setup, Software Setup | Leave a CommentTags: get status of Insteon IO LInc, i/o link, Insteon, Insteon relay, IO LINC, monitor port, open garage door, responder, setting up insteon groups
Lets say your like me and you wish to check the status of the contact on your garage. But notice that regular polls only return the device itself not the status of the contact.
For example maybe at a given time you want to make sure the contact is closed. Here is how
I’m going to use as reference the original articles of getting “Insteon to talking to your PC found below” Part #1,#2,
http://pixiescorner.wordpress.com/2008/06/15/part-2-get-insteon-talking-to-your-pc/
http://pixiescorner.wordpress.com/2008/06/20/part-3-get-insteon-talking-to-your-pc-part-2/
This is using VB .NET and assuming you already have some experience with the SDM/PLC commands.
For the Sensor Poll We are going to use the command #19 and a second command of ‘01 to query the device. For example
For this example Lets say for example my plc is AA.BB.CC My I/O Linc is : 11.22.33
So in VB polling the device using the SDM would be like this,
sm.SendINSTEONRaw(”AA BB CC 11 22 33 05 19 01″, 3) In return you will get the following bytes, notice the change in the last digit. If the garage is closed (Contact closed) - 04 11 22 33 AA BB CC 25 03 01 If the garage is closed (Contact OPEN) - 04 11 22 33 AA BB CC 25 03 00
If you get FF,FE or other numbers make sure you are using the last 01 on your command #19 as this will give you the state of the device which isnt the contact status.
Enjoy!
Insteon I/O Linc for Garage
January 14, 2009 at 10:48 am | In General, Hardware setup | Leave a CommentTags: garage, Insteon, IO LINC, open garage door, SDM, sdmserver, System.net
Hurray, My I/O linc arrived on Saturday 10th!!!
The good news is that its setup and in place. Setup was a breeze since I’m literally replacing two X10 products for one. I love it!
So the wiring is the same
Here is my Garage contact I purchased separately before, now as part as a kit.
Installed
Since the top part is so light I ended up using Velcro so I didn’t need to drill holes.
Now the I/O Link
Here are the official instructions
As for the hook-up its very straight forward and the on-line manual has a very good description of this. My recommendation is use the individual strands of a CAT 5 cable, they fit perfect.
Here i’ve connected in my garage door sensor. (Click to magnify) – Green cables
Below I’ve connected my ‘momentary’ switch to the back of the garage opener. (You do have to setup your I/O linc to do the momentary relay before which is the “C” setup).
This is done by pressing the ‘SET” button 3 times x 3 times for a total of 9 times. Double check on-line just to be sure.
Orange is my Open/Close wires to the Garage and the green are my sensors
Here is the box setup next to the Garage opener. Since there is no space for the I/O linc I had to set it up next to the opener. Plus I didn’t want to put it flush with the device since it vibrates a lot.
Now each time the device Open’s I get the “11 FF” message and when it closes the “13 FF” message. But i still haven’t figured out
how to read the sensor yet. Once I get those details I’ll post part 2.
Here is how the linking process works. It’s done both ways (like a 3-way switch)
* If you want to monitor the garage status AND use a keylink button you NEED to link then both ways,
1.First open your garage door.
2.Starting linking your I/O link to the KeyLink Key or switch
3.to have the switch control your garage then Link Keylink key and then then I/O.
4. This way when you press the key it open/closes as well as the button lights up when you open the door and close it.
More ways to speak to your Insteon Devices
January 5, 2009 at 6:55 pm | In Software Setup | 1 CommentTags: groups, Home Automation, Insteon, Insteon code, SDM, sdmserver, turn off device, turn on device, vb code, XP
Like many programs there is always more ways to do one thing.
Here is another way I found to talk to my PLC what I’ve been able to get is that i’m sending the direct HEX (PLM) commands to the PLC. Which in turn makes the processing faster. In my environment it helped a little but had its down sides.
My initial articles using the regular Insteon commands are here.
- Software: Get Insteon / Talking to your PC – Part 2
- Software: Get Insteon / Talking to your PC – Part 1
Turn on a group (SM is your VB PLC Object) Using the PLCHEX command
Im suspecting the first HEX codes are the address and command we are sending to the PLC
Example #1,
My PLC ID is 0D.51.32
Group I want on is “1A
Groups use :C5
Command: Turn on (11=On,12=Fast On,13=Off,14 = Fast Off,19=Poll, 10=Ping)
Power:Full (The last FF for 255 HEX)
Code;
Sm.SendPLCHex("02 40 01 A1 00 09 FD CB 0D 51 32 00 00 1A C5 11 FF)
Sm.SendPLCHex("02 46 01 42 10 9F") ' - Execute Command?
Advantages is that there is no ’sendtxt’ echo coming back or even a echo of my text going out, which for me makes the command process faster. And you still get the ‘echo’ in the same format coming in so no change to your program is needed if you are already capturing th text comming back.
Cons:There is no place to define the HOPS?. Sometimes can fail is you send to many commands one right after the other, Im suspecting that since you we are cutting the initial ack on the start it choke after too many commands. My solution to this was to pause between each command I sent to it. A good 1 seconds did more than just fine.
* BTW, I like to send the group commands twice since I dont do Group clean-up’s so I basically execute the second line twice.
Turn on a single device (SM is your VB PLC Object) Using the PLCHEX command
Example #2,
My PLC ID is 0D.51.32
Device I want on is :0A.0B.0C
Single Devices use :05
Command: Turn on (11=On,12=Fast On,13=Off,14 = Fast Off,19=Poll, 10=Ping)
Power:Full (The last FF for 255 HEX)
Code;
Sm.SendPLCHex("02 40 01 A1 00 09 FD CB 0D 51 32 0A 0B 0C C5 11 FF)
Sm.SendPLCHex("02 46 01 42 10 9F") - ' - Execute Command?
Hope this helps in your development, and drop me a line if this helps you…
2009 Update / Goals for this year
January 5, 2009 at 6:27 pm | In General, Hardware setup | Leave a CommentTags: coffee machine, Home Automation, Insteon, outlet linc
Well 2009 is here, hope it brings you all good things. This years proves to be exiting for me since i’m now fine tuning the system. What I mean by that is that now all switches are Insteon and I can get to nitty gritty to getting the little details done.
Tomorrow (Fingers crossed) the 6th Smart Home should be shipping my I/O Linc to replace my current Garage setup. The current one works fine but many times may fail to report that its closed. One thing for sure X10 devices suck up Insteon commands and vice/ versa. For Christmas I got myself a Outlet Linc to replace the Appliance Linc I was using the for coffee Machine. That device is worth every $. ($45) Not only does it look better it fits perfectly into any decora face plate. Here is the before and after pics.
Before
After
The top outlet is controlled by Insteon and the bottom one is always on. Perfect! It even has a button below the top outlet to turn this on and off at will. Besides here I dont think I can find any other place install one. But who knows!
I’ve also purchased a additional Access Point for the outside setup which only strengthens the network inside now that Christmas is over . There are some black spots in my home so a extra access point or two doesn’t hurt. I do admit as I have added in devices its hardly that the devices don’t respond.
My Task for 2009
1. Garage switch to Insteon from X10
2. Remove X10 transceivers and install ONE directly into the serial port (Take off those Insteon signal suckers)
3. Revamp the Insteon Client
4. Show how purchase the Insteon Thermostat. (I suspect a bit of the Tax return for this.)
My Christmas Decorations 2008
December 10, 2008 at 5:39 pm | In General | 1 CommentTags: 2008, christmas, creating insteon groups, groups, Home Automation, Insteon, outdoor insteon decorations
Here is my Christmas setup for 2008. No video yet but y I think you’ll be able to get the picture of what you can do with the LampLincs. My setup as of today consist of mainly blue and white. I have a indoor tree and two outdoors. Using 6 LampLincs and groups I can change the rate of the blue and white on all of them.
So I created groups which have various combinations of them. Here are some pics;
Here the deer is set a 50%. This is just a couple of days before we set them up outside.

Here is a side view of the home.with the deers setup outside. You can see the two outdoor trees with the two color setups. The deers since they have moving parts and motors and other devices are on relays
Here you can see the indoor tree blue and the outdoor white.
Trees at 50/50 white and blue
All tree 100% Blue
I basically have two lamp lincs on each tree for a total of 6. The Spots and the lights on the trunk are on Relay’s
I’ll include more of the outdoor setup so you can see how it is connected.
Some of the Lamp Linc’s ready to go outside.
New SmartHome IO Linc announced
November 30, 2008 at 9:37 am | In General | 1 CommentTags: Home Automation, Insteon, IO LINC, SimpleHomeNet, X10
Good news, Smarthome and recent and finally put out the I/O Linc! (Or at least set for 12/22/8)
In simple terms this will be able to replace my current X10 solutions for the Garage which consist of the X10 Flash and X10 Universal controllers. For what i’ve read you can ‘query’ the device to see if the device is open. That’s one thing I couldn’t do with the X10 modules
. Sadly sometimes it wouldn’t pick up the ‘closed’ state.
From the documentation, one of the 3 modes it has is that you can send a ‘ON’ and it would determine if contacts are closed and open and vice versa!. this way you can ‘link’ it to a KeyLinc and see its ’state’ from the keypad!
Hopefully they ship on 12/22 but with the experience of the motion sensor my bets are for 2009. Only downside is that you can only monitor/control 1 port at a time. But for $45 that’s fine for me. Both x10 devices on Ebay came to around $35, good news I can keep and us my existing contacts. So $10 more for a insteon solution sounds like a deal…
The other option I was looking at, (And saving for) was the Simplehome.net’s solutions Here
A little more pricey but you can monitor more than one input, for example rain detecion or another contact etc.
If your interest my original article which I used the x10 devices to open and monitor the garage can be found here.
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.

























