MarcK Posted January 3, 2015 Posted January 3, 2015 I've got 2 keypad controllers, and for each light control I create a scene: Scene 1: Keypad 1 - B (controller) Keypad 2 - B (controller) InlineLink 1 (responder) Scene 2: Keypad 1 - C (controller) Keypad 2 - C (controller) InlineLink 2 (responder) Scene 3: {just groups the 'H' buttons} Keypad 1 - H (responder) Keypad 2 - H (responder The keypads are all Toggle, except for button H which is (send OFF) Now I want to turn off all scenes with another keypad button (H). I tried a program I found on this site to set the status of H: If Status 'InlineLink1' is not off Or Status 'InlineLink2' is not off Then Set 'Keypad 1 - H' On 15/Off 7 Set 'Keypad 2 - H' On 15/Off 7 Else Set 'Keypad 1 - H' On 0/Off 0 Set 'Keypad 2 - H' On 0/Off 0 But that doesn't work (the backlight for H doesn't turn on) I tried another program to turn off all scenes: If Control 'Keypad 1 - H' is switched off Or Control 'Keypad 2 - H' is switched off Then In Scene 'Scene 1' set 'InlineLink1' 0% In Scene 'Scene 2' set 'InlineLink2' 0% But that doesn't work either. The light behind button H flashes on then off, but the scenes don't turn off and the backlights for their controllers remain on. There is a button in the ISY console to turn a scene off, but there doesn't seem to be any corresponding action.
LeeG Posted January 3, 2015 Posted January 3, 2015 If Control 'kpl 1 button H' is switched Off Or Control 'kpl 2 button H' is switched Off Then Set Scene 'Scene 1' Off Set Scene 'Scene 2' Off Set Scene 'Scene 3' Off Else
MarcK Posted January 3, 2015 Author Posted January 3, 2015 Ah! I was looking in the "Adjust Scene" actions, but Scene Off is in the "Insteon" actions. Thanks. Any ideas for part 1 (status lights)?
MarcK Posted January 3, 2015 Author Posted January 3, 2015 Part 1 is turning on the status light for button H when any of the scenes are active (first program above)
LeeG Posted January 3, 2015 Posted January 3, 2015 If Control 'kpl 1 B' is switched On Or Control 'kpl 2 B' is switched On Or Control 'kpl 1 C' is switched On Or Control 'kpl 2 C' is switched On Then Set Scene 'Scene 3' On Else If Status 'kpl 1 B' is Off And Status 'kpl 2 B' is Off And Status 'kpl 1 C' is Off And Status 'kpl 2 C' is Off Then Set Scene 'Scene 3' Off Else
Jimbo.Automates Posted January 3, 2015 Posted January 3, 2015 Make another scene with just those kpl buttons, then a program that monitors all the devices in the other scenes and turns the button scene on or off. That is the only way since you can not check the status of the scene.
MarcK Posted January 3, 2015 Author Posted January 3, 2015 Thank you. 'Control' is a trigger. 'Status' is not. (the guide could be a little clearer on that).
LeeG Posted January 3, 2015 Posted January 3, 2015 (edited) If Control and If Status are both triggers. Both can trigger a Program to Run If Control is looking at the commands flowing from the device. If Status is looking at Current State of the device. Edited January 3, 2015 by LeeG
MarcK Posted January 3, 2015 Author Posted January 3, 2015 The ISY (I'm using firmware version 4.2.18) seems to only run a 'Status' program once. I'm using your post #6 (If Control 'Keypad 1 - B' is switch on, etc.) to run the program that is all Status checks, and that works, since every change of state seems to trigger a Control check, but not a Status check. But there is an interesting timing issue here (for us programmer types). pressing Kp1-B, to turn it on, turns on InlineLink1 in the scene, but also triggers the program that then checks the status of InlineLink1. Do we know that the scene update completes before the program is run? Or is there a chance that the program might find the InlineLink1 to still be off?
LeeG Posted January 3, 2015 Posted January 3, 2015 If Control and if status have their own set of rules. If Control triggers the Program when the inbound command matches what is being looked for, On in this case. If Control does not trigger a Program when the device/button is turned On by something other than the device paddle/button being pressed On. If Status triggers a Program when the Current State changes to match the condition being checked for. If Status does not trigger a Program when Current State does not change states. Turning a device/button On twice in a row triggers the Program once when Current State changes to On. The Program(s) that are checking Responder Status of InlineLincs should be deleted. No need to monitor a Responder.
MarcK Posted January 3, 2015 Author Posted January 3, 2015 (edited) So I should be monitoring the Status of the associated controller, instead? (e.g. Kp1-B, KP2-B ). Do I need to monitor both, since both are controllers in the same Scene and so should be linked? Edited January 3, 2015 by MarcK
LeeG Posted January 3, 2015 Posted January 3, 2015 That is what the two Programs in post 6 are doing, monitoring the Controller buttons.
MarcK Posted January 3, 2015 Author Posted January 3, 2015 Yes. But do I need to monitor both keypads? Since Kp1-B and Kp2-B are both controllers for the same scene, I should only need to monitor one of them. (This is for the 'else' part of post #6)
LeeG Posted January 4, 2015 Posted January 4, 2015 (edited) Both KPLs are being monitored by the two Programs in post 6. Neither Program in post 6 uses/needs anything in the Else clause. The first Program turns On Scene 3 (turns On both H buttons) when any of the 4 KPL buttons is turned On. The second Program turns Off both H buttons when all four KPL buttons are turned Off. Oops, i see the missing piece. If Control 'kpl1 H' is switched Off Or Control 'kpl2 H' is switched Off Then Set Scene 'Scene 1' Off Set Scene 'Scene 2' Off Else Assumption - Scene 3 is assigned to kpl1 H and kpl2 H For reference - setting Backlight level changes the button LED level for All buttons, not just button H Then Set 'Keypad 1 - H' On 15/Off 7 Set 'Keypad 2 - H' On 15/Off 7 Else Set 'Keypad 1 - H' On 0/Off 0 Set 'Keypad 2 - H' On 0/Off 0 The Adjust Scene changes the Responder On Level or Responder Ramp Rate of the Set device the next time the Scene is used. Does not turn On/Off the Set device. Then In Scene 'Scene 1' set 'InlineLink1' 0% In Scene 'Scene 2' set 'InlineLink2' 0% Edited January 4, 2015 by LeeG
Recommended Posts