The triggered_timeout node

Emits a point, if there is no message coming in for the given amount of time.

A timeout will be started on an explicit trigger: * When a lambda expression is given for parameter timeout_trigger, this expression must evaluate as true to start (and after a timeout has occurred to restart) a timeout.

  • If no lambda expression is given for the timeout_trigger, the trigger is any data_point coming in on port 1, the so called trigger_port.

A new trigger does not restart a running timeout. After a timeout occurred, the node waits for a new trigger to come in before it starts a new timeout.

After a timeout is started the node waits for data coming in, that either does not satisfy the trigger expression(when a lambda expression is given for the timeout_trigger parameter) or is coming in on any port except the trigger_port (port 1).

Data for the outgoing data-point can be defined with the fields and field_values parameters. This node can have any number of input-nodes.


def timeout = 30s
% ...

.timeout_trigger(lambda: "data.topic" == 'in1')

def condition_reason = 'oh no !!'

%.cancel_fields('', 'combined.condition_reason', '')
%.cancel_field_values('OK', '', 0)


Parameter Description Default
timeout( duration )
timeout_trigger( lambda ) lambda expression which triggers the timeout optional
fields (string_list) paths for the output fields optional
field_values( list ) values for the output fields optional