
Virtual sensors can be created that calculate their values from other sensors.
In this example (with hourly readings), daily maximum, minimum and average values are being calculated from 06:00 to 06:00 - the period could have been weekly or monthly.
In addition to separate calculated sensors, each sensor can 'internally' calculate and graph varying upper, varying lower, smooth, rate, and integration using .
The advantage of using the extra, internal, sensors is that they are easy to use; but they cannot be individually customised. Colours and lines styles can be set on .
If you need to customise a calculated sensor you will need to create a separate sensor with . Calculated sensors are customised in the same way as a normal sensor ( and )
The following functions are available...
| Formula | Notes | Inputs required |
|---|---|---|
| Smooth | Smooths the values | Sensor,Factor |
| Method1 | Moving average over the previous number of day(s) | Sensor,day(s) |
| Method2 | Digital filter, with factor and Jump | Sensor,Factor,Jump |
| Method3 | Polynomial (not implemented) | Sensor |
| Method4 | FFT (not implemented) | Sensor |
| Rate | Rate of change (per day) | Sensor |
| Method1 | Difference between 2 consecutive readings | Sensor |
| Method2* | Difference between reading a numbers of days)(s) apart (with Jump from Smooth) | Sensor, Days(s), Jump |
| Method3* | Difffrence between readings at 6:00 a.m. on consecutive days | Time (hh:mm) |
| Integrate | Accumulates total of value | Sensor |
| RTOTAL * | Total of values in period | Sensor,Period** |
| RAVERAGE * | Average value in period | Sensor, Period** |
| RCOUNT * | Count of values in period | Sensor, Period** |
| RMAXIMUM * | Maximum value in period | Sensor, Period** |
| RMINIMUM * | Minimum value in period | Sensor, Period** |
| GDD | Growing degree days | MaxTemp, MinTemp, base temperature |
| PENMAN | ET0 FAO12345 | MaxTep, MinTemp, RH, WR |
| AVERAGE | Average of 2 other sensors at same date | Sensor1, Sensor2 |
| Difference | Difference between 2 other sensors | Sensor1, Sensor2 |
| Sum | Total of 2 other sensors | Sensor1, Sensor2 |
| Max | Maximum of 2 other sensors | Sensor1, Sensor2 |
| Min | Minimum of 2 other sensors | Sensor1, Sensor2 |
| LOOKUP | Looks up a value in another file | Sensor
File name (comma or tab delimited) Column in file of known values Column in file with result Style - interpolated |
| DWULOOKUP | Calculated value from DWU file on DayOfYear() file needs to be in DWU format |
DWU file name Column in file with dwu value (default = Col2) Style = interpolate | use previous | use next value in file |
| LOOKUPOTHER | Interpolates value of sensor in another logger (with different dates)
Note: v2.1.036 all functions allow the target sensor to be in any logger. |
Sensor |
| ROOTZONE | Total amount of water in root zone | All sensors in same logger with a 'depth' >0 |
| DELTAT | Calculates DeltaT from air temperature and RH - see Bureau of Meteorology | Air temperature (degC) RH(%) |
| RDI | Calculate value of varying upper or lower limit from file. Limit can be either...
File must be in DWU format |
Sensor RDI file name Column in file with RDI value (default = Col2) |
* Needs continuous logged data at equal time intervals.
** Period can be in days (e.g. '1d'), weeks (e.g. '1w') or months (e.g. '1m')
After v 2.1.036, the sensors can be in any logger. This would allow, for example, a sensor to calculate the difference between temperature recorded on two separate loggers.