Ignoring Negative Difference within Energy readings

Thanks Stefan for the thoughtful reply. I decided to fix the issue in my Grafana Dashboard by filtering ‘outliers’ in my Flux queries. I do this by filtering anything out that has a negative difference or value is > 10 * standard deviation of series.

data = from(bucket: v.defaultBucket)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “data” and r[“_field”] == “_sum/ConsumptionActiveEnergy”)
|> difference(nonNegative: true)

stddev = data
|> stddev()
|> findRecord(fn: (key) => key._measurement == “data”, idx: 0)

data
|> filter(fn: (r) => r._value < 10.0 * stddev._value)
|> aggregateWindow(every: 1h, fn: sum, createEmpty: true)