write voltage to database
This commit is contained in:
parent
3c932220e7
commit
36d18dcb79
@ -26,6 +26,15 @@ CREATE TABLE measurement_t (
|
|||||||
|
|
||||||
SELECT create_hypertable('measurement_t', 'time');
|
SELECT create_hypertable('measurement_t', 'time');
|
||||||
|
|
||||||
|
CREATE TABLE voltage_t (
|
||||||
|
time TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||||
|
device_name VARCHAR(16) NOT NULL,
|
||||||
|
voltage INTEGER
|
||||||
|
);
|
||||||
|
|
||||||
|
SELECT create_hypertable('voltage_t', 'time');
|
||||||
|
|
||||||
|
|
||||||
insert into device_t (device_id, label) values('eui-43fa12f400006c88', 'badesee');
|
insert into device_t (device_id, label) values('eui-43fa12f400006c88', 'badesee');
|
||||||
insert into sensor_t (address, label, index, device)
|
insert into sensor_t (address, label, index, device)
|
||||||
values (13258914387362694952, '0,5m ', 0, 1),
|
values (13258914387362694952, '0,5m ', 0, 1),
|
||||||
@ -36,3 +45,4 @@ insert into sensor_t (address, label, index, device)
|
|||||||
create user preprocessor password 'geheim';
|
create user preprocessor password 'geheim';
|
||||||
grant select on device_t, sensor_t to preprocessor;
|
grant select on device_t, sensor_t to preprocessor;
|
||||||
grant insert on measurement_t to preprocessor;
|
grant insert on measurement_t to preprocessor;
|
||||||
|
grant insert on voltage_t to preprocessor;
|
||||||
|
@ -69,6 +69,8 @@ class DbOp(object):
|
|||||||
conn = self.__getConn()
|
conn = self.__getConn()
|
||||||
with conn:
|
with conn:
|
||||||
with conn.cursor() as cur:
|
with conn.cursor() as cur:
|
||||||
|
cur.execute("insert into voltage_t (time, device_name, voltage) values (now(), %(dname)s, %(voltage)s)",
|
||||||
|
{ 'dname': measurement['label'], 'voltage': measurement['u_bat']})
|
||||||
for entry in measurement['measurements']:
|
for entry in measurement['measurements']:
|
||||||
cur.execute("insert into measurement_t (time, device_name, sensor_name, temperature) values (now(), %(dname)s, %(sname)s, %(tempc)s)",
|
cur.execute("insert into measurement_t (time, device_name, sensor_name, temperature) values (now(), %(dname)s, %(sname)s, %(tempc)s)",
|
||||||
{ 'dname': measurement['label'], 'sname': entry['label'], 'tempc': entry['value'] })
|
{ 'dname': measurement['label'], 'sname': entry['label'], 'tempc': entry['value'] })
|
||||||
@ -112,6 +114,7 @@ def mqttOnMessageCallback(client, userdata, message):
|
|||||||
logger.info(f"Regular message received from {device_id}, {device['label']}")
|
logger.info(f"Regular message received from {device_id}, {device['label']}")
|
||||||
measurement = {
|
measurement = {
|
||||||
'label': device['label'],
|
'label': device['label'],
|
||||||
|
'u_bat': u_bat,
|
||||||
'time': parse_payload['received_at'],
|
'time': parse_payload['received_at'],
|
||||||
'measurements': []
|
'measurements': []
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user