29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
import json
|
|
from logger import Logger
|
|
from AbstractParser import AbstractParser
|
|
from AbstractNextStage import AbstractNextStage
|
|
from TemperatureDatabasePreparer import TemperatureDatabasePreparer
|
|
|
|
class ModbusParser(AbstractParser, AbstractNextStage):
|
|
def __init__(self):
|
|
super(ModbusParser, self).__init__()
|
|
self.topic = "IoT/Measurement/ModbusHub"
|
|
|
|
def execute(self, data):
|
|
#Logger.log("ModbusParser %s %s" % (type(data), str(data)))
|
|
|
|
try:
|
|
j = json.loads(data['payload'])
|
|
|
|
if j['metadata']['Slave'] == 'Thermometer':
|
|
vv = []
|
|
v = TemperatureDatabasePreparer('Fridge', data['timestamp'],
|
|
{'temperature':j['data']['t1']})
|
|
vv.append(v)
|
|
v = TemperatureDatabasePreparer('Freezer', data['timestamp'],
|
|
{'temperature':j['data']['t2']})
|
|
vv.append(v)
|
|
self.executeNextStage(vv)
|
|
except Exception, e:
|
|
Logger.log("Exception in ModbusParser, %s" % (str(e)))
|