Edit

One condition: triggers when the field is changed to

				
					{
    "blockOptions": {
        "method": {
            "args": {
                "device": "device",
                "armed": "armed"
            },
            "name": "isDeviceState"
        }
    },
    "blockType": "when",
    "fields": [
        {
            "name": "device",
            "type": "device",
            "value": "deviceId"
        },
        {
            "name": "armed",
            "type": "bool",
            "value": true
        }
    ]
}				
			
Edit

One condition: triggers when the is changed to

				
					{
    "blockOptions": {
        "method": {
            "args": {
                "device": "device",
                "reachable": "reachable"
            },
            "name": "isDeviceState"
        }
    },
    "blockType": "when",
    "fields": [
        {
            "name": "device",
            "type": "device",
            "value": "deviceId"
        },
        {
            "name": "reachable",
            "type": "bool",
            "value": true
        }
    ]
}				
			
Edit

Multiple conditions: triggers, when the is equal to and the , is equal to the first time. Holds the state till any of these fields change their values

				
					{
    "blockOptions": {
        "method": {
            "args": {
                "device": "device",
                "reachable": "reachable",
                "armed": "armed"
            },
            "name": "isDeviceState"
        }
    },
    "blockType": "when",
    "fields": [
        {
            "name": "device",
            "type": "device",
            "value": "deviceId"
        },
        {
            "name": "armed",
            "type": "bool",
            "value": false
        },
        {
            "name": "reachable",
            "type": "bool",
            "value": true
        }

    ]
}				
			
Edit
  • Example: compare value of any device that matches the device group:
  • Define a device group, make a condition block to make a comparison of an hub.device.updated broadcast with the condition value.
    The comparison is stateless. It doesn’t have information about previous value of any device in the group.
  • Comparison type: stateless
				
					{
    "_id": "6388c7200000005ae756292c",
    "actionGroup": "6388c7200000005ae756292c",
    "blockOptions": {
        "method": {
            "args": {
                "armed": "armed",
                "deviceGroup": "deviceGroup",
                "reachable": "reachable"
            },
            "name": "isDeviceState"
        }
    },
    "blockType": "when",
    "fields": [
        {
            "name": "deviceGroup",
            "type": "device_group",
            "value": "6388c7200000005ae7562929"
        },
        {
            "name": "armed",
            "type": "bool",
            "value": false
        },
        {
            "name": "reachable",
            "type": "bool",
            "value": false
        }
    ]
}