The following pages and posts are tagged with

TitleTypeExcerpt
AMQP 0.9.1 protocol binding Page Consume messages from AMQP 0.9.1 brokers via sources and send messages to AMQP 0.9.1 brokers via targets. Content-type When messages are sent in Ditto Protocol (as UTF-8 encoded String payload), the content-type of AMQP 0.9.1 messages must be set to: application/vnd.eclipse.ditto+json...
AMQP 1.0 protocol binding Page Consume messages from AMQP 1.0 endpoints via sources and send messages to AMQP 1.0 endpoints via targets. Content-type When messages are sent in Ditto Protocol (as UTF-8 encoded String payload), the content-type of AMQP 1.0 messages must be set to: application/vnd.eclipse.ditto+json...
HTTP 1.1 protocol binding Page Perform HTTP request (with verbs POST, PUT, PATCH) to HTTP endpoints via targets. Specific connection configuration The common configuration for connections in Connections > Targets applies here as well. Following are some specifics for HTTP connections: Source format Note: HTTP...
Apache Kafka 2.x protocol binding Page Send messages to Apache Kafka via targets. Content-type When Kafka messages are sent in Ditto Protocol, the payload should be UTF-8 encoded strings. If messages which are not in Ditto Protocol should be processed, a payload mapping must be configured for the connection in order...
MQTT 3.1.1 protocol binding Page Consume messages from MQTT brokers via sources and send messages to MQTT brokers via targets. Content-type When MQTT messages are sent in Ditto Protocol, the payload should be UTF-8 encoded strings. If messages which are not in Ditto Protocol should be processed, a payload...
WebSocket protocol binding Page Ditto Protocol messages can be sent as is as WebSocket message. The Ditto Protocol JSON must be sent as UTF-8 encoded String payload. WebSocket features The WebSocket provides an alternative to the HTTP API in order to manage your digital twins. The benefits of the...
Protocol bindings Page A protocol binding defines how the Ditto protocol messages are transported using a specific network protocol e.g. “Ditto Protocol over WebSocket”. The binding defines a set of rules how Ditto protocol messages are mapped to network protocol messages and back. Currently the following protocol bindings are supported: WebSocket...
Protocol examples Page The structure of the examples in this section is as follows: Command Each example always starts with a command message that initiates an operation at Ditto (e.g. create a thing, retrieve a thing). { "topic": "com.acme/xdk_58/things/twin/commands/modify", <span...
Protocol overview Page The Ditto Protocol defines a JSON based text protocol for communicating with digital twins and the actual physical devices they mirror. It defines several commands both the actual device and the digital twin are able to understand. The communication pattern is defined by the Ditto protocol and shown in the...
Things - Create-Or-Modify protocol specification Page All topics contain the <channel> which may be either twin or live. For the meaning of those two channels see Protocol specification. Create a Thing This command creates the thing specified by the <namespace> and <thingId> in the topic defined by...
Things - Delete protocol specification Page All topics contain the <channel> which may be either twin or live. For the meaning of those two channels see Protocol specification. Delete a Thing Deletes the Thing identified by the <namespace> and <thingId> in the topic. Command ...
Things - Messages protocol specification Page Messages within the Ditto Protocol allow sending, receiving and responding to Messages. They contain an arbitrary payload, so you can choose what content fits your solution best. If you want to learn more about the basic concepts of the Messages functionality, please have a look at the Messages page....
Things - Retrieve protocol specification Page All topics contain the <channel> which may be either twin or live. For the meaning of those two channels see Protocol specification. Retrieve a Thing Retrieve the Thing specified by the <namespace> and <thingId> in the topic. The response includes...
Things - Search protocol specification Page Warning: Search commands are not yet mapped in the Ditto protocol.Stay tuned!
Protocol specification for Things Page Ditto Protocol topic structure for Things A valid topic consists of six elements, describing the thing affected by this message and the type of the message: <namespace>/<thingId>/things/<channel>/<criterion>/<action> namespace: the namespace of the Thing. thingId: the Thing ID. group: the appropriate group...
Protocol topic Page The Ditto Protocol defines a Topic for each Protocol message having following structure: {namespace}/{entityId}/{group}/{channel}/{criterion}/{action} Examples for valid topic paths are: org.eclipse.ditto/fancy-car-1/things/twin/commands/create org.eclipse.ditto/fancy-car-0815/things/live/events/modified org.eclipse.ditto/fancy-car-23/things/twin/search org.eclipse.ditto/fancy-car-42/things/live/messages/hello.world Namespace The entity’s namespace in which the entity is located. Entity ID...
Protocol specification Page In order to comply with the Ditto Protocol, a Protocol message must consist of a Ditto Protocol envelope (JSON) and a Ditto Protocol payload (JSON). Ditto Protocol The communication protocol envelope is implicitly defined by the underlying messaging system (e.g. WebSocket) used to transport/serialize the messages...
Protocol twin/live channel Page The Ditto Protocol furthermore covers two different communication channels to address different aspects of devices and their digital twins. Twin The first channel, twin, connects to the digital representation of a Thing. This Thing is managed with Ditto and its state and properties can be read and updated. <img...