{
"blockType":"when",
"blockOptions":{
"method":{
"name":"compareNumbers",
"args":{
"item":"item",
"comparator":"comparator",
"value":"value"
}
}
},
"fields":[
{
"name":"item",
"type":"item",
"value":"5de64f6a70c7be0541cc0853"
},
{
"name":"comparator",
"type":"string",
"value": ">"
},
{
"name":"value",
"type":"int",
"value": 51
}
]
}
Use an expression value to compare with an item updated value. The event will raise in a situation when an item value meet the expression value: – the item value is changed; – the expression value is changed.
{
"blockType": "when",
"blockOptions":{
"method": {
"name": "compareNumbers",
"args": {
"item": "item",
"comparator": "comparator",
"value": "value"
}
}
},
"fields": [
{
"name": "item",
"type": "item",
"value": "5de64f6a70c7be0541cc0853"
},
{
"name": "comparator",
"type": "string",
"value": ">"
},
{
"name": "value",
"type": "expression",
"value": "expressionName"
}
]
}
Example 3: compare expression with expression
Compare value of an expression with name “expressionLeft” with a value of an expression with name “expressionRight”. The event will raise when value of “expressionLeft” becoming greater than value of “expressionRight”. Event checked whenever values of “expressionLeft” or “expressionRight” are changed.
"when" : [
{
"blockType": "when",
"blockOptions":{
"method": {
"name": "compareNumbers",
"args": {
"expression": "expression",
"comparator": "comparator",
"value": "value"
}
}
},
"fields": [
{
"name": "expression",
"type": "expression",
"value": "expressionLeft"
},
{
"name": "comparator",
"type": "string",
"value": ">"
},
{
"name": "value",
"type": "expression",
"value": "expressionRight"
}
]
}
]
Example 4: compare value of any item that matches the device/item group with numeric type:
Define a device group, define an item group, make a condition block to make a comparison of an hub.item.updated broadcast with the condition value. The comparison is stateless. It doesn’t have information about previous value of any item in the group.
Comparison type: stateless
{
"blockType":"when",
"blockOptions":{
"method":{
"name":"compareNumbers",
"args":{
"deviceGroup":"deviceGroup",
"itemGroup":"itemGroup",
"comparator":"comparator",
"value":"value"
}
}
},
"fields":[
{
"name":"deviceGroup",
"type":"device_group",
"value":"5de64f6a70c7be0541cc0853"
},
{
"name":"itemGroup",
"type":"item_group",
"value":"5de64f6a70c7be0541cc0854"
},
{
"name":"comparator",
"type":"string",
"value": ">"
},
{
"name":"value",
"type":"int",
"value": 51
}
]
}
Available since: Group operations filtering is available since