#Edge Hub
Edge Hub is the on-machine gateway of the octaview platform. It runs on industrial hardware next to the PLC and the field bus, and continuously records and reacts to machine data.
Edge Hub is built from services — long-running background processes, each responsible for one class of machine data. A service ingests raw data from a protocol, decodes it into named fields, publishes those fields to MQTT, and runs a rules engine over them. When a rule's condition is met, the service executes actions and raises an incident.
#Services
Two ingestion services ship with Edge Hub. Both run continuously in the
background and share the same rules engine and rules.xml
schema — each with its own rules file.
| Service | Ingests from | What it does |
|---|---|---|
tsend2mqtt |
Siemens S7 PLCs, over a custom TCP protocol | Receives PLC frames pushed by a TSEND block (configured in TIA Portal), decodes the data block against a .udt definition, and publishes the tags to MQTT. |
iolinkmaster2mqtt |
IO-Link masters, over Ethernet | Polls the IO-Link master, decodes the process data of each connected IO-Link device (e.g. a SICK MPB10 vibration sensor), and publishes the decoded fields to MQTT. |
Each service is independent: its own connection, its own decoded fields, its own
rules.xml. What they have in common is the rules engine and the incident
contract below.
#The rules engine
Both services embed the same rules engine and use the same XML schema to declare rules. A rule combines a condition on the decoded data with actions and/or an incident:
<rule name="pump-overtemp" cooldown="60s" edge="rising">
<cond device="vibration1" tag="temperature" op="gt" value="50.0"/>
<actions>
<publish topic="alerts/critical" payload='{"alert":"overtemp"}'/>
</actions>
<incident source="vibration1" severity="warning"
summary="Pump 1 over temperature"/>
</rule>
- Actions are the local side-effect — MQTT messages published to absolute topics. They trigger cameras, relays, or other services, and fire immediately and locally.
- Incidents are the human-facing notification. They follow the shared Incident Protocol.
See the Rules Engine reference for the full schema, operators, edge detection, and cooldown.
#Incidents and the web interface
When a rule raises an incident, the service publishes it to Edge Hub's common
MQTT topic, incidents/. Every service — PLC or IO-Link — publishes to the
same topic in the same JSON format, so there is one place to watch.
The Edge Hub web interface subscribes to incidents/, lists active and past
incidents, and lets operators comment on them. Because the envelope is
uniform, an incident from tsend2mqtt and one from iolinkmaster2mqtt appear
side by side and are handled the same way.
#Where to go next
- Supported Hardware — the industrial gateway Edge Hub runs on.
- Rules Engine — the unified
rules.xmlschema: conditions, actions, incidents, edge detection, cooldown. - Incident Protocol — the wire contract
for the
incidents/topic.