Jump to content

KPL button lights doing their own thing


rocketraman

Recommended Posts

I have four KPLs, 3 6-button and 1 8-button, along with a couple of other switches that are all part of three scenes. In these three scenes (activated by buttons A/main, B, and C) on each of the KPLs, the various loads present in all of the scenes are on or off.

 

I am using the new "KPL Button Groupings in Scenes" functionality in 2.7.8+ to manage the KPL button lights (currently running 2.7.11). The idea is that if button A is pressed on any of the KPLs, button B and C will go out on all of them (since the scenes are mutually exclusive). Same idea when B or C are pressed.

 

However, what seems to happen is that all the button lights in the scene are simply toggled, rather than following the on-level of 0 (i.e. off) set in the scene. For example, starting from an all-off state, button A is pressed on the first KPL. The scene loads do the right thing (turning on or off correctly), but in addition to button A being correctly illuminated buttons B and C are also incorrectly illuminated on each of the three other KPLs.

 

I've tried restoring all of my devices but the behavior is the same. I have also tried changing the buttons toggle mode to "Non-toggle" to no avail.

Link to comment

I don't use the button groupings feature much but if I understand correctly you're trying to make the buttons grouped on one KPL trigger in response to the buttons on a different one?

 

If that's so, I don't believe that's possible. The button grouping is internal to each KPL - so that when you press one the others respond accordingly. At least that's the way I understand it. But if they're triggered from remote they don't follow the groupings. At least not the way I understand it. I think button groupings are a local function.

 

I do something similar to what you're doing but I use scenes to do it. I join all the responding buttons in a scene and use the other KPL as a controller to turn them on/off at once.

Link to comment
I do something similar to what you're doing but I use scenes to do it. I join all the responding buttons in a scene and use the other KPL as a controller to turn them on/off at once.

 

Hi Mark -- yes, using scenes to set the buttons is what I'm trying to do. All the responding buttons are in each scene and are set to the correct on/off value. However, its not working -- they just toggle rather than get set to the value specified in the scene controller.

Link to comment

Now from what you wrote it sounds like you want to press buton A on any one of them and have buttons b and c go out on all of them

 

There are two ways I can think of to do that.

 

One - make A a non-toggle off. Then create a scene with B&C from all the KPL's as members with A from All of them as controllers. Pressing any A will turn every A, B, and C off then

 

Two - make a scene as above but highlight the A in the scene and make sure that each of the A, B, & C's have dim levels set to 0 in their scene properties in response to each A. So if you make a scene like that then A-on will turn them off because their dim level is 0 and A-off will turn them off because that's normal. Just be sure you're looking at the A as a controller part of the scene when you check.

 

If you don't make the A non-toggle off and you haven't set the dim levels to 0 in all of them then the A will simply toggle all the responders to match its current state - ie A on will turn them all on, A off will turn them all off.

 

 

Does that help any?

Link to comment
Now from what you wrote it sounds like you want to press buton A on any one of them and have buttons b and c go out on all of them

 

Right. Except the same also applies to B and C on each kpl i.e. B should turn out A and C, and C should turn out A and B.

 

One - make A a non-toggle off. Then create a scene with B&C from all the KPL's as members with A from All of them as controllers. Pressing any A will turn every A, B, and C off then

 

I'm assuming B and C from all the other kpl's have to be responders here?

 

Maybe I'm missing something but when I set A to be a non-toggle (off), pressing the A button turns on the A led, but nothing else happens. I still need A to set and unset the loads in the scene, otherwise there isn't much point to this.

 

Two - make a scene as above but highlight the A in the scene and make sure that each of the A, B, & C's have dim levels set to 0 in their scene properties in response to each A. So if you make a scene like that then A-on will turn them off because their dim level is 0 and A-off will turn them off because that's normal. Just be sure you're looking at the A as a controller part of the scene when you check.

 

I believe this is exactly what I did (and described in my first post) -- it doesn't work. I verified I am looking at the A as controller part of the scene, and double and triple checked the other kpl button responders. If A is a normal toggle button, the scene does the right thing in terms of loads, but the B and C buttons on the other kpls don't follow the scene settings and remain off -- they only toggle from off to on (the end result being the A, B, and C are lit on all the KPLs except the one I used).

Link to comment

Ok.. sorry... I didn't understand that A must toggle on and off. If that's the case then my first suggestion won't work.

 

