This commit is contained in:
Wolfgang Hottgenroth 2016-06-25 15:44:13 +02:00
parent 348cb7effa
commit 61bd19ee85
3 changed files with 21 additions and 7 deletions

View File

@ -13,7 +13,7 @@ import MeterbusLib
from MeterbusLibExceptions import MeterbusLibException
OnePhaseElectric_Finder, ThreePhaseElectric_Finder, Thermometer_Hottis = 'OnePhaseElectric_Finder', 'ThreePhaseElectric_Finder', 'Thermometer_Hottis'
OnePhaseElectric_Finder, ThreePhaseElectric_Finder, Thermometer_Hottis, Watermeter_Hyd = 'OnePhaseElectric_Finder', 'ThreePhaseElectric_Finder', 'Thermometer_Hottis', 'Watermeter_Hyd'
@ -42,6 +42,8 @@ device_thermometer = MeterbusLib.Device(0x21, Thermometer_Hottis, "Thermometer",
"rawdata"
])
devices.append(device_thermometer)
device_watermeter = MeterbusLib.Device(0x30, Watermeter_Hyd, "Watermeter", ["Volume", "Minimum Volume", "Volume Flow", "OpTime", "Flow Temperature", "TimePoint1", "Volume2", "tariff1", "TimePoint2", "TimePoint3"])
devices.append(device_watermeter)
class MeterBusDecoder(threading.Thread):
@ -83,9 +85,21 @@ class MeterBusDecoder(threading.Thread):
msg['data']['current'] = telegram.frame.dib[5].value + telegram.frame.dib[9].value + telegram.frame.dib[13].value
msg['data']['power'] = telegram.frame.dib[17].value
msg['data']['energy'] = telegram.frame.dib[0].value
elif telegram.frame.category == Watermeter_Hyd:
msg['data']['volume'] = telegram.frame.dib[0].value
msg['data']['flow'] = telegram.frame.dib[2].value
msg['data']['temperature'] = telegram.frame.dib[4].value
elif telegram.frame.category == Thermometer_Hottis:
msg['data']['temperature1'] = telegram.frame.dib[4].value
msg['data']['temperature2'] = telegram.frame.dib[5].value
msg['data']['temperature3'] = telegram.frame.dib[6].value
msg['data']['temperature4'] = telegram.frame.dib[7].value
msg['data']['operatingTime'] = "%i-%i:%i:%i" % (telegram.frame.dib[3].value, telegram.frame.dib[2].value, telegram.frame.dib[1].value, telegram.frame.dib[0].value)
msg['metadata']['version'] = 2
msg['data']['decodedTelegram'] = telegram.getJSON()
Logger.log(msg)
except KeyError, e:
Logger.log("MeterBusDecoder, parse, KeyError: %s" % e)
except MeterbusLibException, e:

View File

@ -20,7 +20,7 @@ if __name__ == '__main__':
client = mqtt.Client()
client.on_message = on_message
client.connect("mqttbroker", 1883, 60)
client.connect("172.16.2.15", 1883, 60)
for i in sys.argv[1:]:
client.subscribe(i)

View File

@ -13,13 +13,13 @@ import sys
from logger import Logger
import time
DEBUG = False
BACKGROUND = True
DEBUG = True
BACKGROUND = False
PID_FILE = "/tmp/mqtt2mongo.pid"
LOG_FILE = "/tmp/mqtt2mongo.log"
BROKER = "localhost"
BROKER = "172.16.2.15"
TOPICS = ['IoT/Measurement/#', 'IoT/WiFiPowerMeter/Measurement']
MONGO_HOST = "localhost"
MONGO_HOST = "172.16.2.18"
MONGO_DATABASE = "iot"
MONGO_COLLECTION = "iot"