# HG changeset patch # User drewp@bigasterisk.com # Date 1544569511 28800 # Node ID b3dac05ab9fa8d8f7565f87e04d450bf0b603a21 # Parent c154a2ba099b385043d59061d9e4098613d3cb19 drop frontdoor lcd message code Ignore-this: 59f5f748a3cca41ec3b4055f4aca76a7 diff -r c154a2ba099b -r b3dac05ab9fa service/frontDoorMessage/automsg.py --- a/service/frontDoorMessage/automsg.py Tue Dec 11 15:02:56 2018 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -""" -write the automatic last line to LCD /lastLine -""" -import sys, time -sys.path.append("/my/site/magma") -from datetime import datetime -from graphitetemp import getAllTemps - -import restkit - -# needs poller with status report - -while True: - fd = restkit.Resource("http://bang:9081/") - - allTemp = getAllTemps() - now = datetime.now() - - line = "%02d:%02d %02dF in, %02dF out" % (now.hour, now.minute, - allTemp.get('livingRoom', 0), - allTemp.get('frontDoor', 0)) - fd.put("lastLine", payload=line) - time.sleep(60) diff -r c154a2ba099b -r b3dac05ab9fa service/frontDoorMessage/frontDoorMessage.py --- a/service/frontDoorMessage/frontDoorMessage.py Tue Dec 11 15:02:56 2018 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -""" -holds the current message on the front door lcd -""" -import cyclone.web, sys, socket -import restkit -from twisted.internet import reactor -from twisted.internet.defer import inlineCallbacks -sys.path.append("/my/proj/homeauto/lib") -from cycloneerr import PrettyErrorHandler -from logsetup import log - -class LcdParts(object): - def __init__(self, putUrl, pingUrl): - self.putUrl, self.pingUrl = putUrl, pingUrl - log.info("restarting- message is now empty") - self.message = "" - self.lastLine = "" - - def updateLcd(self): - whole = "%-147s%-21s" % (self.message, self.lastLine) - try: - restkit.request(url=self.putUrl, - method="PUT", - body=whole, - headers={"content-type":"text/plain"}) - except socket.error, e: - log.warn("update lcd failed, %s" % e) - - try: - restkit.request(url=self.pingUrl, method="POST", body="") - except socket.error, e: - log.warn("ping failed, %s" % e) - -class Index(PrettyErrorHandler, cyclone.web.RequestHandler): - @inlineCallbacks - def get(self): - - # refresh output, and make an error if we can't talk to them - yield self.settings.lcdParts.updateLcd() - - self.set_header("Content-Type", "application/xhtml+xml") - self.write(open("index.html").read()) - -def getArg(s): - return s.request.body.encode("ascii") - -class Message(PrettyErrorHandler, cyclone.web.RequestHandler): - def get(self): - self.set_header("Content-Type", "text/plain") - self.write(self.settings.lcdParts.message) - - def put(self): - self.settings.lcdParts.message = getArg(self) - self.settings.lcdParts.updateLcd() - self.set_status(204) - -class LastLine(PrettyErrorHandler, cyclone.web.RequestHandler): - def get(self): - self.set_header("Content-Type", "text/plain") - self.write(self.settings.lcdParts.lastLine) - - def put(self): - self.settings.lcdParts.lastLine = getArg(self) - self.settings.lcdParts.updateLcd() - self.set_status(204) - -class Application(cyclone.web.Application): - def __init__(self, lcdParts): - handlers = [ - (r"/", Index), - (r"/message", Message), - (r'/lastLine', LastLine), - ] - settings = {"lcdParts" : lcdParts} - cyclone.web.Application.__init__(self, handlers, **settings) - -if __name__ == '__main__': - - config = { - 'frontDoorArduino': "http://slash:9080/", - 'doorChangePost' : 'http://bang:8014/frontDoorChange', - 'servePort' : 9081, - } - - lcdParts = LcdParts(config['frontDoorArduino'] + 'lcd', - config['doorChangePost']) - - reactor.listenTCP(config['servePort'], Application(lcdParts)) - reactor.run() diff -r c154a2ba099b -r b3dac05ab9fa service/frontDoorMessage/index.html --- a/service/frontDoorMessage/index.html Tue Dec 11 15:02:56 2018 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ - - - - - front door message - - - - - Front door message: -
-
-
- - - - \ No newline at end of file