barkster Posted December 5, 2011 Posted December 5, 2011 I have a GE Concorde alarm panel in my house and it has X10 built into it but I've scrapped x10 since it doesn't work with fluorescent lights in my house. I've gone to insteon and 99i. Before when my alarm when off my lights in my house would flash till it was disarmed. Is that possible to do here. Somehow either tie into my alarm and when it goes off make all the lights flash off and on?
TJF1960 Posted December 5, 2011 Posted December 5, 2011 Does your alarm system still have x10 output available? If not does your alarm system have output relays that you can configure. If not you can use either an I/O Linc tied into your siren output or an EZIO product from Simplehomenet. Tim
barkster Posted December 5, 2011 Author Posted December 5, 2011 Yeah it has X10 still but I avoid x10 like the plague but not reliable since I went to almost all florescent in my house. I saw the I/O linc and thought it would work but can it trigger an event on the 99i when it goes high or low? How would I do that?
TJF1960 Posted December 5, 2011 Posted December 5, 2011 I asked about the x10 output on the alarm thinking if the x10 module was close enough to the ISY’s plm that the ISY might reliably be able to see the x10 command and could trigger a lights flash program. I figured if it worked it would be the simplest and cheapest way to go. Smarthome makes a I/O Link low voltage probe kit http://www.smarthome.com/24950A4/I-O-Linc-INSTEON-Low-Voltage-Detector-Probe-Kit/p.aspx which would then tie to your siren/bell output of the alarm. The I/O linc will then send an on to the ISY while the bell/siren is sounding and send an off when the bell/siren stops. Then you could use a program to flash lights.
barkster Posted December 5, 2011 Author Posted December 5, 2011 Cool, I'll look into that. Yeah my alarm and PLM are on opposite sides of house. Any ideas on program to make it flash off on till siren goes off? Do I need to post separate question for that?
barkster Posted December 5, 2011 Author Posted December 5, 2011 I found a blink program here.. I'll get me the equipment needed and try it out thanks for the help
Chris Jahn Posted December 5, 2011 Posted December 5, 2011 I found a blink program here.. I'll get me the equipment needed and try it out thanks for the help Hi Barkster, There are many ways to write a blink program depending on the conditions etc. required for it. In your case, you can accomplish this with one program that also guarantees the blinking light will be turned off when it stops blinking. This program will start blinking when A1/On is received, and stops blinking when A1/Off is received. If X10 'A1/On (3)' is Received And X10 'A1/Off (11)' is not Received Then Repeat Every 0 seconds Set 'My Light' Fast On Wait 2 seconds Set 'My Light' Fast Off Wait 2 seconds Else Set 'My Light' Fast Off
barkster Posted December 5, 2011 Author Posted December 5, 2011 Can we make it work for I/O linc status? I'm not using x10
TJF1960 Posted December 5, 2011 Posted December 5, 2011 Yes, you should be able to change it to: If Control I/O Linc is Switched On And Control I/O Linc is not Switched Off
barkster Posted December 5, 2011 Author Posted December 5, 2011 sweet, can't wait to try it. I'll order up a I/O Linc
barkster Posted November 12, 2012 Author Posted November 12, 2012 Hey is there a way to get the state of the lights before I run this program so I can restore the lights back the way they were before I ran the program?
TJF1960 Posted November 12, 2012 Posted November 12, 2012 Hi barkster, sure. Set up two programs, one that will set an Interger variable to 1 when the lights are on and the blink program is off. The other program will set the variable to 0 when the lights are off and the program is False. Something like: If Status Lights are On and Program Blink is False Then Interger Variable = 1 If Status Lights are Off and Program Blink is False Then Interger Variable = 0 Then have a 3rd program that turns the lights on or off depending upon the state of the variable and when the blink program turns False, like If Interger Variable = 1 and Program Blink is False Then Set Lights On Else Set Lights Off The only time the 3rd program will evalute is when the Blink program evaluates to False. If there are more than one conditions in the blink program then we may have to rethink these programs because it may turn the lights off when you don't want it too. Maybe you could post your program and we could go from there. Tim
barkster Posted November 12, 2012 Author Posted November 12, 2012 Well will that work for this scenario? Say porch light on, living room off, back porch on When the blink program starts it flashes them all but when it stops their state is random. So what ur suggesting it will restore the lights back to: porch light on, living room off, back porch on To me I would need to create a variable for each lights status before alarm program starts and when it is finished set the light status to the variable for each?? Or will urs do what I'm wanting? Thanks
TJF1960 Posted November 12, 2012 Posted November 12, 2012 You know what, scratch those programs...they are not going to work. Sorry about that. It would be helpful for you to post your program(s) so we can see what we are dealing with. Don't want to send you down the wrong path and waste time.
barkster Posted November 12, 2012 Author Posted November 12, 2012 Here is my program.... somehow I'd like to get the status of my 3 lights before this runs and the restore back when complete. Right now the lights remain in whatever state their in when the alarm is back on. If Status 'Alarm Sensor' is Off And Status 'Alarm Sensor' is not On Then Repeat Every 0 seconds Set 'Fireplace Light' Fast On Set 'Living Room Fan Light' Fast On Set 'Front Porch Light' Fast On Wait 2 seconds Set 'Living Room Fan Light' Fast Off Set 'Fireplace Light' Fast Off Set 'Front Porch Light' Fast Off Wait 2 seconds Else Set 'Fireplace Light' Fast Off Set 'Living Room Fan Light' Fast Off Set 'Front Porch Light' Fast Off
TJF1960 Posted November 12, 2012 Posted November 12, 2012 Hello barkster, Thanks for posting your program. I haven’t tested this but I think it should get you in the ballpark. Once you get it working for the porch light, simply copy the last 4 programs, changing the names to match the next light. For 3 lights you will end up with 3 Integer variables (plus the State variable for the Blink Run program) and 12 programs (plus the Blink Run program). Create a State variable called Blink Run (or whatever). Modify your program as follows: Program “Blink Run†If Status 'Alarm Sensor' is Off And Status 'Alarm Sensor' is not On Then Wait 2 sec State Variable Blink Run = 1 Repeat Every 0 seconds Set 'Fireplace Light' Fast On Set 'Living Room Fan Light' Fast On Set 'Front Porch Light' Fast On Wait 2 seconds Set 'Living Room Fan Light' Fast Off Set 'Fireplace Light' Fast Off Set 'Front Porch Light' Fast Off Wait 2 seconds Else Wait 10 sec State Variable Blink Run = 0 One of these next two programs will become true when the Blink Run program evaluates to true and while the wait 2 seconds is running which will set the porch lite variable to either 1 or 0. Now create an Integer Variable “Front Porch Lights†and create two new programs as follows: Program “Front Porch Lights Snapshot On†If Status Front Porch Lights On And Program Blink Run is True And State Variable Blink Run = 0 Then Integer variable Front Porch Lights = 1 Program “Front Porch Lights Snapshot Off†If Status Front Porch Lights Off And Program Run Blink = True And State Variable Blink Run = 0 Then Integer variable Front Porch Lights = 0 One of these next two programs will run once the Blink Run program evaluates to False during the 10 second wait. Now create these 2 new programs which return the front porch lights to the state it was in before the blink program started blinking the lights Prgm “Front Porch Lights Back On†If Integer variable Front Porch Lights = 1 And Program Blink Run is False And State variable Blink Run = 1 Then Wait 2 sec Set Front Porch Lights On Prgm “Front Porch Lights Back Off If Integer variable Front Porch Lights = 0 And Program Blink Run is False And State variable Blink Run = 1 Then Wait 2 sec Set Front Porch Lights Off" Once these programs are working good and you add the programs for the next light you may need to adjust the Wait 2 seconds to maybe 3 or 4 seconds before turning the light on or off. All three lights will be evaluating and trying to turn on or off at the same time so by staggering the wait times it may result in less errors. Edit, I forgot a couple of Else commands in the first program, they have just been added.
barkster Posted November 12, 2012 Author Posted November 12, 2012 Wow, thanks for the help. I'll try it out tonight and let you know. Thanks!
check123 Posted November 25, 2012 Posted November 25, 2012 Thanks a lot for this. How would you actually store the exact state of the device? Is this limited to only "on" and "off"? If my lights are dimmed to different amounts each time, is it possible to put them back to that exact amount? Thanks in advance!
TJF1960 Posted November 25, 2012 Posted November 25, 2012 No, these programs will only turn the lights full on or off. You could have the programs turn them on to any % but it would always be the same. In order to store and restore the light to a % On would require many more programs per light. It would be possible but likely would be more work than most people would want to tackle.
check123 Posted November 25, 2012 Posted November 25, 2012 Like how many programs Maybe I just narrow it down to 10. If it's between 50 and 60% - make it 60%. If that is doable, could you help me with a little sample code? I can do the rest. Also - if ISY knows exactly what Insteon devices are set at, why can't it simply pass that along as a variable? Is there not a way to do so without 100 programs?
TJF1960 Posted November 25, 2012 Posted November 25, 2012 After giving it some thought I think the basic programs listed above could be changed slightly to provide the desired results. I have not tested this, but give it a try. Create these two programs for every On Level you wish, modifying for the different On levels as needed. Program “Front Porch Lights Snapshot On 60%†If Status Front Porch Lights >= 51% Status Front Porch Lights <= 60% And Program Blink Run is True And State Variable Blink Run = 0 Then Integer variable Front Porch Lights = 60 Prgm “Front Porch Lights Back On 60%†If Integer variable Front Porch Lights = 60 And Program Blink Run is False And State variable Blink Run = 1 Then Wait 2 sec Set Front Porch Lights 60%
check123 Posted November 26, 2012 Posted November 26, 2012 Thanks! I will play around with it and give it a try Thanks again!
barkster Posted December 12, 2012 Author Posted December 12, 2012 My alarm went off this morning when kids opened doors and saw that the lights never quit blinking. I have implemented the saving of the state of the lights yet but I was wondering why the lights didn't stop blinking. I looked at the alarm status and said off but the blink program('alarm') was still running and I had to click stop in mobilinc to stop the blinking. When looking at the if statement I was wondering how it even works. I have an I/O Linc connected to my alarm and when it goes off it should change the status to 'On' and when not in alarm it will be 'Off'. I can't figure out how it even works and isn't 'Is Off' the same as 'Is not On'? If Status 'Alarm Sensor' is Off And Status 'Alarm Sensor' is not On why wouldn't it just be If Status 'Alarm Sensor' is On
TJF1960 Posted December 12, 2012 Posted December 12, 2012 Well, that is a 1 part question with a 2 part answer! First let me preface by saying I copied your If conditions from your posted program…and was assuming if the alarm sensor is Off meant that the alarm was sounding or tripped. So if that is not the case and when the alarm sensor is On the alarm is sounding or tripped then you are correct. Change the If to alarm sensor is On. The second part of the answer is when using Status you do not have to duplicate the condition with a “Is Notâ€. That type of conditional programming is used when “Control†is used and provides the benefit of the program turning true or false depending upon whether the switch was turned on or off. I actually meant to leave it out of the example but forgot to remove it (darn copy and paste!) So basically if the Alarm Sensor turns On when the alarm is tripped and turns Off when the alarm is reset then that is why the program would not stop running, because the condition in the program was true. Had the alarm tripped again while the program was true the program would have turned false and stopped the flashing lights. Tim
barkster Posted December 12, 2012 Author Posted December 12, 2012 Thanks Tim, so looking at the program if I change it to "if alarm status is on" then blink else turn off it would would turn off my lights everytime a query is run wouldn't it? Because by default the alarm status is off so it would be running my else statement every time a query is run. Or am I wrong?
Recommended Posts