Sia MQTT Client

Sia MQTT Client Coming Soon

Explore, debug, and monitor MQTT brokers from Android — live inbox, topic tree, dashboards, and automation.

About

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.

Features

  • MQTT 3.1.1 and 5.0 over TCP, TLS, WebSocket, and WebSocket Secure (WSS)
  • QoS 0/1/2, retained messages, Last Will and Testament, and the full set of MQTT 5 properties
  • Automatic reconnect with exponential backoff and jitter, restoring subscriptions on network recovery
  • Live inbox with topic filtering, pause, and direction/QoS/Retain/Duplicate indicators
  • Payload viewer with Text / JSON / Hex / Base64 views and binary detection
  • Publish composer with MQTT 5 publish properties and automatic draft saving; CSV export
  • Hierarchical Topic Explorer with search, favorites, a $SYS preset, diffs, and history charts
  • Responsive dashboard with nine widget types bound to data via JSONPath
  • Automation rule engine (Trigger → Conditions → Actions) with cooldown, debounce, rate limiting, and dry-run
  • Multiple workspaces and ZIP (.siamqtt) import/export, with secrets excluded by default
  • Optional foreground-service monitor mode for background connections, with a persistent notification
  • Credentials encrypted with the Android Keystore (AES-256-GCM); TLS with hostname verification on by default
  • Fully on-device — no accounts, no ads, no in-app purchases, no analytics, and no remote logging