Jump to content

Setting up 3-way switches (Insteon) and controlling via Alexa


ctviggen1

Recommended Posts

Posted

I realize this is a mixed topic, but both issues are (may be) related.

I have just installed Insteon switches to control overhead lights in my kitchen.  Three sets of lights, each a 3-way circuit (two switches per circuit).  Installed as per the instructions in Insteon PDF.  Used dimmer switches for all. 

For my ISY 994i, I made each circuit to be a scene, and each switch in the scene to be a controller.  I did this so that I could go to either switch and dim the circuit.  (I assume I had to have both as controllers to do this?)

It looks like this (pseudo-code):  The scene of "Kitchen Island lights" includes IslandSwitch1 and IslandSwitch2, both as controllers. 

If I use the switches themselves, everything works fine.  That is, I go to one of the switches for "kitchen island lights" and turn it on, and the lights turn on and the LEDs on the switches both indicate the light is fully on.  Dimming also is indicated on both lights, as is turning off, even when using one switch.  I can use either switch to turn on/off and dim, and everything works the way you think it should.

Is this the correct programming for these lights?

The problem is controlling by Alexa/echo. 

I set up a scene called "Kitchen lights" that includes only ONE of each switch.  In other words, "Kitchen lights" includes "Switch1" for the scene "Kitchen Island lights", Switch1 for the scene "Kitchen overhead lights" and Switch1 for the scene "Eat in Kitchen lights".  I just randomly selected one of each of the two switches in each circuit.  Since each is a controller, I thought that I only needed to select one.

If I say "turn off Kitchen lights", this works perfectly in that the lights turn off. However, the LEDs for three of the switches (one on each circuit) stay high (the "on" position).  The LEDs on the other switches go into the "off" position.  (Oddly, the LEDs that stay on seem unrelated to which of the switches are actually in the "kitchen lights" scene; this may be related to which switches have the load.)

So, if you look at the lights switches, say for one circuit only, even if the lights for that circuit are off, one switch shows an "off" LED, while another shows an "on" LED. 

What am I doing wrong? 

Is it best to use a scene for this, or to create a program for this? 

 

Posted

I have this problem at my house too, and I have a workaround that's almost perfect.   At my house Insteon came first, and the system was designed with lots of 6 and 8 button controllers.  I very quickly grew tired and irritated with Insteon's hub and upgraded that to an ISY.  It wasn't until years later that Alexa came to live here, at the same we'd been using our phones as a remote control and that was for unrelated reasons becoming something that wasn't reliable.   Like you I discovered Alexa did a lot of good but at the same time my switches were always out of sync with each other.  and most of the switching is built on scenes. 

To implement you'll need one state variable for each pair of switches and 3 programs, to summarize each:

The state variable with have possible values of 0=Off, 1-100=known dim level, 101=On, dim level is unknown.

