Jump to content

keypad button to indicate status of and control entire floor


MikeB

Recommended Posts

This is a re-write from another thread, but I thought it should be posted in this forum as well.

 

I have a couple of KPL secondary buttons that I want to be able to press and turn my entire 1st floor off (before bed, when leaving the house, etc..). I originally did this by making them non-toggle controllers of a scene containing all of my 1st floor lights. This worked great, but offered no indication that a light was left on.

 

Using the ISY-26, I was able to make it so the KPL would be lit if any of my lights were left on.

 

Only downside is there is a 1 second or so delay from when I press the 'off' button to when the lights shut off (because that button press is executing a program on the ISY, whereas before it was directly linked to the appropriate lights). The obvious upside is that I now have an LED that tells me when a light was left on, which is real nice.

 

Couple things I did to simplify the programs a bit:

 

1 - In my IF conditions to check the status of my lights, instead of checking EVERY switch on the 1st floor, I only checked the load controlling ones. So, if light1 and light2 were switches in a virtual 3-way circuit, the program would only check to see if light1 was on. Also, I only check the switches themselves - not any lamp modules, which are only on if a linked switch is on anyway. Even though Chris said the ISY could handle tons of conditions, I'd rather make my programs as simple as possible.

 

2 - Instead of checking to see if the light is ON, check to see if it is NOT OFF instead. This will catch any dimmed lights as well.

 

Here are my final 1st floor programs. For my 1st floor, I created 2 "fix" programs because I have 2 separate keypad buttons that need to show the status and control:

 

 

FLOOR 1 STATUS UPDATE

If
       Status  'Bathroom1stLaundry1' is not Off
    Or Status  'Bathroom1stMirror1' is not Off
    Or Status  'Bathroom1stVent1' is not Off
    Or Status  'FoyerMain1' is not Off
    Or Status  'KitchenBar1' is not Off
    Or Status  'KitchenMain1' is not Off
    Or Status  'KitchenSink1' is not Off
    Or Status  'KitchenTable1' is not Off
    Or Status  'LivingRoomControls1A' is not Off
    Or Status  'LivingRoomMain1' is not Off
    Or Status  'PlayRoomMain1' is not Off

Then
       Set  Scene 'Floor1StatusLight' On

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

 

 

FLOOR 1 CONTROL

If
       Control 'FoyerControls1G' is switched Off
    Or Control 'MasterBedControls1G' is switched Off

Then
       Set  Scene 'Floor1Off' Off

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

 

 

FLOOR 1 STATUS FIX 1

If
       Program 'Floor 1 Status Update' is False
   And Status  'FoyerControls1G' is not Off

Then
       Set  Scene 'Floor1StatusLight' Off

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

 

 

FLOOR 1 STATUS FIX 2

If
       Program 'Floor 1 Status Update' is False
   And Status  'MasterBedControls1G' is not Off

Then
       Set  Scene 'Floor1StatusLight' Off

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

Link to comment

Rand -

 

Sorry, I should have been more clear. In MY home setup, the only way a LampLinc or InlineLinc would be on is if a corresponding switch were on. I don't have any timers or anything that would turn a LampLinc or InlineLinc on without turning on the controlling switch.

 

So, to streamline my program a bit, I don't have it check the status of the LampLincs - just the primary controlling switch.

Link to comment

Mike,

 

The fact is any LL or ILL could be controlled from any other Insteon controller, or by local control.

 

There is also the possibility of controlling the SL and not the LampLinc.

 

It would not be any more or less steps to check the LampLinc status instead of the SwitchLinc status.

 

I hope that as you come to recognize the value of scenes you will be using that SwitchLinc to control a scene, no matter how small, and that the LampLinc will become involved in more than one scene. 8)

 

Rand

Link to comment
  • 4 weeks later...

MikeB,

 

I've been using your example for some time now. Thank you, it's been working nicely.

 

