Skip to main content

Eclipse Ditto

Eclipse Ditto is an open-source service layer for managing digital twins of Internet of Things (IoT) devices and assets, providing uniform access, control, and interaction over heterogeneous device landscapes (IoT device management / digital twin platform).

  • Digital twin modeling and lifecycle management for devices and assets (IoT / digital twins).
  • Uniform, API-driven access to device state, properties, and telemetry via Hypertext Transfer Protocol (HTTP) and WebSocket endpoints (API access / data integration).
  • Bidirectional command and control of connected devices through a normalized digital twin abstraction (IoT control / device operations).
  • Policy-based authorization and access control for digital twins and their data (security / identity and access management).
  • Integration with messaging infrastructures for connectivity to device backends and enterprise systems (integration / event-driven architecture).

More About Eclipse Ditto

Eclipse Ditto addresses the problem of managing and interacting with large numbers of heterogeneous IoT devices by introducing a standardized digital twin representation for each device or asset (IoT digital twins). The project provides a uniform service layer that decouples applications from device-specific protocols and connectivity details, enabling software to work with digital representations of physical assets through consistent APIs.

The core concept in Eclipse Ditto is the digital twin, which models device properties, features, and state in a structured way (IoT modeling). Each twin can hold configuration data, current and historical state information, and metadata describing capabilities. This abstraction allows applications to read and update device state, as well as express higher-level operations, without needing to handle low-level device communication.

Eclipse Ditto exposes its functionality via HTTP and WebSocket APIs (API access / web protocols). These interfaces allow clients to query and update twins, subscribe to changes, and send commands that are mapped to underlying device operations. The platform supports bidirectional communication: telemetry and status updates flow from devices into twins, while commands and configuration changes flow from twins toward devices via connected backends.

The project incorporates a policy-based access control system to govern which users, services, or tenants can see or manipulate particular twins or fields (security / access control). Policies can define fine-grained permissions for reading, writing, or managing digital twins, which is relevant in multi-tenant or shared IoT environments. This security layer operates at the twin abstraction level, independent of the underlying device protocols.

Eclipse Ditto is designed to integrate with existing messaging and connectivity components such as message brokers or device gateways (integration / messaging). It can subscribe to and publish messages that carry twin updates and commands, linking digital twins to device connectivity solutions. This design allows enterprises to plug Ditto into established IoT connectivity stacks and backends, while using Ditto as the digital twin and Application Programming Interface (API) layer on top.

In enterprise environments, Eclipse Ditto is used to build IoT platforms that manage fleets of devices and assets, provide unified device data access to applications, and enable remote control and configuration through digital twins (IoT platform enablement). It fits into architectures where devices connect via protocol adapters and gateways to messaging infrastructure, while Ditto sits above as the digital twin and permissions layer, exposing standardized APIs to business applications, analytics systems, and dashboards.

From a directory and taxonomy perspective, Eclipse Ditto can be categorized as a digital twin platform for IoT (IoT device management / data access), an API-based abstraction layer for devices (integration / API management), and a policy-aware data access component for device-related information (security / data governance). Its focus is on the representation, access, and control of digital twins, rather than on low-level device connectivity.