From eb4fd3504f63e665166d6a76eeaa79f687430877 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Tue, 6 May 2014 04:42:21 +0200 Subject: doorwatch: do edge triggering in both directions --- doorwatch.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doorwatch.py b/doorwatch.py index 1e83848..b45a1c2 100644 --- a/doorwatch.py +++ b/doorwatch.py @@ -12,7 +12,7 @@ import time if __name__ == '__main__': workdir = os.path.realpath(os.path.dirname(__file__)) - was_closed = False # Only react to changes + was_closed = None # Only react to changes last_ref = None while True: @@ -37,9 +37,10 @@ if __name__ == '__main__': data = data['data'] closed = data['door.left']['value'] - if was_closed and not closed: - print "Door has been opened!" - subprocess.call(['paplay', '--volume=32661', os.path.join(workdir, 'doorwatch.wav')]) - if not was_closed and closed: - print "Door has been closed." + if was_closed is not None: + if was_closed and not closed: + print "Door has been opened!" + subprocess.call(['paplay', '--volume=32661', os.path.join(workdir, 'doorwatch.wav')]) + if not was_closed and closed: + print "Door has been closed." was_closed = closed -- cgit v1.2.1