Here is the list of metric types available and their definition.
Percentage of time where
This takes a Filter as an argument, and calculates the:
Device time where the expression is true / Sum of device time
It is most commonly used to calculate uptime %.
Count devices where
This takes a Filter as an argument, and counts the number of devices where the expression is ever true.
Example - if we wanted to know the number of devices that got into a low battery condition, we could ask:
Count devices where Battery < 20%
And it would display the number of devices that had ever had low battery, in the time range specified.
Percentage of devices where
This takes a Filter as an argument, and counts the percentage of devices where the expression is ever true.
Using the battery example above, we could instead ask:
Percentage of devices where Battery < 20%
And it would display the number of devices that had ever had low battery / total number of devices seen, in the time range specified.
Mean value of
This takes a property as an argument, and calculates the arithmetic mean - the sum divided by the count.
Mode value of
This takes a property as an argument, and calculates the mode - the most frequent value.
Median value of
This takes a property as an argument, and calculates the median - the middle of the sorted values.
Count of
This takes a property as an argument, and calculates the count- the number of occurrences.
Sum of
This takes a property as an argument, and calculates the sum - the total value.
Minimum value of
This takes a property as an argument, and calculates the minimum - the lowest value.
Maximum value of
This takes a property as an argument, and calculates the maximum - the most highest value.
Count distinct values of
This takes a property as an argument, and calculates the number of unique values in the data. Using $id as a property can be used to count unique devices, for instance.
Percentage of time in each value of
This takes a property as an argument, and calculates the time spent in each unique value of the property. This is particularly useful if your device reports a state property (i.e. heating/not heating, charging/post-charge/occupied etc). You can then easily calculate how much time your devices spend in each state.