The Blocks

Control Blocks

Control provide a framework to control and make decisions for your rule or scene based on conditions.

WHEN - surrounds the whole rule and performs Actions WHEN a condition is true.
IF - usually included within a 'When' block; it performs an Action IF a condition true
IF / ELSE - similar to the IF condition, but performs the ELSE action unless the IF condition is true
REPEAT - usually included in a 'When' block; it repeats the Action a specified number of times

Notice: Blocks with 'diamond' shapes are inserted into the 'diamond' hole of a control block to act as the condition for the control block - these can be Sensor, Operator or Variable blocks.

Sensor Blocks

Sensor blocks act as part of a condition for other decision making blocks.

SCHEDULER - enables a rule (or part of it) to run at regular times of the day, days of the week or until a specified date.
SENSOR - condition block to be used with 'Sensor' devices.
METER - condition block used as part of an Operator or Variable block. It has rounded sides and slots into blocks that have rounded holes.

Operator Blocks

Operator Blocks enable more sophisticated control of your rules.

Main operators are +, -, *, /, =, !=, <, <=, >, <=, and, or, between, not.

Variable Blocks

Variable are time, date or value based variables used by Operator or Control blocks to perform calculations or comparisons.

NOW - used as variable in time and date dependent variables.
DATE / TIME - used as a variable in other Variable or Operator blocks that accept 'rounded' blocks / when you want to make a condition that includes specific Date/Time in Control blocks.
DATE OF / TIME OF - used as a variable in other Variable or Operator blocks that accept 'rounded' blocks / when you want to make a condition that includes specific Date/Time in Control blocks.
CONDITIONS - used as a condition variable in Control blocks.
VARIABLE, SET VARIABLE - used for setting variables in Control blocks.
INCREMENT, DECREMENT - used for incrementing / decrementing variable values in Control blocks.

Action Blocks

Action blocks perform an action such as controlling a network device - turning on a On/Off switch, setting a dimmer to a specific brightness level etc.

ACTION - controls an Actuator device by setting it to a specific value or increasing/decreasing its current value. This block only accepts Actuator device blocks.
SET - sets a device to a specific value. This block does not accept Actuator device blocks.
SEND MESSAGE - provides sending of E-Mail, SMS, Voice and Push messages when triggered by the rule.
HTTP REQUEST - enables useage of Get, Post, Put and Delete HTTP request methods.
SOCKET REQUEST - enables connection between a client program and a server program.
WAIT - add a delay to the rule for a set number of seconds.

Advanced Blocks

Advanced blocks enable more sophisticated control of your rules.

JOIN - Locks the condition upon triggering state. For instance, if open door triggers a rule, after 10 min you set an action. This will prohibit the rule to start all over upon new trigger if door is re-opened during 10 min..
STOP - stops the current execution of the rule (similar to Return statement in regular programming).
REFRESH ALL - refreshes all states / variables in a rule.

Is this article helpful?
9 2 2