It sounds to me like you have the loads connected as members of the scene but not the buttons that control the loads. Can this be the case? Your scene - in the simplest case - should look like this

 

KPL 1 - button A - controller

KPL 1 - button B - responder - dim Level 0

KPL 1 - button C - responder - dim Level 0

KPL 2 - button B - responder - dim Level 0

KPL 2 - button C - responder - dim Level 0

KPL 3 - button B - responder - dim Level 0

KPL 3 - button C - responder - dim Level 0

Load controlled by KPL 2 - button B - responder - dim Level 0

Load controlled by KPL 2 - button C - responder - dim Level 0

 

I'm assuming here that KPL - button B, KPL 2 - button B and KPL 3 - button B control the same load?

 

If you have it that way then no matter what you do to KPL1 - button A - on or off (but not hold and dim) should make all your buttons B, C, and their loads turn off.

 

 

mark

Link to comment

Hi Raman,

 

The issue is this:

1. Button Groupings and Mutual Exclusivity are only available locally (if you turn on a sub button remotely via a scene, none of the groupings work)

2. You cannot turn OFF a sub button for another KPL if the command you send is On (unlike devices with loads)

 

So, in effect, your KPL 2 buttons in the scene will all turn on as soon as anything in that scene is turned on.

 

As far as I know, the only way to rectify this is with programs. This is quite unfortunate but I really do not see any way around this.

 

With kind regards,

Michel

Link to comment

That is disappointing...

 

I've tried doing this before with programs (using follow scenes) and always ran into various problems with buttons getting out of sync and button lights flashing for no apparent reason.

 

I guess I'll give it another shot. My general approach will be to create a program to turn off all B and C lights (via Follow Scenes) when any of the A buttons are pressed. Similarly for B and C. Is that the recommended approach? Should the program use Control or Status conditions?

 

Are there any caveats... for example, do I need to add a delay to give the A scene time to complete before the program attempts to run the follow scene?

 

Thanks,

Raman

Link to comment

Sorry for steering you in the wrong direction earlier.

 

Here's a program I use to do something similar

 

I have one switch that turns on 2 lights. If either one of the lights turns on it turns on the switch but I don't want it off until BOTH the other lights are off.

 

If

Status 'LIGHT - A' is Off

And Status 'KPL - A' is Off

 

Then

Set 'TRIGGER - Both Things' Off

 

Else

Set 'TRIGGER - Both THings' On

 

 

This way if ALL of the first three are off then the trigger turns off - otherwise the trigger turns on

 

It works well - there's a second or so lag for program execution. I found it worked better based on status then on condition because the condition seemed to get 'missed' sometimes.

Link to comment

I agree, logically it makes no sense and I don't know why Smarthome didn't consider this.

 

I've found this program-based workaround seems to work:

 

If
       Control 'Main Entry, 6btn A' is switched On
    Or Control 'Garage Entry, 6btn A' is switched On
    Or Control 'Stair, 2-1, 8btn Main' is switched On
    Or Control 'Stair, 3-2, 6btn A' is switched On

Then
       Set Scene 'Stairs, Follow A' Fast Off

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

 

The "Stairs, Follow A" scene consists of the B and C buttons from each of the four KPLs (responders only).

 

Repeat similarly with one program and one Follow scene each for the B and C buttons.

 

I also created one of these programs for each kpl to work-around the "local off" issue (another annoying Smarthome limitation):

 

If
       Status  'Stair, 3-2, 6btn' is 1%

Then
       Set 'Stair, 3-2, 6btn' Fast Off

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

 

With the various programs and scenes above, I get a lot of button light flashing but things generally seem to work.

 

Note that I first tried to use Status conditions. I had a bunch of problems with that approach:

 

1) The ISY doesn't seem to detect changes in status to a local KPL, unless an explicit Query is done. For example, I select button A in a KPL to activate a scene. One of the responders of that scene is the KPL main On button to control the load. In this situation, the KPL status in the ISY does not show On -- presumably because it was done locally within the KPL and therefore no On signal was sent out on the Insteon network (yet another bad design by Smarthome?). And thus the appropriate ISY programs do not trigger.

 

2) The ISY doesn't always get button status updates without an explicit query -- for example, turn on a physical button, then hit the "All Off" command in the ISY My Lighting page. On my system, while the loads change Status to Off, the button state remains On until an explicit "Query" is done. So the button state also seems to be unreliable. I don't know if this is an Insteon or ISY problem.

 

