diff options
Diffstat (limited to 'doorwatch.py')
-rw-r--r-- | doorwatch.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/doorwatch.py b/doorwatch.py new file mode 100644 index 0000000..c88ac6a --- /dev/null +++ b/doorwatch.py @@ -0,0 +1,37 @@ +# This program plays a "little" sound when the door +# is opened. This is helpful e.g. when sitting back +# in the smokers lounge but wanting the door to be +# unlocked. + +import subprocess +import os +import urllib +import json +import sys +import time + +if __name__ == '__main__': + workdir = os.path.realpath(os.path.dirname(__file__)) + was_closed = False # Don't ding at startup + + while True: + time.sleep(1) + + try: + r = None + r = urllib.urlopen('http://172.22.83.5/subcan.json') + data = json.loads(r.read()) + except Exception: + sys.excepthook(*sys.exc_info()) + continue + finally: + if r is not None: + r.close() + + closed = data['door.left']['value'] + if was_closed and not closed: + print "Door has been opened!" + subprocess.call(['paplay', os.path.join(workdir, 'doorwatch.wav')]) + if not was_closed and closed: + print "Door has been closed." + was_closed = closed |