MikeB Posted November 18, 2007 Posted November 18, 2007 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')
Sub-Routine Posted November 18, 2007 Posted November 18, 2007 Also, I only check the switches themselves - not any lamp modules, which are only on if a linked switch is on anyway. That is so not true. InlineLincs are also independent critters. I believe the only truly linked Insteon devices are the Beta 2-wire switches. Rand
MikeB Posted November 18, 2007 Author Posted November 18, 2007 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.
Sub-Routine Posted November 18, 2007 Posted November 18, 2007 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. Rand
MikeB Posted November 18, 2007 Author Posted November 18, 2007 Alright, alright - you convinced me! I'll add the LampLinc statuses to my conditions...
IndyMike Posted December 15, 2007 Posted December 15, 2007 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')
MikeB Posted December 16, 2007 Author Posted December 16, 2007 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')
Mark Sanctuary Posted December 16, 2007 Posted December 16, 2007 This looks good. Should be solid. I have had an All Off button with similar programming like this for quite a while now and it always works great.
buzz Posted December 17, 2007 Posted December 17, 2007 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.
blartyo Posted December 29, 2007 Posted December 29, 2007 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.
Chris Jahn Posted January 2, 2008 Posted January 2, 2008 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')
blartyo Posted January 7, 2008 Posted January 7, 2008 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.
MikeB Posted January 7, 2008 Author Posted January 7, 2008 I believe your problem is that your STATUS OFF program should have ANDs and not ORs. Your STATUS ON program is turning the LED on, but then since one of your devices is probably off the status light gets turned back off.
IndyMike Posted January 7, 2008 Posted January 7, 2008 ...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')
blartyo Posted January 7, 2008 Posted January 7, 2008 Thanks guys, works like a charm. Must go impress the wife with this!!
andrew77 Posted November 23, 2013 Posted November 23, 2013 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
andrew77 Posted November 23, 2013 Posted November 23, 2013 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
oberkc Posted November 23, 2013 Posted November 23, 2013 What happens when you turn the scene on manually from the ISY? Does it come on? I see no program problem here. Why the wait?
andrew77 Posted November 23, 2013 Posted November 23, 2013 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
oberkc Posted November 23, 2013 Posted November 23, 2013 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.
andrew77 Posted November 23, 2013 Posted November 23, 2013 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? I'm hoping to just have the one KPL button be the basement button. Drew
oberkc Posted November 23, 2013 Posted November 23, 2013 Does it matter that the same KPL button triggers the basement scene onAND 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.
LeeG Posted November 24, 2013 Posted November 24, 2013 "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.
andrew77 Posted November 25, 2013 Posted November 25, 2013 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
LeeG Posted November 25, 2013 Posted November 25, 2013 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.
Recommended Posts