I’m trying to do something interesting in webcore with this Certralite 3400-X keypad I recently got my hands on. I’ve got an eletric lock on my gate and a garage opener. Both are already SmartThings enabled, just simple switches is all. My goal is to use the same keypad to activate the two different devices, depending on what code was entered. So, poolguy gets one code which buzzes him into the gate (a pushbutton on the other side opens it going back out, and Presto I got a log of when he was here and how long) The other code would be for myself and wifey to open the garage.
So, I got the DTH and Smartapp installed and they’re working… sort of. There are two seperate challenges I am trying to overcome:
ONE: As I’m not keen on having to arm/disarm the keypad every time I need to open something, I figured I could just make a webcore piston which would just re-arm the keypad after a delay. The logic is rather simple;
if keypad’s armMode changes to disarmed
with gate’s switch
wait 10 seconds
with keypad do
setArmedAway(); <---- this is one of the custom commands the DTH provides
And it works fine, the first time you cycle through. Initially armedAway with a red status led, entering a correct code disarms the keypad and turns the led green , sits for the 10 sec, then turns red again. The armMode changes back to armedAway as expected.
However doing it one more time is where the wheels come off the cart. The keypad seems to be ‘stuck’ in armedAway mode, i.e. armMode won’t go back to disarmed after having been set programmatically using the command for it. If I should wager a guess, there’s something not being updated correctly by the DTH when calling the setArmedAway(); command.
TWO: The other issue I’m pondering, how does one ask the DTH which correct code was entered? Okay, if worst comes to the worst, I could live with a single-purpose keypad, yet I was hoping to get something useful out of the codeReport attribute, yet if I query it, it only returns an empty string?
Anyone doing something similar and/or figured this out?