Workbackup
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@
|
||||
*.hex
|
||||
*.pyc
|
||||
*.cfg
|
||||
test.db3
|
||||
|
||||
24
ioserv.py
24
ioserv.py
@@ -18,15 +18,16 @@ from SOAPpy import SOAPProxy, SOAPServer
|
||||
from redis import Redis
|
||||
from pydave import pydave
|
||||
from davedefs import *
|
||||
|
||||
from DB import DB
|
||||
|
||||
pid_file= '/tmp/ipserv.lock'
|
||||
|
||||
|
||||
class IOSERV (object):
|
||||
def __init__ (self, loglevel = 6, logfile = "/tmp/log_ioserv.txt"):
|
||||
def __init__ (self, loglevel = 6, logfile = "/tmp/log_ioserv.txt", db = "test.db3"):
|
||||
self.server = None
|
||||
self.rproxy = None
|
||||
self.DB = DB (db)
|
||||
self.loglevel = int (loglevel)
|
||||
self.logfile = logfile
|
||||
self.conns = {}
|
||||
@@ -88,7 +89,7 @@ class IOSERV (object):
|
||||
bitaddr = (msgnr - 2000) % 8
|
||||
self.log ("Set Quit for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
||||
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
|
||||
self.rcvErrorstates ('ABP-Buero', msgnr)
|
||||
self.rcvErrorstates (cname, msgnr)
|
||||
|
||||
|
||||
def setMaintenance (self, cname, msgnr):
|
||||
@@ -101,9 +102,8 @@ class IOSERV (object):
|
||||
byteaddr = 2064 + (msgnr - 2000) / 8
|
||||
bitaddr = (msgnr - 2000) % 8
|
||||
self.log ("Set Maintenance for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
||||
self.rcvErrorstates ('ABP-Buero', msgnr)
|
||||
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
|
||||
self.rcvErrorstates ('ABP-Buero', msgnr)
|
||||
self.rcvErrorstates (cname, msgnr)
|
||||
|
||||
|
||||
def setDone (self, cname, msgnr):
|
||||
@@ -117,7 +117,17 @@ class IOSERV (object):
|
||||
bitaddr = (msgnr - 2000) % 8
|
||||
self.log ("Set Maintenance for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
||||
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
|
||||
self.rcvErrorstates ('ABP-Buero', msgnr)
|
||||
self.rcvErrorstates (cname, msgnr)
|
||||
|
||||
|
||||
def setControl (self, cname, ctrlnr):
|
||||
if ctrlnr not in range (16):
|
||||
self.log ("Bad MsgNr for Ctrl", 1)
|
||||
return -1
|
||||
byteaddr = ctrlnr / 8
|
||||
bitaddr = ctrlnr % 8
|
||||
self.log ("Set Ctrl for Conn %s CtrlNr %s cwAdr %s.%s" % (cname, msgnr, byteaddr, bitaddr), 6)
|
||||
self.conns [cname].SetBit (daveAreas["DB"], 5, byteaddr, bitaddr)
|
||||
|
||||
|
||||
def rcvErrorstates (self, cname, msgnr = 0):
|
||||
@@ -183,7 +193,6 @@ class IOSERV (object):
|
||||
|
||||
def rcvErrorlogs (self, cname = 'ABP-Buero'):
|
||||
val = self.conns [cname].ReadBytes (daveAreas["DB"], 104, 0, 16)
|
||||
|
||||
if int (val [1]):
|
||||
mid = (val [2] << 8) + val [3]
|
||||
year = val [4]
|
||||
@@ -197,6 +206,7 @@ class IOSERV (object):
|
||||
act = val [15]
|
||||
ts = "20%02x-%02x-%02x %02x:%02x:%02x" % (year, month, day, hour, minute, seconds)
|
||||
self.log ("New Errorlog ID:%s Count:%s State:%s Act:%s %s" % (mid, cnt, stat, act, ts), 6)
|
||||
self.DB.logmsg (ts, mid + 1999, cnt, act)
|
||||
val = self.conns [cname].WriteBytes (daveAreas["DB"], 104, 1, 1, '0')
|
||||
|
||||
|
||||
|
||||
12
zioclient.py
12
zioclient.py
@@ -12,7 +12,6 @@ from time import sleep
|
||||
|
||||
def recvValueBlk (id):
|
||||
ioserv = SOAPProxy ('http://localhost:8089/')
|
||||
|
||||
try:
|
||||
#values = ioserv.recvValueBlk ('Demo')._asdict ()
|
||||
values = ioserv.recvValueBlk (id)._aslist ()
|
||||
@@ -41,3 +40,14 @@ def setDone (nr):
|
||||
except:
|
||||
print "FixMe"
|
||||
|
||||
def setCtrl (conn, nr):
|
||||
ioserv = SOAPProxy ('http://localhost:8089/')
|
||||
conns = {0 : 'ABP-Buero'
|
||||
1 : 'HALLEA'
|
||||
2 : 'HALLEB'
|
||||
}
|
||||
try:
|
||||
ioserv.setCtrl (conns[conn] , int (nr))
|
||||
except:
|
||||
print "FixMe"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user