Elk rule to Output after 3 phone flashes?

jwilson56

Senior Member
I thought I would ask if anyone has done this already before I sat down to figure out how to do this myself.

I would like to create a rule/automation that will basically turn on an Elk Output for 5 seconds when someone picks up the phone and flashes the hook 3-4 times within five or so seconds.

I have a M1EZ8 so no phone control but what I am looking for seems possible by using some timers and counters.

Thanks
 
I thought I would ask if anyone has done this already before I sat down to figure out how to do this myself.

I would like to create a rule/automation that will basically turn on an Elk Output for 5 seconds when someone picks up the phone and flashes the hook 3-4 times within five or so seconds.

I have a M1EZ8 so no phone control but what I am looking for seems possible by using some timers and counters.

Thanks


Whenever telephone line goes off hook I would just increment a counter, mark the time with another counter (or output) and clear the original timer if the first counter doesn't increment to three within a predefined time period... There are a couple of other ways to mark these two events which really boil down to counting hook flashes and having the count expire or go back to zero after an interval. Outputs allow setable expiring intervals where counters can just be incremented or decremented. Some comands are self limiting after an event and some will go wild and repeat over and over so you must slow them down by evaluating every so many seconds or setting a flag (counter). Outputs can be used as flags also but I don't see anyway of getting around using a counter to keep track of the number of flashes except.... there is one old programming trick that you can essental build a cascading sequence of output intervals on three different outputs and build layers ie: flash nuber two can set output two on for an interval if output one has already been set and has not expired, same for the third level and so forth. You want to not have to build all the expiring code yourself but take advantage of built in funcionality. A key thing is learning that outputs can be used to facilitate logic vs. thinking of them as nothing but hardware controls.
 
Back
Top