Posts Tagged ‘Home Automation’

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 0x02 command instead of 0x11 for on or 0x13 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“.

0x6b – 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.

0x6b – 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
'Send

Sm.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
'Send

Sm.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
0x6b – 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

0x6b – 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

0x6b – 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

0x6b – 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 0x6B we will be using the 0x6C for Cool and 0x6D 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!

Advertisements

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

Sample Screens – Jan 2009

Comments and feedback is appreciated!

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.

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…

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.)

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.

Good news, Smarthome and recent and finally put out the I/O Linc! (Or at least set for 12/22/8)

SmartHome Link

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…

https://i0.wp.com/www.simplehomenet.com/shn/prodimages/EZIO2X4.gif

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.

Disclaimer, I’m not an electrician, and mainly just showing what I did, if you chose to do this you do this at your own risk, if you feel uncomfortable please have a professional install this!

Ok, here is my scenario and hopefully this can help you as well.  I have a ceiling fan with a lamp which can be controlled by one switch. You have a couple of options, I chose to have the wall switch control the light and the Insteon Line Linc control the fan.

Here is a picture of the Inline Linc (Pictures are for the Dimmer model, for the fans you must use the relays)

I removed the tabs since its going to hide in the Canopy. They break off really easy…

Here is a pic of my fan/light its from Hunters Bay

My fan which is a hunters bay model has four wires coming out.

Blue – hot to the lamp
white – Neutral
black – hot to the fan.
Green- ground

From the Roof I have three cables
Red – Switch
White – Neutral
Black – Hot all the time
In your case this can vary, I recommend getting a tester and testing each one, the switch/red should lose power each time you hit the switch
Black will always have power.  If you dont have a switch most likely you will have only black and white and a ground.  you can still use the instructions below only tie in the blue with black as from going to the inline linc.

Scenario 1

To control my fan only thru the wall switch I would use the following (This isn’t touching the lamp yet)

From the roof wires to the fan wires,
white with white (neutral)
red(load from switch) to black/fan
You can also put the blue/fan and the black/fan to the red from the roof to power the both from one switch.
Greens all together / ground

Scenario 2 (My case)

Here Im using the wall switch to power the lamp and a Inline Linc to power the FAN (on/off) only. No dimming.
What im doing is breaking in the ‘black/fan’ circuit to put my inline linc,  Sorry for the green being white

Here we go,

Part 1
All whites go together (from fan,roof, and inline linc)
The Black/roof goes to the black of the inlinelinc (To give it power)
The red/roof goes to the blue/fan to assign the switch to the lamp

Part 2

The fan black then connects to the red/inline linc and your set.
All grounds go together or where metals connect.

Check the canopy size that you can fit the linelinc before you start, in my case I had to install it above the fan housing and basically start all over.

You can see the wires from the InLine Link have a label on them

The inline Linc black with the black off the roof and the inline linc red with the black going to the fan 🙂

All whites together… 🙂 These are your neutrals.

Here you can see the blue (gives power to the lamp)  with the RED coming from the ceiling. Which is the one a switch controls,

and yes its  Insteon switch as well.  🙂

All whites together…  Here you can also see clear the Inline Linc Red to the black of the fan
And the Inline Linc black to the black from the ceiling for power so you can see where were cutting in. 🙂