# HG changeset patch # User drewp # Date 1375455451 25200 # Node ID ced063266d964e085f05f4b6673b73ac9bd5848c # Parent 64a2ba088665b62ff1a0018ae2aa7cb9dd0cdc15 dpms: more monitor states. separate powerState and powerStateMeasured Ignore-this: d9f21d0921c3f72ab31ac2a4c1e073cf darcs-hash:20130802145731-312f9-ac0cda43abb761c4956c50c9fd13621ddab8ce20 diff -r 64a2ba088665 -r ced063266d96 service/dpms/dpms.py --- a/service/dpms/dpms.py Fri Aug 02 07:55:45 2013 -0700 +++ b/service/dpms/dpms.py Fri Aug 02 07:57:31 2013 -0700 @@ -6,13 +6,19 @@ [program:dpms_9095] directory=/my/proj/homeauto/service/dpms command=/my/proj/homeauto/service/dpms/bin/python dpms.py -environment=DISPLAY=:0.0 user=drewp On one box, this goes super slow when avahi daemon is running. Maybe it's for an attempted dns lookup of the requesting IP address, which I wish I could switch off. +-- + +may need this: +ps axf | grep /run/gdm +18339 tty7 Ss+ 0:00 \_ /usr/bin/X :0 -background none -verbose -auth /run/gdm/auth-for-gdm-iQoCDZ/database -nolisten tcp vt7 +eval xauth add `sudo xauth -f /run/gdm/auth-for-gdm-iQoCDZ/database list :0` + """ from bottle import run, get, put, request, response @@ -23,6 +29,8 @@ sys.path.append("/my/site/magma") from stategraph import StateGraph +sys.path.append("../../lib") +from localdisplay import setDisplayToLocalX def getMonitorState(): out = subprocess.check_output(['xset', 'q']) @@ -31,7 +39,7 @@ if line == 'Monitor is On': response.set_header('content-type', 'text/plain') return 'on' - elif line == 'Monitor is Off': + elif line in ['Monitor is Off', 'Monitor is in Suspend', 'Monitor is in Standby']: response.set_header('content-type', 'text/plain') return 'off' raise NotImplementedError("no matching monitor line in xset output") @@ -62,11 +70,13 @@ host = socket.gethostname() g = StateGraph(ctx=DEV['dpms/%s' % host]) g.add((URIRef("http://bigasterisk.com/host/%s/monitor" % host), - ROOM['powerState'], + ROOM['powerStateMeasured'], ROOM[getMonitorState()])) response.set_header('Content-type', 'application/x-trig') return g.asTrig() - -run(host="0.0.0.0", port=9095, quiet=True) + +setDisplayToLocalX() +run(host="0.0.0.0", server='gunicorn', port=9095, quiet=True) +