Skip to main content
An operator control panel with Start and Stop Conveyor buttons and a speed setpoint field, each wired to an event handler that publishes commands

A control panel in action: each control fires an ON event that publishes back to the broker

Events make a panel interactive: a click publishes a command, a field change writes a setpoint. The pattern is always ON <EVENT> DO <ACTION>.
Like a light switch wired to more than a light. Flipping it (the event) can turn on the lamp, ring a bell, and log the time (the actions) — the switch doesn’t care what’s wired to it.

First the event triggers, then each action you can wire to them. The broker parses this grammar; which triggers the HUB actually dispatches, and any write-back caveats, are documented with the input components — that catalog ships with the HUB, not the broker.

Event triggers

Actions

Publish to a topic

The workhorse: send a command or value to any MQTT topic.
Literal payloads on buttons work out of the box. On text-field and number-field, use WITH VALUE to publish what the operator typed — see the Input components page for full write-back examples. Jump to another panel by name:
Or return to the previous panel:
See the Navigation section in Defining a Panel for a complete overview-and-detail example with screenshots.

Common mistakes

Input components don’t publish by themselves — the ON <EVENT> DO handler does. A button without ON CLICK DO PUBLISH ... is a label in practice.
PUBLISH writes to the broker; the panel only reflects it if some component binds to that topic. Check the bound topic and the published topic match (command vs. feedback topics are often intentionally different).

Next Steps

Input & control components

The controls that fire these events, with full write-back examples.

Common patterns

Complete panels that put events and actions to work.
Last modified on August 28, 2026