DatabasePreparer
This commit is contained in:
9
AbstractDatabasePreparer.py
Normal file
9
AbstractDatabasePreparer.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
from logger import Logger
|
||||||
|
|
||||||
|
class AbstractDatabasePreparer(object):
|
||||||
|
def __init__(self, tablename):
|
||||||
|
self.tablename = tablename
|
||||||
|
self.values = {}
|
||||||
|
|
||||||
|
def getInsertStatement(self):
|
||||||
|
return "table: %s " % (self.tablename) + str(self.values)
|
@ -32,7 +32,10 @@ class DatabaseEngine(threading.Thread):
|
|||||||
|
|
||||||
while not self.queue.empty():
|
while not self.queue.empty():
|
||||||
data = self.queue.get()
|
data = self.queue.get()
|
||||||
Logger.log("DatabaseEngine receives: %s" % (str(data)))
|
if (type(data) != list):
|
||||||
|
data = [data]
|
||||||
|
for dbo in data:
|
||||||
|
Logger.log("DatabaseEngine receives: %s" % (str(dbo.getInsertStatement())))
|
||||||
else:
|
else:
|
||||||
Logger.log("DatabaseEngine: no more data to handle")
|
Logger.log("DatabaseEngine: no more data to handle")
|
||||||
|
|
||||||
|
7
EnergyDatabasePreparer.py
Normal file
7
EnergyDatabasePreparer.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from AbstractDatabasePreparer import AbstractDatabasePreparer
|
||||||
|
|
||||||
|
class EnergyDatabasePreparer(AbstractDatabasePreparer):
|
||||||
|
def __init__(self, values):
|
||||||
|
super(EnergyDatabasePreparer, self).__init__('ElectricEnergy')
|
||||||
|
self.values = values
|
||||||
|
|
@ -1,6 +1,8 @@
|
|||||||
|
import json
|
||||||
from logger import Logger
|
from logger import Logger
|
||||||
from AbstractParser import AbstractParser
|
from AbstractParser import AbstractParser
|
||||||
from AbstractNextStage import AbstractNextStage
|
from AbstractNextStage import AbstractNextStage
|
||||||
|
from TemperatureDatabasePreparer import TemperatureDatabasePreparer
|
||||||
|
|
||||||
class ModbusParser(AbstractParser, AbstractNextStage):
|
class ModbusParser(AbstractParser, AbstractNextStage):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -8,5 +10,21 @@ class ModbusParser(AbstractParser, AbstractNextStage):
|
|||||||
self.topic = "IoT/Measurement/ModbusHub"
|
self.topic = "IoT/Measurement/ModbusHub"
|
||||||
|
|
||||||
def execute(self, data):
|
def execute(self, data):
|
||||||
#Logger.log("ModbusParser %s" % (str(data)))
|
Logger.log("ModbusParser %s %s" % (type(data), str(data)))
|
||||||
self.executeNextStage(data)
|
|
||||||
|
try:
|
||||||
|
j = json.loads(data['payload'])
|
||||||
|
|
||||||
|
if j['metadata']['Slave'] == 'Thermometer':
|
||||||
|
vv = []
|
||||||
|
v = TemperatureDatabasePreparer({'name':'Fridge',
|
||||||
|
'temperature':j['data']['t1'],
|
||||||
|
'timestamp':data['timestamp']})
|
||||||
|
vv.append(v)
|
||||||
|
v = TemperatureDatabasePreparer({'name':'Freezer',
|
||||||
|
'temperature':j['data']['t2'],
|
||||||
|
'timestamp':data['timestamp']})
|
||||||
|
vv.append(v)
|
||||||
|
self.executeNextStage(vv)
|
||||||
|
except Exception, e:
|
||||||
|
Logger.log("Exception in ModbusParser, %s" % (str(e)))
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
|
||||||
from MqttReceiver import MqttReceiver
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from logger import Logger
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
from logger import Logger
|
||||||
|
from MqttReceiver import MqttReceiver
|
||||||
from MBusParser import MBusParser
|
from MBusParser import MBusParser
|
||||||
from ModbusParser import ModbusParser
|
from ModbusParser import ModbusParser
|
||||||
from PersistentQueue import PersistentQueue
|
from PersistentQueue import PersistentQueue
|
||||||
@ -50,7 +50,7 @@ try:
|
|||||||
Logger.log("MqttReader started ...")
|
Logger.log("MqttReader started ...")
|
||||||
|
|
||||||
mbusParser = MBusParser()
|
mbusParser = MBusParser()
|
||||||
mqttReader.registerParser(mbusParser)
|
#mqttReader.registerParser(mbusParser)
|
||||||
Logger.log("MBusParser started ...")
|
Logger.log("MBusParser started ...")
|
||||||
|
|
||||||
modbusParser = ModbusParser()
|
modbusParser = ModbusParser()
|
||||||
|
7
TemperatureDatabasePreparer.py
Normal file
7
TemperatureDatabasePreparer.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from AbstractDatabasePreparer import AbstractDatabasePreparer
|
||||||
|
|
||||||
|
class TemperatureDatabasePreparer(AbstractDatabasePreparer):
|
||||||
|
def __init__(self, values):
|
||||||
|
super(TemperatureDatabasePreparer, self).__init__('Temperature')
|
||||||
|
self.values = values
|
||||||
|
|
Reference in New Issue
Block a user