tedge-dot-c
The default. The C build: about 25x smaller, a glibc 2.17 floor (Debian 8 / RHEL 7 era), amd64, arm64 and armhf packages, and every protocol, including the PROFIBUS-DP preview.
tedge-dot connects industrial (OT) equipment to thin-edge.io. One
tedge-dot binary reads and writes Modbus, OPC UA and SNMP devices, plus CAN bus, CANopen,
PROFIBUS-DP and AVEVA PI Web API in preview (tested against simulators, not yet on real equipment), and publishes what it reads to the thin-edge.io MQTT broker in one protocol-neutral
format. From there, thin-edge.io flows
turn it into measurements, child devices, alarms, events and device parameters in the cloud.
The connector is a dumb driver. It talks the protocol, decodes primitive values, and applies
what each point declares about itself: scaling and unit (transform), a value map (map) and a
reporting policy (report). It then publishes generic sample, status and cmd envelopes on
te/device/<device>/ot/<protocol>/....
Everything else lives in flows: small JavaScript modules that run inside the thin-edge.io mapper and are hot-reloaded without a restart. The packaged flows register each OT device as a child device, turn samples into measurements, raise alarms and events declared on a point, keep device parameters in the digital twin, and carry writes from the cloud back to the connector. Because every connector speaks the same OT Connector Contract, the same flows work for every protocol.
For many points at a high rate, a connector can publish the measurements itself, hundreds of
readings per message (output = "measurements"), and keep samples only for the points that a
flow still reads. It reads its devices in parallel, within a per-endpoint budget of requests in
flight. See measurement output and
concurrent reads.
Writes never open a second protocol session. A write, or an edit in the Cumulocity Parameters tab, becomes a thin-edge.io command that the connector carries out and acknowledges.
A connector is one TOML file per protocol in /etc/tedge/plugins/ot/:
[connector]: the protocol, the poll interval and defaults such as a heartbeat;[[device]] per device, with its address;[[device.point]]) or from a point library that the
device references by name with points_from, so that a fleet of identical devices shares one
point list.The service applies a changed file within a few seconds, without a restart. Every key is listed in the configuration reference, and the config workbench writes a file for you.
tedge-dot is built twice, from two maintained implementations that run the same test suites.
Both packages install the same /usr/bin/tedge-dot, the same systemd service and the same
configuration layout, so a config or a flow works unchanged with either. A host runs one or the
other.
tedge-dot-c
The default. The C build: about 25x smaller, a glibc 2.17 floor (Debian 8 / RHEL 7 era), amd64, arm64 and armhf packages, and every protocol, including the PROFIBUS-DP preview.
tedge-dot-rs
The Rust build, for the features only it has: SNMPv3 with SHA-2 or AES-192/256, the deprecated Basic128Rsa15 policy, CAN FD.
The package picker recommends one for your gateway, and the install guide lists the differences.