I have a piston that does the following:
a) if front door is unlocked, and
b) door is closed, then
c) if that remains true for 180 seconds, lock the front door.
The purpose is this: should it happen that one if us unlocks the door but then opts not to open it, OR if the auto-lock routine fails, then the door locks after three minutes.
It worked fine for months. Then just a couple days ago, it started not working. It began ignoring condition (b).
Turns out the piston somehow became corrupted! At first glance it looked OK. After a few minutes I saw it and fixed it easily enough, but somehow the whole conditional statement “shifted right” - became a part of a larger condition. And as there was nothing in the larger condition, it was simply ignoring (a,b) and locking the front door after 180 seconds.
I fixed it so I don’t have anything to show. Just figured I’d mention it, in case others are seeing odd behavior in what seem to be good pistons.