Outputs & Inputs
Every port has four independent ways data can flow in or out. Toggle each one per port.
| Sink / source | Direction | What it carries |
|---|---|---|
| TCP | both | A per-port TCP server (Modbus TCP / raw bytes / raw MS/TP frames). |
| MQTT | both | Topic-subscribed control + topic-published events on a shared broker. |
| REST | inbound | Synchronous HTTP control endpoints (Bearer-token auth). |
| Webhooks | outbound | HTTP POSTs of every published event to one or more URLs. |
A single decoded event can go out all enabled sinks at once — publish to MQTT and fan out to webhooks from the same reading, while a REST client polls the same port synchronously.
TCP
Each enabled port gets its own TCP server, allocated from port 9000
upward (the base is configurable). The framing depends on the protocol:
| Protocol | TCP framing |
|---|---|
raw | Raw byte stream, identical to the serial line. |
modbus-rtu | Modbus TCP (MBAP) — connect any standard Modbus TCP master. |
bacnet-mstp | Raw MS/TP frames including preamble (55 FF), header CRC, payload, data CRC. |
The Jandy adapter's TCP server is special: it speaks the RSSA text protocol, a drop-in replacement for Jandy's serial-adapter dongle.
MQTT
One shared MQTT client serves the whole instance. Each port has a base topic
prefix (default omnibus/<sanitized-port-path>). Adapters publish parsed
events under that prefix and subscribe to per-protocol command topics.
Sparkplug B publishing is available alongside plain MQTT for Ignition-native
tags.
See Integrations → MQTT for the per-protocol topic maps and payload formats.
:::caution All MQTT payloads are JSON
Every payload OmniBus publishes is JSON-encoded — including primitive values
(a string value goes on the wire as "hello", with quotes). This keeps it
compatible with brokers and with Ignition's "parse payload as JSON" mode,
which silently drops bare primitive strings. See
Integrations → MQTT.
:::
REST
Synchronous HTTP control, authenticated with a Bearer token. Useful when you want a request/response round-trip — e.g. "read these Modbus registers now and give me the answer." Every protocol exposes its own actions.
Webhooks
Outbound HTTP POSTs. Each port has a list of webhook targets; when the adapter publishes an event, every enabled webhook whose event filter matches receives a POST — optionally HMAC-signed. Failed deliveries are retried once and then dropped, so a slow endpoint never blocks the serial bus.