xxxx * 10sum, valuesum + value0.0x[x, x + 1]orderorder.productIdxx > 10xx.uniqueIdxx.uniqueIdmain, merged[main, merged]main, merged[main, merged]main, merged[main, merged]xx > 10xx > 10sum, valuesum + value0.0INFOxx.valuexx.valuex20x20x20x10Outputs when a threshold is crossed (In either direction)
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabbidirectionalThresholdxx > 10[prev, current](current > 30 and prev <= 30) or (current < 30 and prev >= 30)Outputs when a value is leaves a corridor defined by the std deviation
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabspike25xx.valuexx.valuex20xx.upperBoundx10xx.lowerBoundmissingDataOutputs when a value is not seen within a period
To use this operator:
Drag in the appropriate operator from the "Custom Operators" taboutputxx10"Did not receive value in 10 seconds"xxxxoutputpeerAnalysisCompare a source with its peers, outputting if the value is significantly different
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabavgFromPeersxx5datadata.sourceIddatadata.sourceIdxx * 10datadata.dValueresultxxavgFromPeersmain, mergedmain, mergedvalue, avgvalue > avg ? value - avg : avg - valueRising15resultCalculate the event rate during the specified period
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabeventRate5xx * 10countcount / 5Calculate the moving average for the last 'n' numeric values
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabmovingAverage51Calculate the numeric difference between the current value and the previous value
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabdeltaxx * 10[prev, current]current - prevCalculate the gradient from the last 'n' values
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabmovingGradient51xx * 10[prev, current](current.value - prev.value) / (current.timestamp - prev.timestamp)Calculate the numeric maximum of the last 'n' values
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabmovingMax51Calculate the numeric minimum of the last 'n' values
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabmovingMin51Calculate the sample variance of the last 'n' numeric values
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabsampleVariancesum, valuesum + value[m2, prevAvg, prevCount], value[m2 + (value - prevAvg) * (value - (prevAvg + (value - prevAvg) / (prevCount + 1))), (prevAvg + (value - prevAvg) / (prevCount + 1)), prevCount + 1][0, 0, 0]11xx * 10[m2, avg, count]m2 / (count - 1)Calculate upper and lower Bollinger bands. The result is a sequence [upper, lower, avg, value].
To use this operator:
Drag in the appropriate operator from the "Custom Operators" tabbollingerBand51sum, valuesum + value[m2, prevAvg, prevCount], value[m2 + (value - prevAvg) * (value - (prevAvg + (value - prevAvg) / (prevCount + 1))), (prevAvg + (value - prevAvg) / (prevCount + 1)), prevCount + 1, value][0, 0, 0]11xx * 10[m2, avg, count, value][(m2 / (count - 1)).sqrt(), avg, value]xx * 10[stdDev, avg, value][avg + std, avg - std, avg, value]x"MyChannel"xcurrentTime.toDecimal()xx.toDecimal()xxxx.toFloat()x"c8y_LightMeasurement"x"12346081"xcurrentTimex"c8y_LightMeasurement"x"c8y_LightMeasurement"x"e"x"e"x15.0x"lux"x"lux"TemperatureSensorReading1) Get the temperature readings from a channelxx2) For each reading, get the temperature and convert it from Fahrenheit to Celsiusxx * 10reading(reading.tempF - 32) * 5 / 9 + "°C"INFO3) On every value log it10xxSomeDataChannelmain, merged[main, merged][timer, value]valueINFOTemperatureReadingsxxxx * 10valuevalue.tempINFOmovingAverage51