I am not an expert of InfluxDB but up to now I was able to get what I want.
Now I am stuck
We monitor the level of our water tank with an ultrasonic sensor. The following diagram shows the water consumption and the refill as an 24h example. The according query is:
SELECT min("value") AS "min_value" FROM "homeassistant"."autogen"."l" WHERE time > :dashboardTime: AND time < :upperDashboardTime: AND "entity_id"='water_tank_volume_2' GROUP BY time(1m) FILL(null)
In order to calculate the water consumption I used the transformation NON_NEGATIVE_DIFFERENCE in the query statement:
SELECT NON_NEGATIVE_DIFFERENCE("min_value") as "delta" FROM (SELECT -min("value") AS "min_value" FROM "homeassistant"."autogen"."l" WHERE time > :dashboardTime: AND time < :upperDashboardTime: AND "entity_id"='water_tank_volume_2' GROUP BY time(1m) FILL(null))
The result looks as expected.
If I like to summarise now the water consumption over a given time period (for instance per day) I only can get the total sum of the entire period and GROUP BY time(1d) doesn’t work:
SELECT sum("delta") as "used" FROM (SELECT NON_NEGATIVE_DIFFERENCE("min_value") as "delta" FROM (SELECT -min("value") AS "min_value" FROM "homeassistant"."autogen"."l" WHERE time > :dashboardTime: AND time < :upperDashboardTime: AND "entity_id"='water_tank_volume_2' GROUP BY time(1m) FILL(null)))
Where is my mistake ?