Jason F Posted March 16, 2019 Posted March 16, 2019 Hello, I'm new to insteon and the ISY.... trying to set up something a little different for a hotel application. I have one basic switch, which controls a lightbulb. I have 2 keypadlincs, which I'd like to use a couple of the small buttons to set 2 different "scenes". Scene 1 - Do not disturb - Controlled by button A on the keypadlincs, turns on the lightbulb. Scene 2 - Make up room - Controlled by button B on the keypadlincs, makes that same bulb flash. I've gotten both scenes to be able to turn on the bulb, however what I need it to do, is when I turn scene 2 on, to turn scene 1 off, and vice versa. Also, how would I get the light to flash as part of the scene? Thanks
oberkc Posted March 17, 2019 Posted March 17, 2019 2 hours ago, Jason F said: I've gotten both scenes to be able to turn on the bulb, however what I need it to do, is when I turn scene 2 on, to turn scene 1 off, and vice versa. My gut feel is to do this with a single ISY scene, including all the devices from scene 1 and scene 2. Buttons A and B would both be controllers in the scene. For button A, define the appropriate ON levels for the scene-1 devices. For scene-2 devices (and button B), define ON levels as ZERO (off, whatever). For button B, define the ON levels for scene-1 devices (and button A) as zero. Define the ON levels for scene-2 devices as you want. 2 hours ago, Jason F said: Also, how would I get the light to flash as part of the scene? This requires a program. There is no scene capability that would cause a light to flash. How do you want to initiate the flashing? Pressing button B? How do you want to terminate the flashing? Toggle button B to off? Press button A? Is your keypad six- or eight-button? Is your light bulb powered by this same keypad?
Jason F Posted March 18, 2019 Author Posted March 18, 2019 The solution of one scene for both "modes" worked well.... In terms of the flashing, I'd like to initiate it whenver button B (on one of two keypads is pressed), and turn it off whenever button B is set to off, or Button A is pressed.
oberkc Posted March 19, 2019 Posted March 19, 2019 On 3/16/2019 at 9:36 PM, oberkc said: Is your keypad six- or eight-button? Is your light bulb powered by this same keypad? Still hoping for answers to these questions. If it is an 8-button keypad, the load is controlled by button A. If the keypad powers the light, then the flashing light will cause a flashing button. Is this acceptable. If it is a six-button, then the ON and OFF buttons will alternate when flashing. Is this acceptable?
kclenden Posted March 19, 2019 Posted March 19, 2019 (edited) On 3/16/2019 at 7:16 PM, Jason F said: I have 2 keypadlincs, which I'd like to use a couple of the small buttons to set 2 different "scenes". Scene 1 - Do not disturb - Controlled by button A on the keypadlincs, turns on the lightbulb. Scene 2 - Make up room - Controlled by button B on the keypadlincs, makes that same bulb flash. 16 minutes ago, oberkc said: Still hoping for answers to these questions. Given that he refers to "small buttons" and then calls them button A and button B, I'd assume it's a six button kepad with the first two small middle buttons being used. Edit: But I do know what they say when you assume things. Edited March 19, 2019 by kclenden
kclenden Posted March 19, 2019 Posted March 19, 2019 (edited) Here's a program that will flash a scene every second: MakeRoomUp - [ID 0071][Parent 0070] If $sMakeRoomUp is -1 Then Repeat Every 2 seconds Set 'MakeRoomUp' Off Wait 1 second Set 'MakeRoomUp' On Else Set 'MakeRoomUp' Off To make it work, you'd have to create a STATE variable called "sMakeRoomUp". You also have to create a SCENE called "MakeRoomUp" and add the B Button as a responder. After doing that, any time the state variable sMakeRoomUp is set to -1, the B button would flash every second. You could use the following program to set the variable: ActivateMakeRoomUp - [ID 00AD][Parent 0070] If 'Keypad-Button A / Keypad-Button B' is switched On And 'Keypad-Button A / Keypad-Button B' is not switched Off Then $sMakeRoomUp = -1 Else $sMakeRoomUp = 0 The biggest issue with this is that it takes a lot of Insteon communication to keep the button flashing. This will not scale to a lot of different rooms if they're all on the same electrical network. Also, I'm running the program using v5 of the firmware. I don't remember if v4 supports the "Repeat Every x" command. Edit: if v4 doesn't include the "Repeat Every x" command, you could use this program: MakeRoomUp - [ID 0071][Parent 0070] If $sMakeRoomUp is -1 Then Wait 1 second Set 'MakeRoomUp' Off Wait 1 second Set 'MakeRoomUp' On Run Program 'MakeRoomUp' (Then Path) Else Set 'MakeRoomUp' Off Edit 2: The ActivateMakeRoomUp above works so long as you turn it OFF when the B button is illuminated. If you try to turn it OFF when the B button is unlit, it will remain active and continue to blink. The program below takes care of that problem: ActivateMakeUpRoom - [ID 00AD][Parent 0070] If ( ( 'Keypad-Button A / Keypad-Button B' is switched On And $sMakeUpRoom is 0 ) Or ( 'Keypad-Button A / Keypad-Button B' is not switched On And $sMakeUpRoom is -1 ) ) And 'Keypad-Button A / HW-Keypad-Button B' is not switched Off Then $sMakeUpRoom = -1 Else $sMakeUpRoom = 0 Edited March 19, 2019 by kclenden
Recommended Posts