Solution for using keyfobs to enter codes. :)

signal15

Senior Member
== Edit == Topic changed because it led me down an interesting path. Ignore this post, look at the second one. The more interesting part of it is in the second code section.


So the GE keyfob has 4 buttons, 1-4. Buttons 1 and 2 pressed together generate a button 7 event, and buttons 3 and 4 generate button 8. Is there any way to generate buttons 5 and 6?
 
There is no way to generate buttons 5 and 6 according to GE. The only way to do this is to set option 1 and option 2 in the ELK for the keyfob which changes 7 and 8 to 5 and 6. So in the end, you still only have 6 possible events that you can send from the remote.

However, Consider this scenario:
Code:
WHENEVER KEYFOB BUTTON 4 IS PRESSED
  THEN TURN OUTPUT 201 ON FOR 5 SECONDS (RESET TIMER IF ALREADY RUNNING)
  THEN INCREMENT COUNTER 10 BY 1
WHENEVER OUTPUT 201 TURNS OFF
  AND COUNTER 10 IS 1
  THEN TURN ON GARAGE LIGHTS
  THEN SET COUNTER 10 TO ZERO
WHENEVER OUTPUT 201 TURNS OFF
  AND COUNTER 10 IS 2
  THEN TURN ON OUTSIDE LIGHTS
  THEN SET COUNTER 10 TO ZERO
WHENEVER OUTPUT 201 TURNS OFF
  AND COUNTER 10 IS 3
  THEN ACTIVATE TASK 04
  THEN SET COUNTER 10 TO ZERO
WHENEVER OUTPUT 201 TURNS OFF
  AND COUNTER 10 IS 4
  THEN ACTIVATE TASK 7
  THEN SET COUNTER 10 TO ZERO

This would give you the ability to perform different actions based on the number of button presses, effectively giving your remote the ability to do more than just 6 things. Since there are 6 possible button presses, and you set up multiple keypresses for up to 4 keypresses for each button, you'd have 24 possible things that the remote could do. 5 would give you 30. Technically, there's no limit other than remembering how many presses of each key does what, and the maximum number of rules.

Or.... You could designate the Aux button (4) as an enter button, and buttons 1-3 would be for entering digits. You would have a 3 digit code for each function that you wanted to control, for example:
141 = Garage open
231 = Turn on garage lights
341 = execute task 07

Then, your rules would look like this:
Code:
WHENEVER BUTTON 1 IS PRESSED
 THEN INCREMENT COUNTER 1 BY 100
WHENEVER BUTTON 2 IS PRESSED
 THEN INCREMENT COUNTER 1 BY 10
WHENEVER BUTTON 3 IS PRESSED
 THEN INCREMENT COUNTER 1 BY 1

WHENEVER BUTTON 4 (AUX/ENTER) IS PRESSED
  AND COUNTER 1 IS 141
  THEN OPEN GARAGE
  THEN RESET COUNTER 1 TO ZERO
WHENEVER BUTTON 4 (AUX/ENTER) IS PRESSED
  AND COUNTER 1 IS 231
  THEN TURN ON GARAGE LIGHTS
  THEN RESET COUNTER 1 TO ZERO
WHENEVER BUTTON 4 (AUX/ENTER) IS PRESSED
  AND COUNTER 1 IS 341
  THEN EXECUTE TASK07
  THEN RESET COUNTER 1 TO ZERO

Assuming you use only the digits 0-5 in your code, this gives you 120 possible functions. Also, I don't feel comfortable making my remote able to disarm the system. But designating a code for disarming this way would make me not worry so much about losing my remote. If you have multiple remotes, you can use the "last user was" to make it do this only on your remote. I know my wife would probably be annoyed if I did it to hers.
 
Ok, I just tested the second method, and it works. But... button presses in close succession do not register. After you do a button press, you have to wait about 3 seconds before doing another one. I added a beep to the rules so I can tell when it registers a button press.

I assume the ELK is doing this for devices that transmit a code multiple times to ensure that it gets through. Is there a way to reduce this delay?
 
Ok, I just tested the second method, and it works. But... button presses in close succession do not register. After you do a button press, you have to wait about 3 seconds before doing another one. I added a beep to the rules so I can tell when it registers a button press.

I assume the ELK is doing this for devices that transmit a code multiple times to ensure that it gets through. Is there a way to reduce this delay?

I think I know what the delay is there for. The M1 allows you to put up to 11 wireless receivers on the same bus with the *same* address. This is to expand range, and add redundancy. If a signal is received by multiple receivers, they all transmit the data to the panel. The panel does what it needs to do with the first message, but then ignores any duplicate messages for a period of time to ensure that it's not acting on the same stuff multiple times. At least, that would make sense to me.

I emailed ELK, and Brad is checking with engineering to see if there is a way around this. He made it sound like he tried a similar setup to above, and the delay was causing him problems also. It would be nice if you could tell the system you only had one receiver so it could disable this, or selectively disable it for specific wireless devices. Assuming the RS-485 bus is operating at 100Kb/sec (typically the minimum I believe), the multi-second delay might be a bit excessive, even in a multi-receiver environment. It would be nice if this was an advanced setting that could be modified by the installer. Of course, I think everything should be an advanced setting somewhere.
 
ELK got back to me. There is no way to modify this delay. They didn't say if it would be an option in the future, so I kinda doubt it will be.
 
Back
Top