Jump to content

All On and All Off


jeff-lines

Recommended Posts

I got involved with Insteon when they offered the first Beta version you could buy. When the KeypadLincs came out, one of the things I had in mind was to sort of emulate the All On and All Off buttons on the ControlLinc; basically to control all the lights identified to that keypad. Over the years, I've tried various techniques that have all been unsatisfactory. It has always frustrated me because the KeypadLincs come with button labels for All On and All Off, but nothing in the documentation on how to set this up. I've written this as a tutorial for new folks just getting started.

 

I've finally got this thing working exactly the way I want and thought I'd share it. The way it works is if you press the All On or All Off, the button flashes a couple times letting you know it's doing something, the lights for that group come on or go off irregardless of their current state, and more importantly any keypad button lights are also appropriately set to show the state of the lights in the group. The keypad All On/All Off button stays in an off state. So far, I've set this up for my front lights, kitchen, and rear lights.

 

First, go to the Main tab in the Adminstrative Console. I set up scenes for Front Lights - All, Kitchen - All and Rear Lights - All. These scenes define the group of lights to be controlled. Everything in the group should be set up as a responder. Add the following to the group.


  • Each load (light) to be controlled.
    Each KeypadLinc button that shows the on/off state of the lights being controlled.
    Each SwitchLinc that is being used in slave mode and shows the on/off state of the lights being controlled.

 

Next, while on the Main tab of the Administrator Console, select any button on each keypad that has the All On and All Off buttons and click on the Buttons Toggle Mode. This pops up the Set Button Toggle Mode window. Select the All Off button and ten click on the Toggle On/Off button. A window will pop up saying Physically click on (button name), choose your desired state (on/off), and then click on OK. This is asking you to go to the keypad and the button in the state you want it to be in, either On (button light on) or Off (button light off). We want the button light off all the time, check it to ensure it is off and if it's not, push it to toggle it off. Now click on the OK button in the window to set the Non-Toggle state. Do this for both the All Off and the All On buttons, then click OK at the bottom of the Set Button Toggle Mode window to close the window.

 

Now go to the Program Details tab. You will be creating a separate program for each All Off and All On button. For my rear lights, my programs are called Rear Lights-All On and Rear Lights-All Off. To create a program, click on the New Program button in the lower right corner. This will create a New Program line in the list of programs with a box around it ready to change the name. Name the new program. In my example, I have two keypads that control the outside rear lights, one in the Master Bed Room and the other by the Main Deck. The programs are as follows:

 

Rear Lights-All On
If
        Control 'DeckKP-All On' is switched Off
    or Control 'MBRKP-All On' is switched Off
Then
        Set Scene 'Rear Lights - All' On
Else
  - No Actions - (To add one, press 'Action')

Rear Lights-All Off
If
        Control 'DeckKP-All Off' is switched Off
    or Control 'MBRKP-All Off' is switched Off
Then
        Set Scene 'Rear Lights - All' Off
Else
  - No Actions - (To add one, press 'Action')

After creating your programs, click Save Changes in the lower left corner. You should now be ready to test the buttons.

 

I hope new folks will find this helpful to get started on programs. If anyone has any suggestions for improving either the technique, program, or tutorial, I'd love to hear them. Maybe I can figure out how to post to the WIKI. :D

Link to comment

I have nearly identical programs for "All off downstairs" and "All off upstairs". And then a sunrise program uses both of these to turn everything off once a day. This helps get all units in sync occasionally.

 

Also, I found it nice to add "stairwell on for 10 minutes" to both of the All off programs, so that they can serve both as "leaving the house", or "night-night", from either up or downstairs.

Link to comment

Hey Jeff -

 

Great write up. However, unless I'm missing something, I don't believe you need a program to do this.

 

Why not make the KPL secondary button that controls your scene a CONTROLLER of the scene? Still set it to non-toggle (off or on, whatever your intent), but when you join it to the scene add it as a controller instead. All the other lights and slave devices would still be responders.

 

This has a couple advantages:

 

1 - Not dependent on the ISY/PLM. If your ISY/PLM goes down or gets disrupted for some reason, this button will still function.

2 - Quicker response. Since the above method would not be executing a program, the lights would go on or off almost instantly.

 

 

 

I personally use programs to run my 'all off' KPL secondary buttons, but that's because I don't keep the buttons in non-toggle mode - I want them to be lit if a light is left on, and off if all the lights are off. I use these to turn entire floors off in my house when exiting, going to bed, etc..

 

Here's an example of my programs. I have a scene called 'Floor2Off' that contains all the devices (both load bearing or slave devices/buttons) that are on my 2nd floor - all responders.

 

