summaryrefslogtreecommitdiff
path: root/doorwatch.py
diff options
context:
space:
mode:
authorChristian Franke <nobody@nowhere.ws>2012-10-02 23:56:08 +0200
committerChristian Franke <nobody@nowhere.ws>2012-10-02 23:56:08 +0200
commit51f72b53d686e4f6f6fcd83356d0bcb920411487 (patch)
tree416d784ff2e13be80853a35ec53ef6016a632ee4 /doorwatch.py
parentdfdc98d38358c1d375c99a27f5b22d86984979e3 (diff)
Add doorwatch script
Diffstat (limited to 'doorwatch.py')
-rw-r--r--doorwatch.py37
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