3) Another solution would have been to create a program to turn off buttons automatically if any loads change in the scene it is a controller for. This would also have the advantage of turning off the button if some lights were managed manually, outside of the keypads. Again, currently impossible to achieve -- there seems to be no easy way to detect changes in scenes i.e. the ISY/Insteon does not have any scene status -- even logically simple programs like "if devices in scene X do not match scene settings, then do xyz" are impossible. This goes back to this thread, and many others as well:

 

http://forum.universal-devices.com/viewtopic.php?t=1703

 

Regardless, I need to live with this for a few days to see how it works out but I think I've hacked it in.

Link to comment

Hi again,

 

Thanks for the update.

 

What troubles me the most is not the KPL issues but it seems that you also have status issues. I would like to get to the bottom of these issues before we go any further with your programming. In short, there should be NO reason whatsoever that you have to query devices all the time.

 

So, let's take device for which ISY does not hear status signals, and let's figure out why. The first thing we have to do is to use the Event Viewer to see the traffic. We would like to know if there's any traffic when you click on the device. If no traffic, then we would have to go to the links table and make sure that you have the correct links in both the PLM and the device. If that fails, then we would have to look for sources of noise.

 

With kind regards,

Michel

Link to comment

Michel,

 

I'm sure you've considered this but just to satisfy me. When a KPL is added to ISY does it add a PLM link for each group/button of the KPL? Or does it only add one when it's joined to a scene? I only ask because without there being a link to that button/group somewhere I could see why ISY would not be informed of a status change.

 

Mark

Link to comment
So, let's take device for which ISY does not hear status signals, and let's figure out why. The first thing we have to do is to use the Event Viewer to see the traffic. We would like to know if there's any traffic when you click on the device. If no traffic, then we would have to go to the links table and make sure that you have the correct links in both the PLM and the device. If that fails, then we would have to look for sources of noise.

Ok.

 

The ISY doesn't seem to detect changes in status to a local KPL, unless an explicit Query is done.

I think I figured out (sort of) what is happening here. The KPL in question is configured in a 3-way manner with another dimmer via a 3-way scene. Somehow the scene triggered by button A had gotten set such that the KPL buttons were turning the local KPL load off (even though I thought that was impossible, so its another mystery as to how that happened...). However, it seems that the load was still turning on the way I expected due to the 3-way configuration with the second controller. In this situation, the ISY doesn't seem to know the KPL is On, even though it is. Here is the event log -- the KPL is address E.28.C3 and the 3-way is dimmer E.4D.17:

 

Sat 02/27/2010 02:34:32 AM : [   E 28 C3 3]      DON   0
Sat 02/27/2010 02:34:33 AM : [   E 28 C3 3]       ST 255
Sat 02/27/2010 02:34:33 AM : [   E 4D 17 1]       ST 255
Sat 02/27/2010 02:34:33 AM : [   E 21 A7 1]       ST 255
Sat 02/27/2010 02:34:33 AM : [   E 2A 90 3]       ST 255
Sat 02/27/2010 02:34:33 AM : [   E 29 BC 3]       ST 255

Once I reconfigured the scene properly the problem went away and the status was ok. But something was definitely screwy -- 1) how did the scene get set to set the local KPL load to level 0 if the ISY doesn't allow that, and 2) if the light is turning on (for whatever reason) the status in ISY should be on, but it wasn't.

 

 

The ISY doesn't always get button status updates without an explicit query -- for example, turn on a physical button, then hit the "All Off" command in the ISY My Lighting page.

Here is the event log from the On (again, KPL button A, with the scene fixed as described above):

 

Sat 02/27/2010 11:05:46 AM : [   E 28 C3 3]      DON   0
Sat 02/27/2010 11:05:47 AM : [   E 28 C3 1]       ST 255
Sat 02/27/2010 11:05:47 AM : [   E 28 C3 3]       ST 255
Sat 02/27/2010 11:05:47 AM : [   E 4D 17 1]       ST 255
Sat 02/27/2010 11:05:47 AM : [   E 21 A7 1]       ST 255
Sat 02/27/2010 11:05:47 AM : [   E 2A 90 3]       ST 255
Sat 02/27/2010 11:05:47 AM : [   E 29 BC 3]       ST 255

Here is the All-Off log:

 

Sat 02/27/2010 11:07:47 AM : [   E 28 C3 1]       ST   0
Sat 02/27/2010 11:07:47 AM : [   E 4D 17 1]       ST   0
Sat 02/27/2010 11:07:47 AM : [   E 21 A7 1]       ST   0

