summaryrefslogtreecommitdiff
path: root/doorwatch.py
diff options
context:
space:
mode:
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