Functions
From webCoRE Wiki - Web-enabled Community's own Rule Engine
Boolean
- bool()
- //todo
- boolean(anything)
- converts a value to it's boolean value
- contains(string, substring)
- returns true if a string contains a substring
- endsWith(string, substring)
- returns true if a string ends with a substring
- eq(value1, value2)
- returns true if two values are equal
- ge(value1, value2)
- returns true if value1 >= value2
- gt(value1, value2)
- returns true if value1 > value2
- isBetween(value, startValue, endValue)
- returns true if value >= startValue and value <= endValue
- isEmpty(value)
- returns true if the value is empty
- le(value1, value2)
- returns true if value1 <= value2
- lt(value1, value2)
- returns true if value1 < value2
- not(value)
- returns the negative boolean value
- startsWith(string, substring)
- returns true if a string starts with a substring
Date
- date(value)
- returns the value as a date type
Datetime
- addDays(dateTime, days)
- returns the value as a Datetime type
- addHours(dateTime, hours)
- returns the value as a Datetime type
- addMinutes(dateTime, minutes)
- returns the value as a Datetime type
- addSeconds(dateTime, seconds)
- returns the value as a Datetime type
- addWeeks(dateTime, weeks)
- returns the value as a Datetime type
Decimal
- avg(values)
- calculates the average of a series of numeric values
- ceil()
- //todo
- ceiling(decimal or string)
- converts a decimal value to it's closest higher integer value
- celsius(temperature)
- converts temperature from Fahrenheit to Celsius
- decimal(integer or string)
- converts an integer value to it's decimal value
- dewPoint(temperature, relativeHumidity[, scale])
- returns the calculated dew point temperature
- fahrenheit([Sensor;temperature])
- converts temperature from Celsius to Fahrenheit
- float()
- //todo
- floor(decimal or string)
- converts a decimal value to it's closest lower integer value
- max(values)
- calculates the maximum of a series of numeric values
- median(values)
- returns the value in the middle of a sorted array
- min(values)
- calculates the minimum of a series of numeric values
- number()
- //todo
- power(integer or decimal or string, power)
- converts a decimal value to it's power decimal value
- round(decimal or string, [precision])
- converts a decimal value to it's rounded value
- sqr(integer or decimal or string)
- converts a decimal value to it's square decimal value
- sqrt(integer or decimal or string)
- converts a decimal value to it's square root decimal value
- stdev(values)
- calculates the standard deviation of a series of numeric values
- sum(values)
- calculates the sum of a series of numeric values
- variance(values)
- calculates the standard deviation of a series of numeric values
Dynamic
- if(condition, valueIfTrue, valueIfFalse)
- evaluates a boolean and returns value1 if true, or value2 otherwise
- least(values)
- returns the value that is least found a series of numeric values
- most(values)
- returns the value that is most found a series of numeric values
- previousValue([device;attribute])
- returns the previous value of the attribute
Integers
- age([device;attribute])
- returns the number of milliseconds an attribute had the current value
- count(values)
- calculates the number of true/non-zero/non-empty items in a series of numeric values
- int()
- //todo
- integer(decimal or string)
- converts a decimal value to it's integer value
- newer([device;attribute],[...], [device;attribute], threshold)
- returns the number of devices whose attribute had the current value for less than the specified number of milliseconds
- older([device;attribute],[...], [device;attribute], threshold)
- returns the number of devices whose attribute had the current value for more than the specified number of milliseconds
- previousAge([device;attribute])
- returns the number of milliseconds an attribute had the previous value
String
- concat(string1, string2)
- returns two strings appended together
- Example:
concat("hello ", "world")
orconcat("hello", " ", "world")
outputshello world
- format(format string, values)
- Usage:
- formatString is a Java printf() type format string (see Reference)
- values is a dynamic length list of values (one entry for each % in the format string)
- returns a string with the placeholders replaced with the appropriately formatted values
- Example:
format('The temperature outside is %.2f degrees Fahrenheit', [Temp sensor:temperature])
outputsThe temperature outside is 71.26 degrees Fahrenheit
- formatDuration(value[, friendly = false[, granularity = 's'[, showAdverbs = false]]])
- Usage:
- value is a number of milliseconds
- friendly = true/false (false >>> 0d 00:00:00.000, true >>> so many days, so many hours, etc)
- granularity = one of ms, s, m, h, d (smallest part displayed)
- showAdverbs = true/false, true adds the in .... or .... ago to friendly times
- returns a nicely formatted string of time
- eg: formatDuration(12029) - 00:00:12 | formatDuration(12029, true) - 12 seconds | formatDuration(12029, true, "m") - 0 minutes | formatDuration(12029, true, "ms", true) - in 12 seconds and 29 milliseconds
- left(string, count)
- returns a substring of a value
- Example1:
left("hello world", 3)
outputshel
- Example2:
left("hello world", 7)
outputshello w
- lower(string)
- returns a lower case value of a string
- Example:
lower("HELLO WORLD")
outputshello world
- mid(string, start, count)
- returns a substring of a value
- returns characters (including spaces) specified by count after start position from string
- Example1:
mid("hello world", 3, 4)
returnslo w
- Example2:
mid("hello world", 6, 3)
returnswor
- replace(string, search, replace[, [..], search, replace])
- replaces a search text inside of a value
- Example1:
replace("hello world", "world", "earth")
returnshello earth
- Example2:
replace(replace("[hello world]", "\[", "("),"\]",")")
returns(hello world)
- Note: There are special characters in regular expressions that needs to be escaped or the script will return an error, in the above example [ and ] are special characters.
- right(string, count)
- returns a substring of a value
- sprintf(format, arguments)
- formats a series of values into a string
- string(anything)
- converts a value to it's string value
- substring(string, start, count)
- returns a substring of a value
- text()
- //todo
- title(string)
- returns a title case value of a string
- upper(string)
- returns an upper case value of a string
Time
- time(value)
- returns the value as a time type
- addSeconds(dateTime, seconds)
- adds seconds to time, returns the value as a time type
- addMinutes(dateTime, minutes)
- adds minutes to time, returns the value as a time type
- addHours(dateTime, hours)
- adds hours to time, returns the value as a time type
- addDays(dateTime, days)
- adds days to time, returns the value as a time type
- addWeeks(dateTime, weeks)
- adds weeks to time, returns the value as a time type