|  Developer
Updated on May 24, 2022

function/latch

  • The LATCH unary function holds the state forever after the child event becomes . It then can be reset by external action.
  • When an child event of a LATCH function becomes , the latch function also becomes . Then, it stays in true state, no matter what is happening to the latched child event.
  • The latched event can be unlatched in the following ways:
  • The Latch function is placed in an AND operator, and the AND operator becomes due to some other child of this AND operator.
  • The scenes service restart.
  • hub.scenes.block.status.reset API command with the block identifier is received.
  • The resetLatch action pointing to that function is called.
  • If a Latch is unlatched, the function Latch becomes , but its child event stays in its present condition.
Edit
Field Type Required Description
blockOptions.function.latch object Settings of a LATCH function.
blockOptions.function.latch.enabled boolean + Should be .
  • NOTE: The LATCH function state is not saved between the scene service restarts. NOTE: The LATCH function is unary, can handle only one child.

This feature is available since advanced_scenes/1.31.

Edit
				
					{
   "blockOptions":{
        "method":{
            "args":{
                "blocks":"blocks"
            },
            "name":"function"
        },
        "function": {
            "latch":{
                "enabled": true
            }
        }
    },
    "blockType":"when",
    "fields":[
        {
            "name":"blocks",
            "type":"blocks",
            "value": [
                __SINGLE_WHEN_BLOCK__
            ]
        }
    ]
}				
			

Here, the stands for any valid when block, like a final event or a logical operator. But, the only child can be passed.