|  Developer
Updated on July 15, 2022

IsDeviceState

  • Triggered if the state of the device (states of some device parameters) begins to match the conditions of the block.
  • For example, if in block set parameter with value then scene should be triggered if state of given device (by this deviceId) will changed to value. If in the block given a few params for example and then the scene should be triggered if both ( and ) these parameters state in a given device start to be matched with both block conditions.
  • This feature is available since .
Edit
Field Type Required Description
blockOptions.method.args.device string + A device identifier
blockOptions.method.args.armed bool A value of a device.armed flag to track
blockOptions.method.args.reachable bool A value of a device.reachable flag
Edit
Internal error code Message Data
BAD_PARAMS Wrong params, rpc.params.invalid.
Edit
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
        }

    ]
}