Dashboards & widgets
A dashboard is the control panel you actually touch — a grid of widgets, each bound to an MQTT topic on one of your devices. Widgets publish when you tap them and subscribe to show live values back.
In IoT Parrot a dashboard is a first-class thing, not a property of a device. You build it once in the web app, and it works everywhere: the mobile companion app renders the same dashboard and lets you control its widgets on the go.
Building and editing dashboards happens in the web app, using the drag-and-drop builder. On mobile you can view your dashboards and control their widgets — but the builder is web-only.
Dashboard anatomy
Every dashboard is a small set of properties plus a list of widgets:
- name
- A label for the dashboard (e.g. "Greenhouse" or "Garage").
- mode
singleormulti. Single-mode dashboards point every widget at one device; multi-mode dashboards can mix widgets from several devices. See below.- orientation
- The default layout orientation the dashboard is designed for.
- primaryDeviceId
- The dashboard's main device — in single mode, the device all widgets are bound to.
- widgets
- The ordered list of widgets placed on the grid. Each widget carries its own
deviceIdand its own topic/payload configuration.
Because each widget resolves its broker connection through its device's broker, a single dashboard can talk to several brokers at once — the renderer opens one connection per broker it needs and reuses it across widgets.
Single vs. multi mode
Single mode is the default and the simplest to reason about: you pick one device, and every widget you add controls or reads a topic on that device.
Multi mode (cross-device) Maker+ lets one dashboard mix widgets that reference different devices — for example a toggle for your garage relay next to a gauge from your greenhouse sensor, all on one screen. Each widget carries its own device, so the renderer may hold several broker connections open at once. Widgets are color-coded by their device's color (set on the device) so you can tell at a glance which hardware each control belongs to.
The Multi option is disabled below the Maker tier. Single-mode dashboards are available on every tier, including Free. See Account & billing for how the tiers compare.
The builder
The dashboard builder is a drag-and-drop editor in the web app:
- A left sidebar lists the widget templates (toggle, slider, gauge, button, and the rest).
- Drag a template onto the phone-shaped grid canvas to place it.
- Tap a placed widget to open its config: its topic, payloads, labels, min/max, and so on.
- Rearrange, resize where supported, and save — the dashboard is instantly available on web and mobile.
Add your devices and the topics they use first. Then, when you drop a widget, you just pick a device and topic from what's already there instead of typing topics by hand.
Widget types
There are seven widget types. Each one is bound to a topic and either publishes to it (controls), subscribes to it (displays), or both. Every widget's key fields are listed below.
Some controls double up: a map is the Get Data widget in latlon format, a chart is the History Chart widget, and a text label is a Text Input or a Get Data display. There's no standalone widget beyond the seven here.
Toggle Switch toggle
An on/off switch. Flipping it publishes one of two payloads to the topic — perfect for relays, lights, and pumps.
- topic
- The MQTT topic the toggle publishes to (e.g.
home/livingroom/light). - payloadOn
- What to publish when switched on. Default
ON. - payloadOff
- What to publish when switched off. Default
OFF. - onLabel
- Text shown for the on state. Default
On. - offLabel
- Text shown for the off state. Default
Off.
Text Input input
A text field with a send action. Whatever you type is published to the topic — handy for setpoints, messages, or arbitrary commands.
- topic
- The topic your typed text is published to.
- numberOnly
- When on, restricts the field to numeric input (e.g. a temperature setpoint like
72).
Slider slider
A draggable slider that publishes a numeric value as you move it — brightness, motor speed, a target temperature.
- topic
- The topic the numeric value is published to.
- min
- Minimum value. Default
0. - max
- Maximum value. Default
100. - step
- Increment between stops. Default
1.0. - showLabel
- Whether to display the current value alongside the slider.
Button button
A momentary, one-shot button: tapping it publishes a single fixed payload. Good for "press to open," "reboot," or "run once" actions.
- topic
- The topic the button publishes to on tap.
- payload
- The fixed payload sent on each press. Default
PRESS. - color
- The button's accent color.
- icon
- An icon shown on the button.
Gauge gauge
A dial that visualizes a numeric value — temperature, humidity, pressure. The gauge can either listen to a live value or request one on demand.
- topic
- The topic the gauge reads its value from.
- min
- Bottom of the dial's range.
- max
- Top of the dial's range.
- gradientType
- Dial coloring:
GreenToRedorRedToGreen. - units
- The display unit shown on the dial (e.g.
°F,%,hPa).
The gauge has two modes:
- Stream mode — subscribes to the topic and updates live as your device publishes readings.
- Request mode — publishes a
requestPayloadto prompt the device, then listens for the reply on aresponseTopic. Use this when your firmware only reports a value when asked.
Get Data requestResponse
A flexible display widget for arbitrary device data. It can passively listen for data, or show a GET button that requests it, and then render the reply as raw text, parsed JSON, CSV, or a map.
- requestPayload
- Leave empty and the widget is a passive listener; set a value and it shows a GET button that publishes this payload to request data.
- responseTopic
- The topic the widget listens on for the device's reply.
- fetchOnLoad
- When on, the widget requests data automatically as soon as the dashboard opens.
- responseFormat
- How to parse and display the reply:
raw,json,csv, orlatlon. - fieldLabels
- Maps JSON keys or CSV columns to friendly labels for display.
Set responseFormat to latlon and publish a lat,lon pair (or {"lat":..,"lon":..}) from a tracker. The display has three layers:
- Coordinates & link-out — the raw latitude/longitude plus buttons to open the point in Apple or Google Maps. Free on every tier.
- Address readout Hobby+ — resolves the coordinates to a place name at a detail level you choose (full address, street, neighborhood, city, or region/country).
- Embedded map Maker+ — an interactive map with a live marker at the current position and a default zoom you set, with the address readout on top.
History Chart history Pro
Plots a Data Stream's stored samples over time. Unlike a gauge, this reads recorded history from the server, not live MQTT — so you can scrub back through hours, days, or weeks of readings.
- streamId
- The data stream whose stored samples this chart plots.
- defaultWindow
- The time range shown by default:
hour,day,week, ormonth. - series
- Up to 4 data streams overlaid on one shared time axis, each with its own color and a left- or right-hand Y-axis.
The History Chart plots what a Data Stream has already logged, so set up the stream before adding the widget. See Data streams Pro for how logging and retention work.
Dashboard limits & sharing
The number of dashboards you can keep is tier-capped:
| Tier | Dashboards |
|---|---|
| Free | 3 |
| Hobby | 10 |
| Maker | 75 |
| Pro | 150 |
You can also share a dashboard with someone else. Recipients can view it and interact with its widgets, but only see the devices and brokers those widgets reference — not the rest of your setup. See Sharing Hobby+ for the full flow.