Icon for Eclipse DittoIcon for Mosquitto

Eclipse Ditto integrates with Mosquitto

Integrates withCurated

Overview

Eclipse Ditto integrates with MQTT brokers like Eclipse Mosquitto to enable bidirectional communication with IoT devices. Ditto's Connectivity service can subscribe to MQTT topics to receive telemetry and publish commands to control devices.

Integration Architecture

Device → Mosquitto → Ditto:

  1. Devices publish telemetry to MQTT topics on Mosquitto
  2. Ditto's Connectivity service subscribes to these topics
  3. Incoming messages are mapped to digital twin state updates

Application → Ditto → Mosquitto → Device:

  1. Applications modify desired state via Ditto's HTTP/WebSocket API
  2. Ditto publishes commands to MQTT topics
  3. Mosquitto routes commands to subscribed devices

Configuration

Configure an MQTT connection in Ditto with:

  • Broker URI (e.g., tcp://mosquitto:1883)
  • Source (for incoming telemetry): topic patterns to subscribe
  • Target (for outgoing commands): topic templates for publishing
  • Optional: payload mapping for custom message formats

Use Cases

  • Sensor Networks: Temperature/humidity sensors publish to Mosquitto; Ditto maintains twin state with last readings
  • Actuator Control: Applications update desired state in Ditto; commands flow through Mosquitto to actuators
  • Legacy Integration: Existing MQTT-based devices connect without protocol changes

Tradeoffs

  • Mosquitto alone is simpler for basic pub/sub without persistence or state management
  • Ditto + Mosquitto adds digital twin capabilities but requires managing both services
  • For large-scale deployments, consider Eclipse Hono as the MQTT front-end instead of direct Mosquitto connection