After playing with things the other night, it occurred to me that the trigger would be re-evaluated on each status change. The result is multiple on commands to the keypadlinc status button when it's already on.

 

Being an old X10'er I have a mindset regarding excess traffic on the powerline. I've added the following qualifiers to prevent re-triggering of a scene that is already on.

 

Thought I'd pass it along FWIW.

 

1st Floor status off trigger

If

(

Status 'Bar Cans' is Off

And Status 'Bar Lamp' is Off

And Status 'Dinette' is Off

And Status 'Fam Wall KPL1-Primary' is Off

And Status 'Fam Fan' is Off

And Status 'Family Room LampLinc' is Off

And Status 'Family Room Lamplinc' is Off

And Status 'Fireplace Spots' is Off

And Status 'Foyer' is Off

And Status 'Kitchen Cans' is Off

)

And Status 'Master KPL 1st FL XX.XX.XX.G' is On

 

Then

Wait 1 second

Set Scene '1st Floor Status On' Off

 

Else

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

 

 

1st Floor status On Trigger

If

(

Status 'Bar Cans' > Off

Or Status 'Bar Lamp' > Off

Or Status 'Dinette' > Off

Or Status 'Fam Wall KPL1-Primary' > Off

Or Status 'Fam Fan' > Off

Or Status 'Family Room LampLinc' > Off

Or Status 'Family Room Lamplinc' > Off

Or Status 'Fireplace Spots' > Off

Or Status 'Foyer' > Off

Or Status 'Kitchen Cans' > Off

)

And Status 'Master KPL 1st FL 08.47.97.G' is Off

 

Then

Wait 1 second

Set Scene '1st Floor Status On' On

 

Else

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

 

Link to comment

IndyMike -

 

Thanks for the reply! X10 or Insteon, reducing powerline traffic is important in my opinion.

 

With your suggestion, I ditched my "fix" program and now have (like your examples) simply CONTROL, STATUS ON, and STATUS OFF programs. Seems good so far.

 

Here is an example for my 1st floor, where I have 2 status lights (master bed & foyer):

 

 

FLOOR 1 CONTROL

 

If
       Control 'FoyerControls1G' is switched Off
    Or Control 'MasterBedControls1G' is switched Off

Then
       Set Scene 'Floor1Off' Off

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

 

 

FLOOR 1 STATUS ON

 

If
       (
            Status  'Bathroom1stLaundry1' is not Off
         Or Status  'Bathroom1stMirror1' is not Off
         Or Status  'Bathroom1stVent1' is not Off
         Or Status  'FoyerMain1' is not Off
         Or Status  'KitchenBar1' is not Off
         Or Status  'KitchenMain1' is not Off
         Or Status  'KitchenSink1' is not Off
         Or Status  'KitchenTable1' is not Off
         Or Status  'LivingRoomControls1A' is not Off
         Or Status  'LivingRoomMain1' is not Off
         Or Status  'PlayRoomMain1' is not Off
       )
   And (
            Status  'MasterBedControls1G' is Off
         Or Status  'FoyerControls1G' is Off
       )

Then
       Wait  1 second
       Set Scene 'Floor1StatusLight' On

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

 

 

FLOOR 1 STATUS OFF

 

If
       (
            Status  'Bathroom1stLaundry1' is Off
        And Status  'Bathroom1stMirror1' is Off
        And Status  'Bathroom1stVent1' is Off
        And Status  'FoyerMain1' is Off
        And Status  'KitchenBar1' is Off
        And Status  'KitchenMain1' is Off
        And Status  'KitchenSink1' is Off
        And Status  'KitchenTable1' is Off
        And Status  'LivingRoomControls1A' is Off
        And Status  'LivingRoomMain1' is Off
        And Status  'PlayRoomMain1' is Off
       )
   And (
            Status  'MasterBedControls1G' is not Off
         Or Status  'FoyerControls1G' is not Off
       )

Then
       Wait  1 second
       Set Scene 'Floor1StatusLight' Off

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

