-
Notifications
You must be signed in to change notification settings - Fork 3
RaftMQTTManagerSysMod
Rob Dobson edited this page May 3, 2026
·
1 revision
Built-in SysMod that connects to an MQTT broker and exposes per-topic Comms Channels. Inbound MQTT messages on subscribed topics enter the channel system as if they had arrived over BLE or HTTP; outbound publishes are emitted on the corresponding topic.
- Single-connection MQTT client (
RaftMQTTClient) with auto-reconnect. - Per-topic channel registration: each entry in
topicsbecomes one channel, named after the topic. - Bridge from MQTT subscribe → comms channel inbound, and channel outbound → MQTT publish.
| Top-level key | Default | Meaning |
|---|---|---|
enable |
false |
Master switch |
brokerHostname |
"" |
MQTT broker hostname |
brokerPort |
1883 |
Broker port |
clientID |
system unique string | MQTT client identifier |
topics |
[] |
Per-topic configuration array |
| Topic key | Default | Meaning |
|---|---|---|
name |
topic<n> |
MQTT topic |
inbound |
true |
If true, subscribe; messages enter the comms channel as inbound. If false, the topic is publish-only. |
protocol |
impl-defined | Codec to attach (RICJSON is typical for MQTT) |
None — MQTTManager is purely a transport.
- Comms Channels
- Network Manager SysMod — required for an active network connection
Getting Started
- Quick Start
- Architecture at a Glance
- Writing Your First SysMod
- Adding a Comms Channel
- Adding an I2C Device Type
- PlatformIO / Arduino
Scaffolding & Building
- Raft CLI
- SysTypes
- Top-Level SysType
- Build Process
- WebUI Build Pipeline
- File System
- Partitions & Flash
- Local Dev Libraries
- Library Developer Guide
Architecture
Built-in SysMods
- NetworkManager
- BLEManager
- WebServer
- MQTTManager
- SerialConsole
- CommandSerial
- CommandSocket
- CommandFile
- FileManager
- LogManager
- ESPOTAUpdate
- StatePublisher
- Remote Logging
- Data Source Registration
Comms & Protocols
- Stack Overview
- Comms Channels
- ProtocolExchange
- RICREST Protocol
- Real-Time Streams
- Adding REST Endpoints
- Built-in REST Endpoints
- File Download (OKTO)
- OTA Update Flow
Devices & Buses
- DeviceManager
- Device Manager REST API
- Device Factory & Classes
- Device Type Records
- Adding an I2C Device Type
- Device Data Publishing
- Data Logger
- I2C Bus
- I2C Device Scanning
- I2C ID & Polling
- MotorControl Overview
- MotorControl Config
- MotorControl Commands
Helpers
Reference
{ "name": "MQTTManager", "enable": 1, "brokerHostname": "broker.example.com", "brokerPort": 1883, "clientID": "", "topics": [ { "name": "devices/in", "inbound": true, "protocol": "RICJSON" }, { "name": "devices/out", "inbound": false, "protocol": "RICJSON" } ] }