Edit this page

The following pages and posts are tagged with

TitleTypeExcerpt
Connectivity service Page The Connectivity service establishes and manages client-side connections to external message brokers, translating between Ditto Protocol messages and external transport protocols. TL;DR: The Connectivity service persists connection configurations, manages connections to external endpoints (AMQP, MQTT, Kafka, HTTP), translates messages to/from Ditto Protocol, and supports custom payload mapping....
Connections Overview Page Connections let you integrate Ditto with external messaging systems so that devices can exchange data with their digital twins through protocols like AMQP, MQTT, HTTP, and Kafka. TL;DR: A connection is a managed communication channel between Ditto and an external system. You configure sources to consume inbound messages...
Placeholders Page Placeholders Placeholders may be used at several places in Ditto where something should be resolved by a variable. The general syntax of a placeholder is {{ prefix:name }}. Which placeholder values are available depends on the context where the placeholder is used. Entity Placeholder ...
Header Mapping Page Header mapping lets you translate between external message headers and Ditto protocol headers, enabling correlation IDs, content types, and custom metadata to flow through Ditto. TL;DR: Define a headerMapping object on any source or target to map external headers to/from Ditto protocol headers using placeholders. <h2...
HMAC Signing Page You use HMAC signing to authenticate Ditto at external services like AWS and Azure without transmitting credentials directly. TL;DR: Set credentials.type to "hmac" and specify an algorithm (aws4-hmac-sha256, az-monitor-2016-04-01, or az-sasl) with the required parameters. Supported...
Manage connections via Piggyback commands Page You manage connections primarily through the HTTP API. Although not recommended, you can also manage connections via DevOps Piggyback commands. All connection related piggyback commands use the following HTTP endpoint: POST /devops/piggyback/connectivity Authorization Please refer to authorization when managing connections via...
Managing Connections Page You create, modify, retrieve, and delete connections using the Ditto HTTP API or DevOps piggyback commands. TL;DR: Use the HTTP API at /api/2/connections to manage connections. Authenticate as the devops user. You can also test connections with a dry run before persisting them. <h2...
Payload Mapping Page You use payload mapping to transform messages between your device’s native format and Ditto Protocol JSON. TL;DR: Payload mapping transforms arbitrary payloads consumed via connections to Ditto Protocol messages and vice versa. Use built-in mappers or write custom JavaScript to handle any format. Overview Devices...
Connectivity overview Page Ditto’s Connectivity service lets you integrate with external messaging systems and backends using protocols like AMQP, MQTT, HTTP, and Kafka. For the connection data model and core concepts, see Connections. This section covers the operational aspects of connectivity: Manage Connections — Create, modify, retrieve, and delete connections...
AMQP 0.9.1 protocol binding Page You use the AMQP 0.9.1 binding to connect Ditto with message brokers like RabbitMQ for consuming and publishing messages. TL;DR: Configure an AMQP 0.9.1 connection with connectionType: "amqp-091". Source addresses are queue names, and target addresses use the format exchange_name/routing_key. Overview The AMQP...
AMQP 1.0 protocol binding Page You use the AMQP 1.0 binding to connect Ditto with AMQP 1.0 endpoints such as Eclipse Hono or Azure Service Bus. TL;DR: Configure an AMQP 1.0 connection with connectionType: "amqp-10". Source addresses are AMQP link names, and target addresses can be queues (queue://) or...
Eclipse Hono binding Page You use the Eclipse Hono binding to integrate Ditto with Eclipse Hono without manually configuring Kafka topics, header mappings, or SASL settings. TL;DR: Configure a Hono connection with connectionType: "hono". Source addresses use aliases (event, telemetry, command_response) that resolve to...
HTTP 1.1 protocol binding Page You use the HTTP 1.1 binding to push data from Ditto to external HTTP endpoints using GET, POST, PUT, or PATCH requests. TL;DR: Configure an HTTP connection with connectionType: "http-push". Target addresses use the format VERB:/path. HTTP connections are outbound-only – they do not...
Apache Kafka 2.x protocol binding Page You use the Kafka 2.x binding to consume messages from and publish messages to Apache Kafka brokers. TL;DR: Configure a Kafka connection with connectionType: "kafka". You must set bootstrapServers in specificConfig. Source addresses are Kafka topics, and target addresses support <code class="language-plaintext...
MQTT 3.1.1 protocol binding Page You use the MQTT 3.1.1 binding to connect Ditto with MQTT brokers for lightweight, publish-subscribe messaging. TL;DR: Configure an MQTT 3.1.1 connection with connectionType: "mqtt". Source addresses are MQTT topics (wildcards + and # allowed). Set the qos field on...
MQTT 5 protocol binding Page You use the MQTT 5 binding to connect Ditto with MQTT 5 brokers, gaining access to user-defined properties and enhanced message metadata. TL;DR: Configure an MQTT 5 connection with connectionType: "mqtt-5". Source addresses are MQTT topics (wildcards + and # allowed). MQTT...
Response diversion Page Response diversion Response diversion is a powerful feature in Ditto’s connectivity service that allows responses from one connection to be diverted (redirected) to another connection instead of being sent to the originally configured reply target. This enables sophisticated multi-protocol workflows. Overview When a connection source receives a command,...
SSH Tunneling Page You use SSH tunneling to reach endpoints that are not directly accessible, by routing the connection through an SSH server. TL;DR: Add an sshTunnel section to your connection configuration with the SSH server URI and credentials. Ditto establishes local port forwarding and connects to the target...
TLS Certificates Page You use TLS certificates to secure connections between Ditto and external message brokers, verifying server identity and optionally authenticating Ditto as a client. TL;DR: Set validateCertificates: true and provide a ca certificate to verify server identity. Add credentials with type <code class="language-plaintext...
Release notes 0.3.0-M1 Page Version 0.3.0-M1 of Eclipse Ditto, released on 26.04.2018
Response diversion - Multi-protocol workflows made easy Post Today we’re excited to announce a powerful new connectivity feature in Eclipse Ditto: Response Diversion. This feature enables sophisticated multiprotocol workflows by allowing responses from one connection to be redirected to another connection instead of being sent to the originally configured reply target. With response diversion, Eclipse Ditto becomes even...
Support for OAuth2 client credentials flow for HTTP connections Post The upcoming release of Eclipse Ditto version 2.2.0 supports HTTP connections that authenticate their requests via OAuth2 client credentials flow as described in section 4.4 of RFC-6749. Detailed information can be found at Connectivity API > HTTP 1.1 protocol binding. This blog post shows an example of publishing...
Support for HMAC-SHA256 signing for connections Post With the upcoming release of Eclipse Ditto version 2.1.0 it will be possible to use HMAC-SHA256 signing for connections. The currently implemented algorithms support you in authenticating requests against: Azure IoT Hub REST API Azure IoT Hub AMQP 1.0 Azure HTTP Monitor Data Collector API Azure Service Bus REST...
Support SSH tunneling for managed connections Post With the upcoming release of Eclipse Ditto version 2.0.0 it will be possible to SSH tunneling for managed connections With the upcoming release of Eclipse Ditto version 2.0.0, managed connections support establishing an SSH tunnel, which is then used to connect to the actual target endpoint. This is useful...
Use Eclipse Ditto with Azure IoT Hub as message broker Post This blogpost is based upon Eclipse Ditto Version 1.5.0, the Azure IoT Suite as of 2021-03-19 and the azure-iot-device-client version 1.29.2. Connecting devices to Eclipse Ditto via Azure IoT Hub This blog post elaborates on connecting and managing devices in Eclipse Ditto by using the Azure IoT Hub as...
Digital twins of devices connected via LoRaWAN to TTN Post A workshop of the 2020 The Things Virtual Conference on April 16th 2020 is/was about how to connect Eclipse Ditto to “The Things Network” via TTN’s MQTT broker in order to automatically update digital twins of devices connected via LoRaWAN...
Selective push notifications available Post The connectivity service supercharged Ditto’s flexibility in integrating with other services. It’s such a great feature to let the other connected services know about thing updates and property changes. Even the direct exchange with real-world assets became more flexible through the multi-protocol support. But with a steady increase in...
Connecting Eclipse Ditto to Eclipse Hono Post Warning: This guide does no longer work with the latest (1.x) versions of Ditto + Hono. Please take a look and make use of the Eclipse IoT Packages “cloud2edge” package in order to setup and automatically connect Ditto + Hono. With the recently...
Ditto's connectivity capabilities are pimped up Post It has been quite lately on our website and on GitHub as the Ditto team currently prepares its new connectivity microservice. Until now Ditto’s amqp-bridge service could connect to AMQP1.0 endpoints (e.g. Eclipse Hono). That worked quite well, but still had some issues: failover/reconnection...