The FIRSTNZ() function (first non-zero) can be used to get the first value and timestamp for a variable above zero or a given threshold - it returns a human readable time, a value, or a combination of the two.
Usage:
FIRSTNZ(variable, options, type, threshold_value)
variable - the variable name to check
options - see below
type - return type: 0 = value, 1 = time of first match, 2 = value + time of first match
val - optional - threshold value to compare against (default is 0)
FIRSTNZ('genset_on',1,1)
Get the first time that the genset_on variable was set today
FIRSTNZ('inverter_state',1,0,3)
Get the get the first inverter state that was above 3 today
For device specific variables use a . to separate the device name:
FIRSTNZ('My Device.My Value',1,2)
The second parameter, [options] is a number and can be any of the following
0 | Returns No Change |
1 | DAY - First time the variable changed during the day |
2 | WEEK - First time the variable changed during the week |
3 | MONTH - First time the variable changed during the month |
4 | YEAR - First time the variable changed during the current year |
5 | PERIOD - First time the variable changed during the selected range |
6 | SLICE - First time the variable changed during the slice in the range (i.e. in a graph segment) |
Get the first time the variable changed this week
FIRSTNZ('delta0_w',1,1,1500)
Returns the first time in the day that the value of delta0_w was greater than 1500