From e67559e13671d87ddc3247fd61849e19853dd579 Mon Sep 17 00:00:00 2001 From: Martin Schroeder Date: Wed, 28 Jan 2026 21:23:27 +0000 Subject: [PATCH] fixed last_value --- pyscada/influxdb/models.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pyscada/influxdb/models.py b/pyscada/influxdb/models.py index 307bae0..aa8caa5 100644 --- a/pyscada/influxdb/models.py +++ b/pyscada/influxdb/models.py @@ -107,13 +107,14 @@ class InfluxDatabase(models.Model): use_date_saved = ( kwargs.pop("use_date_saved") if "use_date_saved" in kwargs else False ) - query = f'from(bucket: "{self.bucket}") |> range(start: {self.to_flux_time(time_min)}) |> filter(fn:(r) => r._measurement == "{self.measurement_name}" ) |> filter(fn:(r) => r.variable_id == "{variable_id}") |> filter(fn:(r) => r._field == "value") |> keep(columns: ["_time","_value"]) |> last()' - r = query_api.query(query) - r = r.to_values(columns=['_time','_value'])[0] + start_time = "-24h" + query = f'from(bucket: "{self.bucket}") |> range(start: {start_time}) |> filter(fn:(r) => r._measurement == "{self.measurement_name}" ) |> filter(fn:(r) => r.variable_id == "{variable.pk}") |> filter(fn:(r) => r._field == "value") |> keep(columns: ["_time","_value"]) |> last()' + r = self.get_query_api().query(query) + r = r.to_values(columns=['_time','_value']) if len(r) == 0: return None - return [r[-1][0].timestamp(), r[-1][1]] + return [r[0][0].timestamp(), r[0][1]] def read_multiple(self, **kwargs):