Skip to content

Configuration

mchristegh edited this page Jul 10, 2026 · 2 revisions

Every field in the node's edit dialog, in the order it appears. Defaults at a glance:

Field Default
Count Limit 3
Window / Units 15 Minutes
Window Mode Fixed
Status Reporting Never
Reporting format HH:MM:SS
Resume on deploy/restart Off
Cooldown Duration / Units 0 Seconds
Heartbeat Interval / Units 0 Seconds
Name (empty)

Count Limit

The number of counted messages required to fire the Trigger. Must be a whole number of at least 1.

  • A limit of 1 makes every accepted message trigger immediately — occasionally useful in combination with Cooldown as a pure rate limiter.
  • Can be overridden at runtime with the setcountlimit command; the override applies to the current cycle too, and lowering the limit to at or below the live count fires the Trigger immediately. See Input Messages.

Window / Units

The time window within which the count must be reached. Configurable in milliseconds, seconds, minutes, or hours. The value can also be an environment variable (the field is a typed input), which is useful for parameterized subflows.

  • What the window means depends entirely on the Window Mode below.
  • Can be overridden at runtime with the setwindow command, which re-evaluates a live cycle immediately. See Input Messages.
  • Milliseconds are supported but, as with the sibling timer-events node, should not be relied on for anything timing-critical.

Window Mode

The node's most consequential setting. Fixed anchors one shared clock to the first message of a cycle; Sliding lets each message age out individually, so the count decays naturally as messages fall out of the window.

This choice changes what the window means, what the status label shows, when windowexpired fires, and how Persistence restores. It has a dedicated page: Window Modes.

Status Reporting

Controls only the colored status text shown under the node on the canvas — it never produces an output message (that role belongs to the Query output, manually or via Heartbeat).

  • Never (default) — the label still updates on every event, it just doesn't count down in between.
  • Every Second — the countdown in the label decrements every second.
  • Every Minute, Last minute by seconds — decrements by the minute until one minute remains, then by the second. The same adaptive cadence as timer-events.

What the label shows in each state — including the Counting: 2/3 count, the mode-dependent countdown, and the brief Triggered flash — is described on States.

Reporting format

The format of the countdown in the status label: HH:MM:SS (default), or the total number of seconds, minutes, or hours. Also used for the cooldown countdown.

Resume on deploy/restart

Off by default. When enabled, the node saves its state to disk on every meaningful change and restores it when Node-RED restarts or the flow is redeployed — a counting cycle resumes at the correct (possibly decayed) count, a cooldown resumes with the correct remaining time, and context like the disabled flag and runtime overrides survives. Full behavior, including the guarantees about what a restore will never do, is on Persistence.

Cooldown Duration / Units

0 (default) disables cooldown — which is simple-reset behavior: the node is immediately ready for a new cycle after each Trigger. A non-zero duration blocks counting for that period after each Trigger, preventing rapid re-triggering from a noisy source. Dedicated page: Cooldown.

Heartbeat Interval / Units

0 (default) disables. A non-zero interval makes the node emit a full status snapshot on output 2 (Query) at a fixed cadence while a cycle is active — useful for monitoring the decaying count in sliding mode, or for watchdogging long windows. Dedicated page: Heartbeat.

Name

Standard Node-RED node name. When empty, the node labels itself from its configuration, e.g. 3 in 15 Minute Threshold.

What is deliberately not configurable

  • Which messages count — the node counts every message whose payload is not a recognized command (see Input Messages). It never inspects payloads beyond command recognition. Filtering belongs upstream, in a switch or threshold node.
  • Per-output event filtering — a downstream switch node on msg.timerEvent does this more transparently than a hidden config option would.

Clone this wiki locally