Hanno
06/05/2026, 2:25 PMinput:
modbus:
controller: "tcp://192.168.0.1:502"
slaveIDs: [1]
timeBetweenReads: "1s"
unifiedAddresses:
- "output_frequency.input.24.INT16:scale=0.01"
- "output_voltage.input.25.INT16"
- "dc_bus_voltage.input.26.INT16:scale=0.1"
- "output_power.input.27.INT16"
pipeline:
processors:
- mapping: |
if meta("modbus_tag_name") == "heartbeat" {
root = deleted()
} else {
# Payload
root.value = content().string().number()
root.timestamp_ms = timestamp_unix_milli()
# Metadata
meta location_path = "None"
meta virtual_path = "None"
meta tag_name = meta("modbus_tag_name")
meta data_contract = "_sparkplug"
}
output:
sparkplug_b:
mqtt:
urls:
- "tcp://localhost:1883"
identity:
group_id: "Edge"
edge_node_id: "benthos-umh"
Modbus reads great, pipeline works. MQTT connection is made to my broker and node data is sent. But no reading are sent every second to the broker? I am thinking I did something that does not meet the requirements for the sparkplug_b output i.t.o DDATA or something?