Thanks for your reply! Unfortunately, there doesn't seem to be a way to use the events from the driver I'm using to get what I want. On this driver (which is for the Baldwin Zigbee lock that Control4 used to re-sell), there are two lock events: "Locked" and "Locked Manually". Locked fires whenever the lock is locked using the motor. So this means that it is triggered if you press the button on the exterior keypad, or if you send it a command by ZigBee. Locked Manually fires if you lock the lock with the knob or the key. I want to have programming run only when the lock is locked from the exterior keypad (because that means that I'm leaving the house and I want to have lights and TVs turn off, etc.)
There's a newer version of the lock driver that has a "Locked Proxy" event like the one you've shown for the August. That means that it was locked by programming. Unfortunately, that driver treats the keypad locking and the knob/key locking equivalently. They're both called "Locked Manually". So, both versions of the driver combine "locked with the keypad" with one of the other methods, making it impossible to use the events to distinguish.
What I discovered, though, is that the status message that the older driver puts into that variable is unique for proxy, keypad, and knob/key, so if I can just parse that string, I can fully distinguish. But since it tacks the stupid date/time on there, I can't use a string comparison.