Here is my control program:

 

If
       Control 'MasterBedroomControls1H' is switched Off

Then
       Set Scene 'Floor2Off' Off

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

 

This program turns all my 2nd floor lights off if I press the my KPL secondary "Floor 2 Off" button (called MasterBedroomControls1H). Since it runs via a program, there is a second or so delay - but not too bad.

 

 

 

Here is my Status Off program:

 

If
       Status  'MasterBedroomControls1H' is not Off
   And (
            Status  'AndyBedroomCloset1' is Off
        And Status  'AndyBedroomLamp1' is Off
        And Status  'Bathroom2ndMain1' is Off
        And Status  'Bathroom2ndMirror1' is Off
        And Status  'Bathroom2ndVent1' is Off
        And Status  'MikeyBedroomCloset1' is Off
        And Status  'MikeyBedroomLamp1' is Off
        And Status  'SpareBedroomCloset1' is Off
        And Status  'SpareBedroomLamp1' is Off
        And Status  'Stairway1' is Off
        And Status  'AndyBedroomControls1C' is Off
        And Status  'AndyBedroomControls1D' is Off
       )

Then
       Wait  1 second
       Set Scene 'Floor2StatusLight' Off

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

 

Because you can't control a KPL secondary button directly, it must controlled by making it a member of a scene. The scene called "Floor2StatusLight" contains ONLY my KPL secondary button. The above code ensures that if all my 2nd floor lights are off, that my "Floor2Status" button is also off.

 

 

 

Here is my Status On program:

 

If
       Status  'MasterBedroomControls1H' is Off
   And (
            Status  'AndyBedroomCloset1' is not Off
         Or Status  'AndyBedroomLamp1' is not Off
         Or Status  'Bathroom2ndMain1' is not Off
         Or Status  'Bathroom2ndMirror1' is not Off
         Or Status  'Bathroom2ndVent1' is not Off
         Or Status  'MikeyBedroomCloset1' is not Off
         Or Status  'MikeyBedroomLamp1' is not Off
         Or Status  'SpareBedroomCloset1' is not Off
         Or Status  'SpareBedroomLamp1' is not Off
         Or Status  'Stairway1' is not Off
         Or Status  'AndyBedroomControls1C' is not Off
         Or Status  'AndyBedroomControls1D' is not Off
       )

Then
       Wait  1 second
       Set Scene 'Floor2StatusLight' On

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

 

This code checks to see if ANY of my 2nd floor lights are on. If they are, it lights up my "Floor 2 Status" button so I'll know to turn it off before bed.

Link to comment

Jeff -

 

I think I just realized why you're doing this with a program. If you make your KPL secondary "All On" button a controller of the scene you want it to turn on, it needs to be in non-toggle ON mode for it to work. If you want to keypad button to be off all the time, I guess you would need a program to trigger your scene on when pressed.

 

However, you should still be able to do the "All Off" button without a program to reduce the delay and eliminate dependence on the ISY/PLM.

Link to comment

MikeB -

 

I do my all-off buttons with a combination of scenes and programs, because:

 

1) I have X-10 things to turn off, which you can't do in a scene

 

2) I have stairwell lamps I want to turn ON (for a few minutes) when I hit the all-off buttons. That way I can find my way upstairs to go to bed, or find my way out of the house from upstairs.

 

Further, I have found that "Nighttime" and "Nighttime late" folder conditions (split at 10:30 pm) make programming different behaviors much easier. For instance, the outside floodlight turns on at sunset and off at 10:30 (nighttime), and after that, until dawn, just turns on for 3 minutes when a motion sensor (X-10) fires.

 

Also, I have a "Timeouts" folder with no conditions, for anything that turns on for just a short while. These are all based upon "Last Run Time" for whatever program, which could be conditional. In other words, I don't keep the timeouts in the same folder as the programs that fired them, because 3 minutes later, those conditions may no longer be true!

 

That way motion sensors can randomly fire, say, within a timeframe such as "Nighttime late" and the timeout (say 3 minutes and PAST the timeframe) is unconditional.

 

I've had this happen before I organized in this way and the timeouts don't happen if it's no longer Nighttime late!

Link to comment
I think I just realized why you're doing this with a program. If you make your KPL secondary "All On" button a controller of the scene you want it to turn on, it needs to be in non-toggle ON mode for it to work. If you want to keypad button to be off all the time, I guess you would need a program to trigger your scene on when pressed.

 

