Example - Modbus Ingestor
Example - TCP Modbus Ingestor
This ingestor will start a TCP Modbus listener that will poll 192.168.2.10 on port 502 every 15 seconds with a read coils (function code 0x01) request to address 0 and slave_id 255. The output of the listener ([]byte) is then passed directly to the template translator via the passthrough handler. The translator then uses the template ('script' field) to generate an EdgeIQ Report.
Ingestor JSON:
{
"name": "webrelay ingestor - fan",
"cloud_ingestor": false,
"device_ids": [
"5984ce31f1f179e7c826b555"
],
"listener_type": "tcp_modbus",
"listener": {
"host": "192.168.2.10",
"port": 502,
"poll_interval": 15,
"timeout": 2,
"params": {
"request_type": "read_coils",
"address": "0",
"slave_id": 255,
"quantity": 1
}
},
"handler_type": "passthrough",
"translator": {
"name": "webrelay translator - fan",
"cloud_translator": false,
"type": "template",
"script": "{\"device_id\":\"webrelay-device-9458\", \"payload\":{\"coil_status\": {{.output}}}}"
}
}
Generated EdgeIQ Report JSON:
{
"device_id": "webrelay-device-9458",
"payload": {
"coil_status": [1]
}
}
NOTE: The result ({{.output}}) from the read coils command will be [1] when the coil is on and [0] when it's off.
Updated over 3 years ago