Automate your day. Organize it in flows.
Tracing adds diagnostic traffic. Turn it off when finished inspecting rules.
One rule is “when this happens, do that”. Flows group related rules; every enabled rule runs regardless of the selected flow.
Each lane is one rule: a trigger, then conditions that all have to hold, then a sequence of actions and checks from left to right. Use + on any block to add another one after it. A check reads the current state when the sequence reaches it: true carries on, false stops that branch — it does not switch to the otherwise branch. A rule has eight sequence steps to spend across both branches. Drag a block to reorder it, click it to edit it. An action is a plain device command, so a rule can do anything a button can — and a button, remote key or input that starts a rule stands in its lane, wired to the trigger. The rest wait on the shelf under the canvas.
The two are read at different moments. A condition next to the trigger is read once, when the rule fires, and chooses which branch runs. A check in a branch is read when the sequence gets to it. Commands are queued rather than carried out on the spot, so a check that reads something an earlier step of the same rule changed may still see the old value. Give that check a wait of its own: it is then read over and over until it turns true, and the branch carries on the moment it does. Running out of time stops the branch, just as a false reading would. Reading anything else, an input or the radio or the clock, has nothing to wait for — leave the wait at 0. The Wait block is still there for a plain pause, where there is nothing to test.
Live trace shows every action the device runs and lights up its block. It is off by default to avoid extra diagnostic traffic while the radio plays music. Turn it on when inspecting a rule, then turn it off when finished.
The new rule goes into the selected flow. Adjust its blocks, then Save rules.