You are correct, the main reason is that I did not want the All On button to be lit all of the time. In my mind, it's an indication that something is on when it isn't. Also, what I feared happening is someone using All On and then later turning off one light in the group I wanted to emulate the way it works on the ControlLinc and RemoteLinc for consistency sake as well. Keeps my better half happier when things operate in a consistent fashion. And that's the best reason ... she understands how it works because it works the way she expects it to. :D

 

You are right as well regarding the All Off, I believe it would be better to let the Insteon system handle the All Off and eliminate each of the All Off programs by doing exactly what you suggested in your previous post. Thanks for the feedback. I'll give that a try.

Link to comment

Well I tried adding the All Off button to the scene as a controller. Since it is part of the scene, what happens is that the All Off button light comes on when the All On button turns on the scene. The All Off button remains in a non-toggle mode with it being in the On state. That means it continues to issue an On command when it is pressed. I even tried setting up the All On and All Off as mutually exclusive and that didn't work either. So for now, I've reverted it back to what it was. Thanks for the ideas anyway. It was worth a shot.

Link to comment
Well I tried adding the All Off button to the scene as a controller. Since it is part of the scene, what happens is that the All Off button light comes on when the All On button turns on the scene. The All Off button remains in a non-toggle mode with it being in the On state. That means it continues to issue an On command when it is pressed. I even tried setting up the All On and All Off as mutually exclusive and that didn't work either. So for now, I've reverted it back to what it was. Thanks for the ideas anyway. It was worth a shot.

 

Ahh, makes sense. You can't set the on-level for a KPL secondary to 0, correct?

 

But, if you don't need an 'All On' button, but are just looking for an 'All Off', it should work fine.

Link to comment

I had to do a quick test and that is correct, you can't set the level to 0 for the KPL switch. Just for the lights themselves. The thing I like about this forum is it's great for coming up with additional things to try. I'm in learn mode so the more I learn, the better. Knowing what won't work is valuable nformation as well.

Link to comment

Hi Jeff!

 

Good tutorial write-up; well done.

 

Well I tried adding the All Off button to the scene as a controller. Since it is part of the scene, what happens is that the All Off button light comes on when the All On button turns on the scene. The All Off button remains in a non-toggle mode with it being in the On state. That means it continues to issue an On command when it is pressed. I even tried setting up the All On and All Off as mutually exclusive and that didn't work either. So for now, I've reverted it back to what it was. Thanks for the ideas anyway. It was worth a shot.

 

Here's an idea:

 

You could place the All On and All Off buttons in the scene as controllers, setting the All Off button to non-toggle off mode and the All On button to normal toggle mode. Then, place the same buttons as responders in a status scene, and use a simple program to ensure that the buttons' LEDs get turned back off (after a short delay) any time they get turned on:

 

If
        Status 'DeckKP-All On' is On
    or Status 'MBRKP-All On' is On
Then
        Wait 2 seconds
        Set Scene 'Rear Lights Status LEDs' Off
Else
  - No Actions - (To add one, press 'Action')

When the All On button is pressed, being in toggle mode, it will send an On command, turning the scene on (and incidentally also turning on the All Off button's LED), and then the status program will turn the LEDs back off. The non-toggle off mode All Off button will, of course, turn the scene off.

 

While the LEDs will be out of sync for a couple of seconds (perhaps comparable to your present system where 'the button flashes a couple times'), the scene itself will respond immediately to the On and Off button presses.

 

If for any reason the central controller (ISY) should be out of service, you will still have control of the 'All' scene, but in a slightly different manner since there will be no status updates. The button labeled 'All On' will effectively become an 'All' scene On/Off toggle, while the button labeled 'All Off' will follow the scene state but will serve no useful function, being in non-toggle mode. Still, this is a much better scenario than loosing the 'All' scene control if the central controller goes out of service when the entire setup is based on programs.

Link to comment

Hi Kevin,

 

I have nearly identical programs for "All off downstairs" and "All off upstairs". And then a sunrise program uses both of these to turn everything off once a day. This helps get all units in sync occasionally.

 

Also, I found it nice to add "stairwell on for 10 minutes" to both of the All off programs, so that they can serve both as "leaving the house", or "night-night", from either up or downstairs.

Both good ideas.

 

I do my all-off buttons with a combination of scenes and programs...

 

This points out that one can also use a combination of hard-linked scenes (for instant response even if the central controller is out of service) plus programs based on the same button presses which add something extra to the scene using the central controller.

Link to comment

Archived

This topic is now archived and is closed to further replies.


  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

  • Forum Statistics

    • Total Topics
      36.9k
    • Total Posts
      370.2k
×
×
  • Create New...