Skip to content

Boost

The Boost operation holds a value for a fixed period and then puts it back. Triggering it publishes the Active Value and starts a countdown; when the countdown ends it publishes the Baseline Value. Each of those starts a new execution path, so the rest of the graph learns both that the boost has begun and that it is over. It is the “turn this up for an hour” pattern as a single Node.

Boost operation

Inputs

PortTypeRequiredDescription
>AnyNoOptional gate. When closed, the path stops and no boost starts.
CancelBooleanNoWhen true, ends any active boost immediately — the countdown is cancelled, Out returns to the Baseline Value and Active goes false. Read before the Gate and before the Re-trigger Policy, so it wins over both.

Outputs

PortTypeDefaultDescription
Outfollows Active ValueNilThe Active Value while boosting, the Baseline Value otherwise.
ActiveBooleanfalseWhether a boost is currently running.
>AnyfalseTrigger pulse. Stamped fresh on the path that carries the reverted values, and only on that one — a boost beginning and a cancel leave it alone.

Properties

NameTypeDefaultDescription
Boost Duration (seconds)Integer60How long a boost lasts.
Active ValueStackedDataSetString = "active"Published on Out while boosting. The branch you pick (String / Integer / Boolean) types the Out port.
Baseline ValueStackedDataSetString = "baseline"Published on Out when idle and when a boost ends.
Re-trigger PolicyComboIgnoreWhat a new trigger does while a boost is already running. Ignore drops it and stops; Extend restarts the full duration from now.
On ErrorComboStop this branchPer-op On Error verb. Boost’s Outputs belong to the Path it fires, so the Editor offers it the two verbs that write nothing: Stop this branch / Continue with the last value. See the Error Handling guide.

State on Reload

A boost does not survive a restart. On reload Out returns to the Baseline Value and Active to false, whatever was running before.


  1. Cancel check — if Cancel is true, any countdown is cancelled, Out returns to the Baseline Value, Active goes false, and Boost starts the path that carries them downstream. Nothing else is considered.

  2. Gate check — if the Gate is connected and closed, the path stops here.

  3. Already boosting? — with a countdown running, Ignore stops the path and reports Boost: already active; re-trigger ignored, while Extend cancels the countdown and continues to the next step.

  4. Start — Out is written with the Active Value, Active with true, and a countdown of Boost Duration (seconds) begins. Boost starts the path that carries them downstream.

  5. Revert — when the countdown ends, Out is written with the Baseline Value, Active with false, and the > output fires a new execution path.


Duration: 3600   Active Value: Integer = 22   Baseline Value: Integer = 18

MomentOutActive
before18false
triggered22true
+1 hour18false  (new path fires)

  • Heating boost — a button publishes to MQTT, an MQTT Trigger runs the Task, Boost raises the setpoint for an hour and then puts it back without anything else having to remember to.
  • Temporary override — hold a device in a manual mode for a bounded period, so a forgotten override cannot persist indefinitely.
  • Hold-and-release lighting — motion starts the boost, and Extend keeps the lights on while motion continues.

Boost raises no error of its own: every exit either starts a countdown, cancels one, or ends the arriving Path by design — a closed Gate, or a re-trigger the Ignore policy drops. The Node still carries an On Error verb, because a value that fails a port’s type mask fails the Node and is resolved by that verb, while an Input whose Validation rule is not satisfied stops the Node and consults no verb.

VerbWhat it does
Stop this branch (default)This Node and its dependents stop; Out and Active keep their values, and the Node’s last attempt reads as failed — the engine’s record of the Node, not a mark on a port.
Continue with the last valueNo countdown is started and no Path is fired; Out and Active keep their values, not stamped as new.

Boost’s Outputs belong to the Path it fires, so a failure on the arriving Path has nothing downstream to carry a value to. Continue with the fallback would write a value no firing produced and pulse the > output — telling a cross-path reader a boost had reverted when none had. Boost’s schema states the two verbs above, and the Editor offers only those.

Gate closure is not an error — a closed Gate stops the Path and consults no verb.


  • The duration and both values are fixed at configuration time; none can be driven from an input port.
  • A boost does not survive a restart. Where the boost drives external equipment, wire the > output so the baseline is republished on revert, and treat a restart as a revert.
  • One boost per Node. Independent boosts need independent Nodes.