All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
39 lines
1.8 KiB
Python
39 lines
1.8 KiB
Python
import psycopg2
|
|
from loguru import logger
|
|
|
|
try:
|
|
srcConn = psycopg2.connect(database="level_monitoring_berresheim")
|
|
srcConn.autocommit = False
|
|
destConn = psycopg2.connect(database="udi-berresheim")
|
|
destConn.autocommit = False
|
|
|
|
with srcConn.cursor() as srcCur, destConn.cursor() as destCur:
|
|
srcCur.execute("select time, application_name, raw_level, level, status, battery from measurement_t")
|
|
for srcObj in srcCur:
|
|
timestamp = srcObj[0]
|
|
deviceName = srcObj[1]
|
|
rawLevel = srcObj[2]
|
|
level = srcObj[3]
|
|
status = srcObj[4]
|
|
battery = srcObj[5]
|
|
|
|
logger.info(f"{timestamp=}, {deviceName=}, {rawLevel=}, {level=}, {status=}, {battery=}")
|
|
|
|
destTime = timestamp
|
|
destApplication = "de-hottis-level-monitoring"
|
|
destDevice = "eui-a84041a2c18341d6"
|
|
destAttributes = '{"ApplicationId":"de-hottis-level-monitoring", "DeviceType":"dragino-ldds75", "Status":"' + status + '","Hint": "Migrated"}'
|
|
destValues = '{"Battery":{"unit":"V","label":"Battery","value":' + str(battery) + ',"variable":"Voltage"}, "Distance":{"unit":"mm","label":"Distance","variable":"Level","value":' + str(rawLevel) + '}, "CorrectedDistance":{"unit":"mm", "label":"CorrectedDistance", "variable":"Level","value":' + str(level) + '}}'
|
|
logger.info(f"{destTime=}, {destApplication=}, {destDevice=}, {destAttributes=}, {destValues=}")
|
|
|
|
destCur.execute("insert into measurements (time, application, device, attributes, values) values(%s, %s, %s, %s, %s)",
|
|
(destTime, destApplication, destDevice, destAttributes, destValues))
|
|
destConn.commit()
|
|
finally:
|
|
if srcConn:
|
|
srcConn.close()
|
|
if destConn:
|
|
destConn.close()
|
|
|
|
|