stringOperation
- Fulfils selected operation on a string.
- When the data source is a device/item group, the event is stateless. It arises every time the condition is true, no matter which value of an event was previously. See Stateless comparison.
- This feature is available since the version. The scene is triggered when the condition of the specified operation is satisfied.
- operation checks if the item’s value begins with string specified in the parameter.
- operation checks if the item’s value ends with string specified in the parameter.
- operation check if the item’s value contains string specified in the parameter.
- operation checks if the length of the item’s value is equal to the number specified in the parameter.
- operation checks if the item’s value does not begin with string specified in the parameter.
- operation checks if the item’s value does not end with string specified in the parameter.
- operation checks if the item’s value does not contain string specified in the parameter.
- operation checks if the length of the item’s value is NOT equal to the number specified in the parameter.
Edit
Field | Type | Required | Description |
---|---|---|---|
blockOptions.method.args.item blockOptions.method.args.expression |
item expression |
+ | Id of an item/expression whose value will be used as an operand for the string operation. |
blockOptions.method.args.deviceGroup | string | – | Value source will be used as an operand for the string operation. References a device group by its ID. The parameter is required. |
blockOptions.method.args.itemGroup | string | – | Value source will be used as an operand for the string operation. References an item group by its ID. The parameter is required. |
blockOptions.method.args.operation | string | + | Operation, which will be fulfilled. Possible values: , , , , , , , . |
blockOptions.method.args.value | int/string | + | Argument of the string operation. for and operations, – for all other cases. |
Edit
Internal error code | Message | Data |
---|---|---|
SCENE_WRONG_WHEN_BLOCK | stringOperation: empty id of an item | ezlo.scenes.block.when.wrong |
SCENE_WRONG_WHEN_BLOCK | stringOperation: “operation” field is empty | ezlo.scenes.block.when.wrong |
SCENE_WRONG_WHEN_BLOCK | stringOperation: “value” field is empty | ezlo.scenes.block.when.wrong |
SCENE_WRONG_WHEN_BLOCK | stringOperation: cannot create valid value: [REASON] | ezlo.scenes.block.when.wrong |
SCENE_WRONG_WHEN_BLOCK | stringOperation: unknown operation: [OPERATION] | ezlo.scenes.block.when.wrong |
SCENE_WRONG_WHEN_BLOCK | stringOperation: “[length/not_length]” operation requires operand to be a number | ezlo.scenes.block.when.wrong |
SCENE_WRONG_WHEN_BLOCK | stringOperation: “[begin/end/contain/not_begin/not_end/not_contain]” operation requires operand to be a non-empty string | ezlo.scenes.block.when.wrong |
Edit
Edit
Example 1: string operation of an item
{
"blockType": "when",
"blockOptions": {
"method": {
"name": "stringOperation",
"args": {
"item": "item",
"operation": "operation",
"value": "value"
}
}
},
"fields": [
{
"name": "item",
"type": "item",
"value": "5de64f6a70c7be0541cc0853"
},
{
"name": "operation",
"type": "string",
"value": "contain"
},
{
"name": "value",
"type": "string",
"value": "operateOnThis"
}
]
}
Edit
Example 2: string operation of any item that matches the device/item group with operation type:
Define a device group, define an item group, make a condition block to make a string operation of an hub.item.updated broadcast with the operation value.
The operation is stateless. It doesn’t have information about previous value of any item in the group.
Operation type: stateless
{
"blockType":"when",
"blockOptions":{
"method":{
"name":"stringOperation",
"args":{
"deviceGroup":"deviceGroup",
"itemGroup":"itemGroup",
"operation": "operation",
"value": "value"
}
}
},
"fields":[
{
"name":"deviceGroup",
"type":"device_group",
"value":"5de64f6a70c7be0541cc0853"
},
{
"name":"itemGroup",
"type":"item_group",
"value":"5de64f6a70c7be0541cc0854"
},
{
"name": "operation",
"type": "string",
"value": "contain"
},
{
"name": "value",
"type": "string",
"value": "operateOnThis"
}
]
}
Available since: Group operations filtering is available since .