Link to comment

I updated all programming on my status buttons. Works pretty good so far. Hope this makes it more reliable.

 

The only difference is that I also have a control on for the 1st floor status button so that if i press it once (from off state), it also turns on a scene. Not the entire 1st floor but just the hallway light.

Link to comment
  • 2 weeks later...

This is great stuff.

 

Just got my ISY and am thrilled to be learning from these posts.

 

Sparked by buzz, I added the function that at the time the lights are all turned off, a hallway light is turned ON for 5 minutes to allow us time to see our exit path.

 

If
       Control 'Floor 1 Control' is switched Off

Then
       Set Scene 'Floor 1 Off' Off
       Set Scene 'Exit Lights' Fast On
       Set Scene 'Exit Lights' Off

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

 

Exit Lights are a scene that is set to ramp over a 5 minute period.

 

Perhaps someone has a more elegant solution, since I'm still figuring all this out.

Link to comment

If you set your ramp rate for 'Exit Lights' at 5 minutes just so you would get a delay for the program, you could instead set it back to 1 or 2 seconds, and use the Wait action to wait 5 minutes.

 

Both have their advantages; by using Wait, the light will remain at the same level for the whole 5 minutes, by using ramp rate, the lowering light level gives you some indication as to when it will shut off totally.

 

If 
       Control 'Floor 1 Control' is switched Off 

Then 
       Set Scene 'Floor 1 Off' Off 
       Set Scene 'Exit Lights' On 
       Wait  5 minutes
       Set Scene 'Exit Lights' Off 

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

 

You could also use a combination of the two, say set the Ramp Rate for 'Exit Lights' to 1 minute. This would keep the full light level for 4 minutes, then slowly ramp down for one minute ...

 

If 
       Control 'Floor 1 Control' is switched Off 

Then 
       Set Scene 'Floor 1 Off' Off 
       Set Scene 'Exit Lights' Fast On
       Wait  4 minutes
       Set Scene 'Exit Lights' Off 

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

Link to comment

Thanks for the tip Chris.

 

Ok, can anyone tell me what I am doing wrong?

 

I tried to follow MikeB's example and use 2 KPL status lights. But when I enable these 2 programs, as soon as one of the lights being checked is turned on, the KPL button's LED starts to light and unlight repeatedly and the 2 STATUS programs (below) cycle back and forth running the 'Then' branch in an endless loop.

 

FLOOR 1 STATUS OFF

If
       (
            Status  'Hall Ctyd' is Off
         Or Status  'Hall Dining Room' is Off
         Or Status  'Hall Front' is Off
         Or Status  'Hall LR' is Off
         Or Status  'Dining Room' is Off
       )
   And (
            Status  'Floor 1 ctrl - Rear KP-A' is not Off
         Or Status  'Floor 1 Ctrl-Front KP-D' is not Off
       )

Then
       Wait  1 second
       Set Scene 'Floor 1 Status Light' Off

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



 

FLOOR 1 STATUS ON

If
       (
            Status  'Hall Ctyd' is not Off
         Or Status  'Hall Dining Room' is not Off
         Or Status  'Hall Front' is not Off
         Or Status  'Hall LR' is not Off
         Or Status  'Dining Room' is not Off
       )
   And (
            Status  'Floor 1 ctrl - Rear KP-A' is Off
         Or Status  'Floor 1 Ctrl-Front KP-D' is Off
       )

Then
       Wait  1 second
       Set Scene 'Floor 1 Status Light' On

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



 

The Scene 'Floor 1 Status Light' is comprised of the 2 KPL buttons: 'Floor 1 ctrl - Rear KP-A' and 'Floor 1 Ctrl-Front KP-D'.

 

I also have 2 programs that run the Floor 1 controls, but I didn't think it necessary to include them since the endless loop seems to be from the above 2 programs.

 

Thanks all.

Link to comment