Alexa.on is the first program, and allows Alexa to control the scene and dim the device as needed.  (I'll cover how to setup Alexa in the portal later.)   Essentially if the value of the vaiable changes and is greater then 0 or less than or equal to 100 then the program first turns on the Scene, waits one second then sets the dim level of the DEVICE that actually controls the load.  (Since I have a lot of second switches or KPL buttons a naming convention that I use in my system is to append a # to the end of the name of any device that actually controls the load... it makes telling them apart easier.)

Manual.on is the second program, and sets the variable to keep track of when the light was manually controlled via a switch.  Basically you need an OR condition for each of the devices that can control the scene and 3 conditions each, ON, FAST ON, or FADE STOP.  So in this example the light can be controlled by 3 manual switches.  If we detect that the scene has been turned on manually with a switch, then we set the variable to the special value of 101, which signifies that the scene is on, but we don't know the dim level (and we really don't need to either, we just know it's NOT off).

Off is the 3rd and final program in the group.  It works for both control from Alexa and control from a wall switch.  Again using Control, you need to catch Off and Fast Off coming from each switch OR if Alexa changed the state of the variable to 0, then we set the variable to turn the scene off and set the variable to zero.  Actually one or the other condition is redundant, but the way the ISY works allows us to use one program for off instead of having both Alexa.off and Manual.off... in this case we can combine both of those programs into one and just call it off. 

===================================================================================
Lamp 1 - [ID 0098][Parent 00B7]

Folder Conditions for 'Lamp 1'

If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
   Allow the programs in this folder to run.
 

-----------------------------------------------------------------------------------
Alexa.on - [ID 000C][Parent 0098]

If
        $Dim.Lamp1 > 0
    And $Dim.Lamp1 <= 100
 
Then
        Set 'LR Lamp 1' On '$Dim.Lamp1 %'
        Wait  1 second
        Set 'LR Lamp 1#' On '$Dim.Lamp1 %'
 
Else
   - No Actions - (To add one, press 'Action')
 
-----------------------------------------------------------------------------------
Manual.on - [ID 0099][Parent 0098]

If
        '{hide}Living Room Fan Lights+ / {hide}Lamp 1' is switched On
     Or '{hide}Living Room Fan Lights+ / {hide}Lamp 1' is switched Fast On
     Or '{hide}Living Room Fan Lights+ / {hide}Lamp 1' is switched Fade Stop
     Or 'Kitchen Table Light# / {hide}Lamp 1' is switched On
     Or 'Kitchen Table Light# / {hide}Lamp 1' is switched Fast On
     Or 'Kitchen Table Light# / {hide}Lamp 1' is switched Fade Stop
     Or 'LR Remote -Deb - A-B' is switched On
     Or 'LR Remote -Deb - A-B' is switched Fast On
     Or 'LR Remote -Deb - A-B' is switched Fade Stop
 
Then
        $Dim.Lamp1  = 101
 
Else
   - No Actions - (To add one, press 'Action')
 
-----------------------------------------------------------------------------------
Off - [ID 0095][Parent 0098]

If
        '{hide}Living Room Fan Lights+ / {hide}Lamp 1' is switched Off
     Or '{hide}Living Room Fan Lights+ / {hide}Lamp 1' is switched Fast Off
     Or 'Kitchen Table Light# / {hide}Lamp 1' is switched Off
     Or 'Kitchen Table Light# / {hide}Lamp 1' is switched Fast Off
     Or 'LR Remote -Deb - A-B' is switched Off
     Or 'LR Remote -Deb - A-B' is switched Fast Off
     Or $Dim.Lamp1 is 0
 
Then
        $Dim.Lamp1  = 0
        Set 'LR Lamp 1' Off
 
Else
   - No Actions - (To add one, press 'Action')
 

 

To configure the portal for Alexa you will want to ADD Variable:

image.png.b28c320ff43d9f23c7cb7802cbdc7e99.png

Then on the next screen, select the state variable you created, select Scene for Alexa Category, put 0 for the "Off" value and 100 the on value.  (In my example, "ON" actually means set to 60% dim... any number from 1 to 100 is works for the turn ON value.)

image.png.fe751e85b5f221f5b8e97d61c678c869.png

 

Now first say "Alexa, Discover devices" once shes done try:

 

"Alexa, Turn on whatever light"

"Alexa, Turn off whatever light"

"Alexa, set whatever light to XX"   (you can say the word Percent or drop it and just say XX. 

You can also mix in controlling from the wall and you'll see everything stays in synch.

 

The only annoying issue (which also has a workaround) is that if you're using Alexa and starting out from OFF and setting a DIM level of say 20%, the light comes on bright first then dims to 20%.  That's because in the Alexa.on program we must turn the scene on first, which actually turns the light on, then wait 1 second, then set the actual dim level that we want.  The workaround is to have a longer ramp rate.  (I uses 2 seconds) which will begin to fade on the light, then 1 second later comes the dim command.

As I type this it occurs to me that if the only manual devices are two 2477D dimmers like in your kitchen, then you'll want to set the DIM level for both switches so that the left LED's on the switch will display correctly.  I actually don't have that situation.

It's a little bit tedious to set this up for each scene you want to control via Alexa, but once it's set up it does work and doesn't require maintenance.

Posted

Thanks, Mr. Bill.  I think that's going to take me a while to analyze. ? And I won't have time to do so until next weekend (going back to work from "vacation", where I installed Insteon light switches). 

It's weird, because I can have a scene "Watching movies", and select one of two switches for a circuit (and scene) in the kitchen, and that turns off the lights in that circuit.  Does exactly what I want it to do.  However, the LEDs are messed up on one of the two switches in the circuit/scene.

I have temporarily tried to use a program where I select one of the two switches in the scene (of two switches), and this does not work at all.  Consider a circuit/scene with two dimming Insteon switches, called "Kitchen overhead lights". In program ode:

If

no conditions

then

In "Kitchen overhead lights" set "Switch 1" to Off

Else

In "Kitchen overhead lights" set "Switch 1" to On

This does not work at all.  Not sure why. 

 

Posted
26 minutes ago, ctviggen1 said:

Thanks, Mr. Bill.  I think that's going to take me a while to analyze. ? And I won't have time to do so until next weekend (going back to work from "vacation", where I installed Insteon light switches). 

It's weird, because I can have a scene "Watching movies", and select one of two switches for a circuit (and scene) in the kitchen, and that turns off the lights in that circuit.  Does exactly what I want it to do.  However, the LEDs are messed up on one of the two switches in the circuit/scene.

I have temporarily tried to use a program where I select one of the two switches in the scene (of two switches), and this does not work at all.  Consider a circuit/scene with two dimming Insteon switches, called "Kitchen overhead lights". In program ode:

If

no conditions

then

In "Kitchen overhead lights" set "Switch 1" to Off

Else

In "Kitchen overhead lights" set "Switch 1" to On

This does not work at all.  Not sure why. 

 

You dont need any programs or variables to accomplish what you are trying to do. Make sure all of your devices are configured properly in each controller as well as the scene itself. You would then add the scene to your portal as a device (lights) and you will have control over everything whether its from an app, locally, or voice.

The only thing you wont be able to do is dim your scene via voice. If that is needed, you will then need to use programs and variables to keep things in sync.

  • Like 1
Posted
On 7/10/2020 at 7:44 AM, ctviggen1 said:

I realize this is a mixed topic, but both issues are (may be) related.

I have just installed Insteon switches to control overhead lights in my kitchen.  Three sets of lights, each a 3-way circuit (two switches per circuit).  Installed as per the instructions in Insteon PDF.  Used dimmer switches for all. 

For my ISY 994i, I made each circuit to be a scene, and each switch in the scene to be a controller.  I did this so that I could go to either switch and dim the circuit.  (I assume I had to have both as controllers to do this?)

It looks like this (pseudo-code):  The scene of "Kitchen Island lights" includes IslandSwitch1 and IslandSwitch2, both as controllers. 

If I use the switches themselves, everything works fine.  That is, I go to one of the switches for "kitchen island lights" and turn it on, and the lights turn on and the LEDs on the switches both indicate the light is fully on.  Dimming also is indicated on both lights, as is turning off, even when using one switch.  I can use either switch to turn on/off and dim, and everything works the way you think it should.

Is this the correct programming for these lights? Yes, this is the correct way to accomplish this

The problem is controlling by Alexa/echo. 

I set up a scene called "Kitchen lights" that includes only ONE of each switch.  In other words, "Kitchen lights" includes "Switch1" for the scene "Kitchen Island lights", Switch1 for the scene "Kitchen overhead lights" and Switch1 for the scene "Eat in Kitchen lights".  I just randomly selected one of each of the two switches in each circuit.  Since each is a controller, I thought that I only needed to select one. This is incorrect. Selecting a single device will only control that device. It will not control devices linked to it

If I say "turn off Kitchen lights", this works perfectly in that the lights turn off. However, the LEDs for three of the switches (one on each circuit) stay high (the "on" position).  The LEDs on the other switches go into the "off" position.  (Oddly, the LEDs that stay on seem unrelated to which of the switches are actually in the "kitchen lights" scene; this may be related to which switches have the load.) You are correct in your assumption as to why its not working properly. Since the device you chose is the load, the actual lights do turn on/off. However, since the linked devices were not part of things, they are unaffected.

So, if you look at the lights switches, say for one circuit only, even if the lights for that circuit are off, one switch shows an "off" LED, while another shows an "on" LED. 

What am I doing wrong? If you use the scene that you created and control that, all will work properly

Is it best to use a scene for this, or to create a program for this? 

 

 

Guest
This topic is now closed to further replies.

×
×
  • Create New...