I note there is no explicit command to the button E.28.C3.3 even though the button is physically off after the All-Off. The ISY just thinks it is still On until the Query is run.

 

I also note that when I turn the button off physically (at the switch) rather than via the ISY, all statuses are fine -- note the explicit ST-0 to E.28.C3.3, so this appears to be more of an ISY issue:

 

Sat 02/27/2010 11:20:51 AM : [   E 28 C3 3]      DOF   0
Sat 02/27/2010 11:20:51 AM : [   E 28 C3 1]       ST   0
Sat 02/27/2010 11:20:51 AM : [   E 28 C3 3]       ST   0
Sat 02/27/2010 11:20:51 AM : [   E 4D 17 1]       ST   0
Sat 02/27/2010 11:20:51 AM : [   E 21 A7 1]       ST   0
Sat 02/27/2010 11:20:51 AM : [   E 2A 90 3]       ST   0
Sat 02/27/2010 11:20:51 AM : [   E 29 BC 3]       ST   0

 

Cheers,

Raman

Link to comment
Somehow the scene triggered by button A had gotten set such that the KPL buttons were turning the local KPL load off (even though I thought that was impossible, so its another mystery as to how that happened...).

 

Any button on a KPL can be linked to the load and turn it off - making it 'seem' as if a different button is controlling the load. However only button A can have a load attached to it. I have at least a dozen in my house where button H is an 'area off' button - it turns off every button on itself including the load and a bunch of other lights in the area.

 

I do have problems getting ISY to configure buttons within a KPL turning off the load and generally link them manually. Press-hold ten seconds on the one you want as a controller (in my case H) till it blinks then press-hold ten seconds on the other KPL button you want on the same KPL till the link completes.

 

I don't know why yours did what it did but whenever I experience similar 'weirdness' it's usually because I've created some links outside of ISY and promptly forgotten that I've done so.

Link to comment
Any button on a KPL can be linked to the load and turn it off - making it 'seem' as if a different button is controlling the load. However only button A can have a load attached to it. I have at least a dozen in my house where button H is an 'area off' button - it turns off every button on itself including the load and a bunch of other lights in the area.

 

No in this case it button A is not connected to the load -- it's a 6-btn KPL, with one big On button at the top connected to load, 4 buttons not connected to the load lettered A-D, and one big Off button at the bottom.

 

I think you're thinking of an 8-btn KPL, which has a "Main" button and then more buttons B-H.

 

Cheers,

Raman

Link to comment

6 button and 8 button KPL-s work the same way - only the naming changes.

 

In an 8 button KPL the buttons are number 1,2,3,4,5,6,7,8

In a 6 button KPL the buttons are number 1,3,4,5,6 - the 2 is merged with the 1 to become an ON and the 7,8 merge to become the OFF.

 

Either way the load is button 1 or 1/2 or A or A/B whatever you want to call it - and is the only place the load can connect. You can switch a KPL-6 to be an 8 and back again by air gapping it 10 seconds then holding A and H while pressing in for 2 seconds to make it an 8 or pressing AB and GH for 2 seconds to make it a 6. Of course you have to change the face plate as well as the button configuration is physically different.

 

I've been wishing for a long time that they'd make a KPL with a user-definable load button but that doesn't seem to be a high priority for many people. Some users have even used KPL-8s upside down in order to make the load the H button.

 

mark

Link to comment

Ok, all that makes sense -- thanks for the info. I was a bit confused about the numbering shown in the event viewer -- specifically about the "missing" #2 on my 6-btn KPLs, and you cleared that up nicely.

 

In my case, the button labeled "A" on my 6 button KPLs is button 3, and is not connected to the load. So I think my original question about how that button was somehow set to turn off the load locally still stands -- I haven't done any manual local programming since getting my ISY. When explicitly trying that in the ISY, it pops up the expected message saying "KeypadLinc local sub-buttons cannot turn off the load! You may want to choose a very low On Level instead" -- so I don't know how it got set to 0. And it was indeed set to zero -- not 1% -- I specifically checked.

Link to comment

You're trying to turn it OFF with an ON command - you can't do that with a KPL local button. If you want to turn it off you'll have to do it with an off command or set the dim level to like 1% which, for all intents and purposes, is off. Just be careful because if you then use it's status for programs it's status is NOT off - you'll have to watch for dim levels instead. Dimmed to 1% looks off but is considered on.

 

