Documentation
Complete guide to setting up and using MQTT Dashboard Client
1. Broker Connection
An MQTT broker is a server through which devices exchange messages. To get started, add at least one broker.
- Open the Brokers tab (bottom menu)
- Tap the + button in the top right corner
- Fill in the required fields:
- Name — any name (e.g., "Home Server")
- URL — broker IP address or domain
- Port — port (1883 for TCP, 8883 for SSL)
- Protocol — select tcp://, ssl://, ws:// or wss://
- Optionally enable Authentication and enter username/password
- Configure additional parameters (Client ID, Clean Session, Keep Alive Interval, Auto Connect)
- Tap Done
Tip: Enable Auto Connect so the broker connects automatically when the app starts.
2. Broker Endpoints
A broker can have several connection addresses (endpoints). This is useful when the broker is reachable via multiple addresses — for example, a local IP at home and a cloud domain over the internet. If the current address is unavailable, the app automatically switches to the next one.
The first address is set when you create a broker. To add more, open the broker editor and tap Add endpoint.
- Host — IP address or domain
- Protocol — tcp://, ssl://, ws:// or wss://
- Port — connection port
- SSL — for ssl:///wss://: self-signed certificate or a custom CA certificate file
Additional settings:
- Priority — High / Medium / Low. Higher priority addresses are tried first.
- Network Scope — for which networks the address is suitable: Any / Wi-Fi only / Cellular only.
- Enabled — disabled addresses are not used. Toggle it, or delete the address, from the menu on the endpoint screen.
Tip: The first endpoint is free. Adding more endpoints requires a Premium subscription.
- When connecting, the app tries enabled addresses in priority order (High → Medium → Low)
- If an address fails, it automatically switches to the next one
- After all addresses fail, the pause between attempts grows (2 s → 4 s → … → 60 s)
- When the network changes (Wi-Fi ↔ cellular), the selection restarts from the highest-priority address
- The broker card shows the active address and per-address errors
- At least one address must be enabled
- Endpoint addresses are included when you back up and restore your data
5. Data Processing
The app supports multiple ways to extract data from MQTT payloads.
Extracts a value from a JSON message.
Example:
Payload: {"temperature": 25.5, "humidity": 60}
JsonPath: $.temperature → 25.5
Supports dot notation ($.object.array[0].value) and bracket notation ($[\'store\'][\'book\'][0][\'title\']).
Extracts data using regular expressions. Works as a second stage after JsonPath.
Three-step pipeline:
- JsonPath → extract field from JSON
- Regex (primary) → extract data from string
- Regex (secondary) → post-process the result
Example:
Payload: {"data": "temp: 25.5C hum: 60%"}
1. JsonPath $.data → "temp: 25.5C hum: 60%"
2. Regex temp:\s*([\d.]+)C → 25.5
Regex Time — separate expression for extracting a timestamp from the payload.
Extracts a timestamp from a separate JSON field.
- Specify a JsonPath to the time field
- Time zone correction — slider from -12 to +12
- Supports various date/time formats
6. Prefix and Suffix
Add text before and after values for formatting.
Format data before sending to the broker.
Example: slider = 1
Prefix: {"command": "
Suffix: "}
Result: {"command": "1"}
Useful for building JSON commands.
Format received data before displaying on the widget.
Example: sensor = 42
Suffix: °C
Result: 42°C
Convenient for adding measurement units.
7. Widget Groups
Groups help organize widgets by meaning — for example, "Sensors", "Light Control", "Temperature".
- Open the Groups tab (bottom menu) and tap + in the top right corner — or tap + on the main screen and choose Create Group
- Enter the group Name and tap Done
- To move a widget to another group, open the widget for editing and pick the desired Widget Group
On the main screen, groups are shown as section headers: tapping a header collapses or expands the group. On the Groups tab the list can be sorted manually, by name, or by widget count.
In Settings → Interface → "Groups on the Home screen" you can switch to the "Chips" view: one group at a time, switched via chips at the top (including "All"). The "List" view keeps all groups in a row.
8. Scripts and Automation PREMIUM
Scripts allow you to automate actions: send messages based on conditions, execute scenarios on app start, and more.
- Open the Scripts tab (bottom menu)
- Tap + in the top right corner and choose Create Script
- Configure the triggers:
- Widget — fires on the value of a selected widget parameter: equals, not equals, greater than, less than. The topic comes from that parameter's own settings
- App Start — runs when the application starts or returns to the screen
- Logical Block — combines several conditions
- A Logical Block supports the operators AND, OR, NOT ANY and NOT ALL; blocks can be nested
- Configure actions:
- Widget — Send Message through a widget parameter, or Blink Widget in a chosen color
- Push notification — show a notification with your own text
- Play sound PREMIUM — a system sound or your own audio file
- Enable the script — toggle switch on the script card. Disabled scripts won't execute but remain editable
Example: "If temperature > 30°C AND humidity < 20% → send command to turn on humidifier and show notification"
A disabled script can be opened and edited — changes are saved and take effect when the script is re-enabled.
A value-based condition has two extra fields:
- Holds for at least — the script fires only if the condition stays true for that long (up to 24 hours). Empty or 0 — fires immediately
- Reset at — the threshold after which the condition may fire again: for "greater than" it fires again only when the value drops below the threshold, for "less than" — when it rises above. Empty — fires again as soon as the condition stops being true
The settings are visible on the condition card itself: "holds for…", "reset at…".
Both fields are Premium. Without a subscription the condition fires at once and again as soon as it stops being true; if the subscription ends during the countdown, the script fires immediately.
9. Scenes
A scene is a switch that sends several messages to different devices with a single tap. A scene has two states — On and Off — and each one has its own list of messages. Scenes are started manually; they never fire on a condition — use scripts for that.
- Open the Scripts tab (bottom menu)
- Tap + in the top right corner and choose Create Scene
- Enter the scene Name and the Widget Group it belongs to
- For the "On" state pick an icon and a color, then add actions under Messages for "On"
- Configure the "Off" state the same way
- Tap Done
The message list for the "On" state is required — the scene cannot be saved without it. The "Off" list may be left empty.
A scene does not work with raw topics — it works with widgets you have already configured, so the topic, QoS and prefix/suffix come from the widget parameter. You therefore need at least one widget before creating a scene.
- Tap + in the message list you want
- Select the Widget Group
- Select the Widget
- Select the widget Parameter
- Enter the Send Value — for switches, dropdown lists, buttons and regulators, suggestions from the parameter settings are offered
- Tap Done
A finished scene appears on the Scripts tab as a switch. Turning it on sends every message from the "On" list; turning it off sends the "Off" list. The icon and color change with the state.
Example: a "Leave Home" scene — the "Off" list turns off the lights, closes the blinds and switches off the air conditioner; the "On" list sends the opposite commands for coming back home.
10. SSL/TLS Certificates PREMIUM
Connect to brokers with encryption and custom certificates.
- When creating a broker, select ssl:// or wss:// protocol
- Enable Self-signed Certificate
- The app will trust any certificate from this broker
Suitable for local servers (Raspberry Pi, home server).
- Select ssl:// or wss:// protocol
- The Self-signed option must be disabled
- Tap Select certificate file
- Select a .pem file via file manager
For corporate and cloud MQTT brokers.
11. Backup and Restore
Save and restore your complete app configuration — all widgets, brokers, scripts, scenes, and settings.
- Settings → Configuration Backup
- Optionally enable data logs (sensor value history)
- Tap Create and choose a save location
Widgets
- Type, icon, color, style
- State lists of switches and dropdown lists (label, MQTT value, icon, color)
- Label and displayed data
- Position on the main screen (separate for portrait and landscape)
- Subscription topics, JsonPath, Regex, prefix/suffix
- Outgoing data settings (topic, QoS, format)
Brokers
- Connection address and port
- Username and password
- SSL/TLS settings and certificates
- Additional endpoints with their priority and network requirement
Widget Groups
- Name, group order and collapsed/expanded state
Scripts and Automation
- All scripts with names and state (enabled/disabled)
- Triggers — by widget parameter value and on app start
- Logical blocks (AND / OR / NOT ANY / NOT ALL)
- Actions — send message, push notification, sound, blink widget
Scenes
- Scenes with icons and colors for the "On" and "Off" states
- The message lists of both states (widget parameter + value to send)
App Settings
- All general preferences, favorite colors, widget order
- Pending messages
- Sensor data history (optional)
- Settings → Configuration Recovery
- Select the backup file
- After restoration the app will restart. Client IDs will change to avoid connection conflicts
Restoring replaces all current app data. We recommend creating a fresh backup before restoring.
12. Config Sharing PREMIUM
Transfer your app configuration between devices over an MQTT broker: widgets, groups, scenes and scripts. No need to set up every device manually.
- Settings → Share configurations over MQTT → Export configuration
- Optionally enter a configuration name
- Choose what to include: Scenes, Scripts and Broker credentials (the latter requires an encryption password)
- Optionally set an encryption password and the config storage period (1, 3, 7, 14 or 30 days; default 7)
- Select a broker and tap Publish
The configuration is published to the topic {prefix}/{id} and stored on the broker. Without a password, data is only compressed (not encrypted), and broker credentials are not included.
Revoke: on a configuration you published yourself, the Decline button becomes Revoke — it clears the configuration from the broker so other devices no longer see it.
- Settings → Share configurations over MQTT
- Enable Receive configurations — the app subscribes to {prefix}/+ (default config/share/+)
- Received configurations appear as cards with View details (what will change), Apply and Decline
Import modes:
- Merge — update existing items and add new ones
- Replace all — remove current widgets, groups, scenes and scripts and import new ones. Requires a second confirmation with a checkbox.
If a configuration is password-protected, you will be asked for the password during import. Brokers with authorization will ask for login and password. After a successful decryption, you can save the password so it is applied automatically to future configurations.
The default topic prefix is config/share. You can change it — for example, to separate configurations between device groups.
13. Interface Settings
Settings → Interface: how the app looks, plus everything related to the Home screen.
- Theme — System, Light or Dark. By default the app follows the device theme.
- Language — the language of the app interface. System uses the device language.
Settings → Interface → Home screen → Lock Home screen. Off by default.
With the lock on, a long press on a widget does nothing: no context menu, no haptic feedback, no dragging. The layout cannot be broken by accident — useful on a shared or wall-mounted tablet.
- Taps keep working as usual: switches, buttons, regulators and dropdown lists still control your devices
- The lock also applies inside a widget group
- Editing, cloning and deleting remain available the usual way: tap the widget → widget screen → the action you need
The lock is not password-protected and is released with the same toggle — it guards against an accidental gesture, it is not parental control.
Settings → Interface → Home screen. Seven sizes, each configured separately:
- Widget Size — the size of the tile on the Home screen
- Value (Text) — the font of the parameter value
- Widget Name — the font of the widget label
- Last Message Time — the font of the timestamp
- Parameter Icon — the icon size
- Value — only for the Binary and Color types
- Button — only for the Button type
Each item opens a screen with a slider and a preview of the Home screen, so changes are visible right away on your own widgets. Auto means the app picks the size itself; a value you set manually is shown in dp next to the setting name.
The preview on those screens does not react to a long press and does not show the broker reconnect bar — it is there to judge sizes only.
14. Homes PREMIUM
Apartment, country house and office live apart: each home has its own groups, widgets, scenes and scripts, while brokers are shared by all homes.
- Settings → the Current home card → the Homes screen opens
- Tap New home and enter a name
- Optionally enable Add standard rooms — a living room, kitchen, bedroom and other groups are created at once
- Tap a home in the list — it becomes current and the Home screen rebuilds
- Rename and Reorder — from the home's menu in the list
- Deleting a home removes its groups, widgets, scenes and scripts; home screen widgets based on them stop working. Brokers stay — they are shared
- Scripts and notifications work in every home, not only in the open one
- Homes take part in config sharing
One home is free, additional homes require Premium.
15. Phone as a Device PREMIUM
The app publishes your phone's own data to your broker as a separate device: battery, network, screen — like any other sensor. Other devices with the app and your automations will see it.
- Settings → Phone as a Device
- Turn on Publish phone data
- Under Where to send pick a broker — data goes only to that broker
- Optionally set a Device name — the model name is used by default
- Enable the Sensors you need: battery (level, charging, charger type, temperature), screen, power saving, sound (ringer mode and Do Not Disturb), network, storage, next alarm, app version
- For Location, choose how often to send a point and grant location access "all the time" — otherwise no points are sent in the background
- Enable Announce device to make the phone appear in the app's device discovery by itself
The topic the data is published to is shown on the screen — copy it for your automations.
- With background work on — immediately on every change. Background work keeps the phone awake and drains the battery noticeably
- Without it — about every 15 minutes, and less often while the phone is asleep
- Location points are sent at the chosen interval; with background work a point also goes out early when the phone has moved more than 50 m
- When publishing is turned off, the app clears its messages from the broker
Nothing is sent by default: every sensor is switched on separately. Battery is free, other sensors and location require Premium. If the broker is deleted, the app asks where to publish next or turns publishing off.
16. History Export PREMIUM
The value and message history is saved to a CSV or JSON file — for spreadsheets and your own scripts.
- Open Export history: in the terminal menu on the widget or parameter screen, or in the widget screen menu
- Choose what to export:
- Messages under the terminal filter — the broker, topics and search come from the terminal itself
- Widget parameters — pick one or more parameters
- Set the period — from 5 minutes to 30 days, or all time
- Pick the format: CSV (comma-separated) or JSON
- Tap Export
The export runs in the background: a banner shows the progress and can be minimized ("Minimize"), stopped ("Stop"), or the file opened when done ("Open").
Export is Premium ("Export with Premium"). If you stop it or it is interrupted, the unfinished file is deleted. Values are written as strings, exactly as the device sent them.
17. Charts
Numeric parameters and regulators show the value history as a chart on the widget screen and on the parameter screen. The interval selector is shared; every chart has its own time axis — from the first point to the current moment.
- Pinch a chart to zoom in — down to 1/60 of the selected interval
- A zoomed chart scrolls through time
- Changing the interval resets the zoom
- Works on a merged chart of several values as well
In the numeric or regulator parameter editor, the chart settings pick the type (line, candles, area), colors and line width; they can be saved as the defaults or applied to all charts. A candle shows the first, last, lowest and highest value over 1/60 of the period.