I run Grafana (v8.5.2) and influxDB on a raspberry pi to monitor heating data. I’d like to estimate how much energy my solarthermal heating system produced. For that I got different measurements that contain different data points:
measurement1 contains the
pump_state (a boolean).
measurement2 contains the
First, I would like to get the derivative of the storage_temperature and sum that up.
SELECT derivative("storage_temperature") FROM "measurement1" WHERE $timeFilter works and gives me something that looks like a derivative. However,
SELECT sum(derivative("storage_temperature")) FROM "measurement1" WHERE $timeFilter does not return any data. Why?
Second, I’d like to filter for when the pump is being turned on. Since this is in a different measurement, I thought about a time filter that contains the periods from switch on to switch off and use this time filter for the storage_temp reguest. Therefore, I tried
SELECT derivative("pump_state") FROM "measurment2" WHERE $timeFilter AND derivative("pump_state") > 0 to get the switch on times but that does not return any data. Setting the condition to
AND "pump_state" > 0 does return data. Why?
Third, the storage is sometimes being used while the pump is on. To increase accuracy, I would like to only use the positive values of the derivative, but again: adding the condition
AND derivative("storage_temperature") > 0 to the request results in no returned data.
Is there any way to achieve such calculations, or do I better use python with numpy to analyze the data?