# SysTec IT6000E (ONLINE) Polls **SysTec weighing terminals** (IT3 / IT6000E / IT8000E family) via the "ONLINE-Betrieb SysTec Standard" remote protocol over Ethernet. Requests and responses are short text records framed by angle brackets. The terminal must be in ONLINE mode (or the reduced "Background Online" command set must be enabled in Setup: Application). | | | |---|---| | Connection string | `it6000e.tcp://HOST[:PORT]` (default port 2000) | | Reads | ✔ (poll) | | Writes | ✔ (control commands) | | Subscriptions | — | | Browsing | ✔ (static value list) | ## Device options | Key | Type | Default | Meaning | |---|---|---|---| | `delimiter` | string | `;` | Separator character as configured at the terminal (single character). | | `timeout` | int | `8000` | Response timeout in ms. `RN` waits up to 6 s for the scale to settle. | ## Address format ``` COMMAND[::PARAM][::FIELD] ``` Items sharing command and parameter are read with a **single request per poll cycle**. - `RM::1::netto` — net weight of scale 1, read immediately without motion check (recommended for cyclic monitoring). `RM::netto` uses the currently selected scale. - `RN::1::brutto` — weight read **with** motion check: the terminal waits up to 6 s for standstill and errors on movement. With an alibi memory module every `RN` consumes memory entries — use it deliberately, not for fast polling. - RN/RM fields: `netto`, `brutto`, `tara` (Number), `einheit` (kg/g/t/lb), `stillstand` (Boolean), `status`, `taracode` (`PT` hand tare, `T` auto tare), `identnummer`, `waagennummer`, `fehlercode` (Number), `datum`, `zeit`, `waegebereich`, `terminalnummer`. - `GI::01`…`GI::04` — digital input as Boolean; `GI::00` — all inputs as String. - `GB::prozent` / `GB::volt` — battery state; `RA::x` / `RA::y` — tilt angle. Weights are parsed leniently (leading spaces, comma or dot decimals). If the terminal answers with an error code, the affected group is skipped for that cycle and the code is logged with its manual text. ## Example configuration ```json { "devices": [ { "objectId": "scale1", "name": "Floor scale", "connectionString": "it6000e.tcp://10.0.0.50:2000", "interval": 1000, "enabled": true, "options": { "delimiter": ";", "timeout": 8000 }, "extraOptions": { "host": "broker:1883", "clientId": "openconnect" } } ], "items": [ { "objectId": "net", "DeviceID": { "objectId": "scale1" }, "address": "RM::1::netto", "label": "Net weight", "type": "Number", "unit": "kg", "source": { "tag": "shipping/scale1" }, "enabled": true, "onChange": true, "extraOptions": {} }, { "objectId": "still", "DeviceID": { "objectId": "scale1" }, "address": "RM::1::stillstand", "label": "Standstill", "type": "Boolean", "unit": "", "source": { "tag": "shipping/scale1" }, "enabled": true, "onChange": true, "extraOptions": {} } ] } ``` ## Writes The write topic is a two-letter ONLINE command, the payload the parameter/data part: `SZ` body `1` (zero scale 1), `TA` (tare), `TM` body `000056,71` (preset tare), `TC` (clear tare), `DN` body `Text` (display text), `OS`/`OC` body `01` (set/clear output). ```bash # HTTP — preset a tare of 56,71 curl -X POST "http://openconnect:8080/write/scale1/TM" \ -H "Authorization: Bearer $TOKEN" -d '000056,71' # MQTT (capability mqttwrite) mosquitto_pub -t 'write/scale1/TM' -m '000056,71' ``` See the [write API](../write-api.md) for authentication and the MQTT setup.