Thought id share my piston for using a smart lock (I have a Schalge Connect Camelot) to disarm the ADT security system if a valid door lock code is used.
The piston triggers on the lock being unlocked and then checks the status of the Security System. If its Armed, it checks to see if a lock user code was entered and if true it will disarm the security system and send a push notification if the system disarmed ok. If the Security System is already disarmed, it will just send a push notification saying the lock user unlocked the door. I currently only use 3 codes but if you need more all you have to do is add to the additional case statements (case 4, 5 ,6 etc…)