diff options
author | Christian Franke <nobody@nowhere.ws> | 2012-10-02 23:56:08 +0200 |
---|---|---|
committer | Christian Franke <nobody@nowhere.ws> | 2012-10-02 23:56:08 +0200 |
commit | 51f72b53d686e4f6f6fcd83356d0bcb920411487 (patch) | |
tree | 416d784ff2e13be80853a35ec53ef6016a632ee4 /doorwatch.py | |
parent | dfdc98d38358c1d375c99a27f5b22d86984979e3 (diff) |
Add doorwatch script
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 |