Explore, debug, and monitor MQTT brokers (3.1.1 / 5.0) with a live inbox, topic tree, real-time dashboards, and automation rules — fully on-device.
Sia MQTT Client is a professional MQTT client for Android that lets you explore, debug, and monitor MQTT brokers and build real-time dashboards and automation — all on your device. It speaks MQTT 3.1.1 and 5.0 over TCP, TLS, WebSocket, and WebSocket Secure (WSS), with full QoS 0/1/2, retained messages, and Last Will and Testament. Built with Kotlin, Jetpack Compose, and Material 3, it works without a Sia Makerlab account and without any relay or middleman server.
On-device, direct connection. The app connects only to the MQTT brokers you enter, and only when you explicitly press connect. All data — connection profiles, subscriptions, received messages, dashboards, and automation rules — is stored locally in a Room database on your device. There is no Sia Makerlab API server, remote configuration server, or crash-reporting server: the app does not phone home, and includes no analytics or remote logging.
A full message workbench. A live inbox with topic filtering, pause (while still receiving), and direction/QoS/Retain/Duplicate indicators pairs with a payload viewer that switches between Text, JSON, Hex, and Base64 and detects binary and failed UTF-8 decodes. The publish composer covers topic, payload, QoS, retain, and the full set of MQTT 5 publish properties — User Properties, Content Type, Response Topic, Correlation Data, Message Expiry, Topic Alias, and more — with automatic draft saving, and you can export stored messages to CSV (binary payloads Base64-encoded).
Topics, dashboards, and automation. A hierarchical Topic Explorer aggregates traffic by segment with search, favorites, and a $SYS preset, per-topic counts and timing, Text/JSON diffs, and quick numeric history charts. A responsive dashboard offers nine widget types — Text Value, LED/Status, Gauge, Progress, Text Log, Button, Switch, Slider, and Line Chart — bound to data via JSONPath, and a Trigger → Conditions → Actions rule engine fires local notifications or MQTT publishes with built-in cooldown, debounce, rate limiting, and a side-effect-free dry-run mode. Multiple workspaces keep connections, subscriptions, dashboards, and rules separate, and everything can be exported to and imported from a .siamqtt ZIP, with secrets excluded by default.
Secure by default. Passwords and keys are encrypted with the Android Keystore (AES-256-GCM) in EncryptedSharedPreferences; the database keeps only a reference, never plaintext credentials, and secrets are excluded from backup (allowBackup=false). TLS with hostname verification is on by default and custom CA certificates can be imported; disabling verification or trusting a self-signed certificate is an explicit choice flagged with a risk badge in the UI. Sensitive values are redacted from logs, diagnostics, exception messages, and exports.
$SYS preset, diffs, and history charts.siamqtt) import/export, with secrets excluded by default