...Ok, can anyone tell me what I am doing wrong?

 

I tried to follow MikeB's example and use 2 KPL status lights. But when I enable these 2 programs, as soon as one of the lights being checked is turned on, the KPL button's LED starts to light and unlight repeatedly and the 2 STATUS programs (below) cycle back and forth running the 'Then' branch in an endless loop.

Your problem may be occurring due to different ramp rates between your devices. When you instruct a group of devices to turn off they will do so according to their programmed ramp rate.

 

I believe you want the following as "and"s rather than "or"s. If all of the lights are off, then turn off the status lamps. Since your status lamps are set by a scene (??) these should probably be "and"s as well.

 

Let us know how things work,

IM

 

If
       ( 
            Status  'Hall Ctyd' is Off
         AND Status  'Hall Dining Room' is Off
         AND Status  'Hall Front' is Off
         AND Status  'Hall LR' is Off
         AND Status  'Dining Room' is Off
       )
   And (
            Status  'Floor 1 ctrl - Rear KP-A' is not Off
         AND Status  'Floor 1 Ctrl-Front KP-D' is not Off
       )

Then
       Wait  1 second
       Set Scene 'Floor 1 Status Light' Off

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

 

FLOOR 1 STATUS ON

If
       (
            Status  'Hall Ctyd' is not Off
         Or Status  'Hall Dining Room' is not Off
         Or Status  'Hall Front' is not Off
         Or Status  'Hall LR' is not Off
         Or Status  'Dining Room' is not Off
       )
   And (
            Status  'Floor 1 ctrl - Rear KP-A' is Off
         AND Status  'Floor 1 Ctrl-Front KP-D' is Off
       )

Then
       Wait  1 second
       Set Scene 'Floor 1 Status Light' On

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

Link to comment
  • 5 years later...

I'm not sure what I'm doing wrong here.

 

If
       Status  'Andrew's Office A' > Off
    Or Status  'Basement Hall' > Off
    Or Status  'Basement KPL A' > Off
    Or Status  'Christmas Tree' > Off
    Or Status  'Lamp Left' > Off
    Or Status  'Lamp Right' > Off
    Or Status  'Library' > Off
    Or Status  'Theatre Room' > Off

Then
       Wait  1 second
       Set Scene 'BASEMENT LED OFF' On

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


 

It doesnt seem to turn the LED on.

 

Is it because the KPL button that shuts the lights on and off is also the LED that I want to light up if there are lights still on?

 

Drew

Link to comment

If
       Status  'Andrew's Office A' is not Off
    Or Status  'Basement Hall' is not Off
    Or Status  'Basement KPL A' is not Off
    Or Status  'Christmas Tree' is not Off
    Or Status  'Lamp Left' is not Off
    Or Status  'Lamp Right' is not Off
    Or Status  'Library' is not Off
    Or Status  'Theatre Room' is not Off

Then
       Wait  3 seconds
       Set Scene 'LED OFF Scenes / BASEMENT LED OFF' On

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


 

I've tried this as well but it doesnt seem to work.

 

I do have to admit I have a tough time trying to get the LEDs to properly display the status of a device

 

For example,

 

viewtopic.php?f=27&t=12705

viewtopic.php?f=26&t=532

 

 

Every once in a while I get the energy to try to get to the bottom of the LED status thing, after hours or days of running up and down a flight of stairs with a hopeful look on my face I eventually quit,

cry in the front of the ISY GUI a little bit and then flog myself repeatedly for not getting the logic behind this.

 

I don't want to post the same question over and over again and I don't want to burn out everyone's patience but I'd love to get my system working great.

 

Drew

Link to comment

Hi Oberkc;

 

The wait was me seeing if there was too much traffic. I should take it out.

 

I tried to turn on the scene from the ISY and it didnt light up the LED.

 

Have I done something wrong?

 

I did notice it was in a mutually exclusive grouping and I've removed it.

 

Drew