As for your button 3 controlling the load when you don't think it should, have you tried checking the links to see if all is right?

 

Go to Tools -> diagnostics -> show device links then hit start. Select the KPL that's causing trouble and let it run it's course. When it's done hit the compare button and it will compare what's in the KPL vs what ISY thinks should be there. This is a hugely handy feature. I'll betcha dollars to donuts that you have some links from your pre-isy time.

 

mark

Link to comment
You're trying to turn it OFF with an ON command - you can't do that with a KPL local button. If you want to turn it off you'll have to do it with an off command or set the dim level to like 1% which, for all intents and purposes, is off. Just be careful because if you then use it's status for programs it's status is NOT off - you'll have to watch for dim levels instead. Dimmed to 1% looks off but is considered on.

I think you've misunderstood -- I'm well aware of the limitation. My point was that somehow the scene was set that way, even though one shouldn't be able to do it.

 

As for your button 3 controlling the load when you don't think it should, have you tried checking the links to see if all is right?

Again, I think you've misunderstood -- in this case, I want button 3 to control the button 1 load and it does that just fine.

 

Go to Tools -> diagnostics -> show device links then hit start. Select the KPL that's causing trouble and let it run it's course. When it's done hit the compare button and it will compare what's in the KPL vs what ISY thinks should be there. This is a hugely handy feature. I'll betcha dollars to donuts that you have some links from your pre-isy time.

 

Great tip... I'll keep it in mind for the future. However, this isn't the problem here -- all links are working exactly the way they should be. The problem was/is the ISY status not matching the actual loads/buttons.

Link to comment

My apologies - I did misunderstand. I thought your load was turning on/off from a button that you didn't want controlling it.

 

I'm afraid I don't have a clue why ISY doesn't match statuses with you and will shut up now and wait for michel and the gang to help you out. The only thing that I could imagine is that the Offs and the very low %age ons are getting confused.

 

regards,

 

mark

Link to comment

Hi Mark,

 

Yes, ISY links all buttons when first linked to ISY.

 

Raman,

 

First of all I am glad that at least you are getting some of the statuses working properly. Now, there are two outstanding issues:

1. All Off, when activated from ISY, does not work. Can you tell me what's in the All Off group?

2. The mysterious on level of Zero ... I can only speculate that it was done in a prior firmware release

 

 

With kind regards,

Michel

Link to comment

1. All Off, when activated from ISY, does not work. Can you tell me what's in the All Off group?

I am running "All Off" from the "Network/My Lighting" page, which I believe includes everything the ISY knows about. Here is the Event Log when running the All Off command:

 

Wed 03/03/2010 04:31:43 PM : [   E 28 C3 1]       ST   0
Wed 03/03/2010 04:31:43 PM : [   E 4D 17 1]       ST   0
Wed 03/03/2010 04:31:43 PM : [   E 21 A7 1]       ST   0
Wed 03/03/2010 04:31:43 PM : [   E 42 1B 1]       ST   0
Wed 03/03/2010 04:31:43 PM : [   E 41 F9 1]       ST   0
Wed 03/03/2010 04:31:43 PM : [   E 2A 90 1]       ST   0
Wed 03/03/2010 04:31:43 PM : [   E 29 BC 1]       ST   0

 

Note that one of the ST-0 commands are sent to the sub-buttons, only to the main button 1. The sub-button lights have indeed turned off at this point, but the ISY thinks they are on, for example on KPL E 28 C3. Now doing an explicit query on the KPL with the out of date status corrects the status of button 5 (labeled "C"):

 

Wed 03/03/2010 04:34:36 PM : [   E 28 C3 1]       ST   0
Wed 03/03/2010 04:34:36 PM : [   E 28 C3 1]       OL 255
Wed 03/03/2010 04:34:36 PM : [   E 28 C3 1]       RR  28
Wed 03/03/2010 04:34:37 PM : [   E 28 C3 5]       ST   0

 

Note that turning off the scene physically via a button rather than via the ISY does set the status in the ISY correctly.

 

2. The mysterious on level of Zero ... I can only speculate that it was done in a prior firmware release

 

With kind regards,

Michel

It's possible -- lets ignore this for now and if it happens again I'll repost on it. Thanks a lot for your invaluable assistance.

 

Cheers,

Raman

Link to comment

Archived

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


×
×
  • Create New...