High-performance export to generic MQTT brokers with QoS support, TLS encryption, and reactive buffering. Ideal for integrating with third-party brokers, cloud bridges, or local subscribers.
open_in_new
MQTT 5.0 Specification
OASIS MQTT standard
Configuration Parameters
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| BrokerHost | Yes | string | localhost | The hostname or IP address of the MQTT broker. |
| BrokerPort | No | int | 1883 | The MQTT broker port (1883 default). |
| Username | No | string | (empty) | Authentication username. |
| Password | No | string | (empty) | Authentication password. |
| Topic | No | string | proxus_device_data | Target MQTT topic. |
| QualityOfServiceLevel | No | string | AtLeastOnce | QoS level: AtMostOnce, AtLeastOnce, or ExactlyOnce. |
| UseTls | No | bool | false | Enable TLS encryption. |
| TlsVersion | No | string | Tls12 | TLS protocol version (if TLS is enabled). |
| TlsClientCertificate | No | string | (empty) | Path to client certificate file (PFX/Cert). |
| TlsClientCertificatePassword | No | string | (empty) | Password for the client certificate. |
| MaxReconnectAttempts | No | int | 10 | Maximum reconnect attempts before giving up. |
| InitialReconnectDelayMs | No | int | 1000 | Initial reconnect delay in milliseconds. |
| MaxReconnectDelayMs | No | int | 30000 | Max reconnect delay in milliseconds. |
| MaxBatchSize | No | int | 50 | Max messages to group in one reactive batch. |
| MessageBatchTimeoutMs | No | int | 500 | Max time to wait before flushing a partial batch. |
| HealthCheckIntervalSec | No | int | 10 | Health check interval in seconds. |
| ConnectionTimeoutSec | No | int | 5 | Connection timeout in seconds. |
Internal Behavior
Resilience (Reactive Pipeline)
- In-Memory Buffering: Uses a Reactive (R3) pipeline to buffer messages before sending.
- Connection Management: Maintains a persistent connection with automatic reconnection.
- Health Checks: Runs a periodic health check (default 10s) to verify connection status.
Performance Features
- Buffered Serialization: Uses
System.Text.Jsonwith a reusable buffer to minimize allocations. - Batching: Messages are processed in micro-batches and published sequentially.