Link to comment
I tried to turn on the scene from the ISY and it didnt light up the LED.

 

This tends to confirm, in my mind, that the problem is NOT with your program.

 

Have I done something wrong?

 

Possibly. It could also be a communication issue.

 

Are you sure the keypad button is part of the scene? When you select the scene, what is the ON level of the button? 100%? Zero?

 

Are there any red or green symbols next to the device in the ISY list of devices? What happens when you perform a scene test on the troublesome scene?

 

If the above steps showed no indication of problems, I would go a little deeper. Because it is pretty easy to do, I would then restore the keypad device and hope this solves the problem.

 

Please report back your findings.

Link to comment
Does it matter that the same KPL button triggers the basement scene on

AND triggers a scene that shuts all basement lights off, regardless if they're in the basement scene or not?

 

If you are using a KPL button to initiate a program to turn one scene on and another scene off, then, no. If you are using combinations of scenes and programs, I can see where this might get messy quick if one is not careful. Of course, no insteon device can be CONTROLLER of more than one ISY scene.

 

Perhaps it would be worthwhile to select the KPL button, and check (on the right) which scenes this button is controller of, and which it is responder to. Report back the results.

Link to comment

"Does it matter that the same KPL button triggers the basement scene on

AND triggers a scene that shuts all basement lights off, regardless if they're in the basement scene or not?"

 

It can. Perhaps understanding what happens Insteon wise when the KPL button is pressed will help.

 

First the KPL sends a Group Broadcast message which all Responders should react to simultaneously. Also the ISY Program is triggered by this message.

 

Next the KPL sends a Group Cleanup Direct message to each button Responder device individually. This message must be ACKed by the individual Responder or the KPL will retry the Group Cleanup Direct for that Responder. While this KPL activity is going on the ISY Program is running issuing the Then statements. These Program statements can easily overlap the continuing KPL activity generated by the KPL button press.

 

Depending on how many Responders are directly reacting to the KPL button press, the Program should Wait until this activity is complete before issuing Insteon statements.

Link to comment

So, to recap.

 

I have a KPL Button (G) that turns a basement scene on.

(This works fine)

 

When it is turned off, it triggers a program to shut off ALL lights in the basement, regardless if they are in the scene or not.

(This works fine)

 

Where it falls apart is this.

 

IF there's any light on in the basement I want the KPL G Button to be lit.

(This eludes me somehow)

 

If
       Status  'Andrew's Office A' is not Off
    Or Status  'Basement Hall' is not Off
    Or Status  'Basement KPL A' is not Off
    Or Status  'Christmas Tree' is not Off
    Or Status  'Lamp Left' is not Off
    Or Status  'Lamp Right' is not Off
    Or Status  'Library' is not Off
    Or Status  'Theatre Room' is not Off

Then
       Wait  1 second
       Set Scene 'LED OFF Scenes / BASEMENT LED OFF' On

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

 

I'm pretty sure at this point Insteon has recreated the Bugs Bunny "Boxing Glove On A Spring" with my name on it.

 

I have been over the "Light the KPL LED Status thing with many KPLs and I can never get it to work 100%

Sometimes it will seem to be correct but at one point I'll notice the LED is off when the light is on (or the other way around)

 

Any help before I kick the chair out from under me would be greatly appreciated.

(knowing my luck, the chair would trigger a scene and in my final breath I would notice the LED was incorrectly showing the status)

Drew

Link to comment

First thing to verify is the button Scene works. Using the Admin Console select the button Scene, turn the button Scene On and Off several times and verify visually the KPL button LED follows as expected.

 

Next is to split the Program into two Programs. The combination of the Wait which may be too short and the changing of the various device Status may make the execution of the statement(s) after the Wait inconsistent. In the Then clause of the current Program invoke Program 2. In Program 2 put a Wait of 10 seconds followed by the Scene On. The 10 second period is for testing only at this point.

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.3k
×
×
  • Create New...