From 87724a727b64f7aa0f077c5ef8b0cec671b62b91 Mon Sep 17 00:00:00 2001 From: benni336 Date: Wed, 19 Jan 2022 21:29:04 +0100 Subject: [PATCH] Error when writing to InfluxDB InfluxDB was returning erros. So I adapted the way of building the query. --- SunGather/exports/influxdb.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/SunGather/exports/influxdb.py b/SunGather/exports/influxdb.py index 0bc4276..5bef961 100644 --- a/SunGather/exports/influxdb.py +++ b/SunGather/exports/influxdb.py @@ -50,9 +50,16 @@ class export_influxdb(object): logging.info("InfluxDB: Skipped, Initial Configuration Failed") return False - sequence = [] + # Setting a Standard Measurement Name and Inverter as a tag for later filtering + # could be extended by using values from config.yaml or SerialNo or ... + # Maybe also better switch to p=influxdb_client.Point(xxx).Tag().Field() + sequence= f"measure1,inverter={inverter.get('device_type_code', 'unknown').replace('.','').replace('-','')} " + for measurement in self.measurements: - sequence.append(f"{measurement.get('point')},inverter={inverter.get('device_type_code', 'unknown').replace('.','').replace('-','')} {measurement.get('register')}={inverter.get(measurement.get('register'))}") + sequence += f"{measurement.get('register')}={inverter.get(measurement.get('register'),0)}," + + # remove last "," + sequence=sequence[:-1] logging.debug(f'InfluxDB: Sequence; {sequence}') try: self.write_api.write(self.bucket, self.client.org, sequence) @@ -61,4 +68,4 @@ class export_influxdb(object): logging.info("InfluxDB: Published") - return True \ No newline at end of file + return True