Module summary
Sender module is used to read data from receiver and conditionally execute automated actions, usually to route the processed messages to the other systems.
Module lifecycle
Each sender module connected over the Service bus to exactly one Receiver module and follows this process:
- Periodically checks new data on Receiver
- Read normalized data from Receiver
- Evaluate action rules
- Trigger one or more automated actions
- Delete processed data from Receiver
Action rules
Automated actions are executed, only if action rules are met or no rules are defined.
Currently, there is just one type of action rule - filter rule. Filter rule defines set of filter conditions, which are evaluated in a row. Filter rule consist of referrenced field name, operation type (e.g. EQ, GT, NOT_NULL, etc) and values.
Automated actions
There are following automated action types available out of the box:
- BellaDati REST - Send data to the BellaDati backend over REST API, single or bulk mode for huge data loads
- BellaDati Data set - Send data directly to BellaDati data sets
- HTTP based - Send data to 3rd party systems using HTTP protocol with wide range of authentication options support
- SMTP - Use SMTP action to execute send email actions
- Filesystem - store data to filesystems
- MQTT publish - Publish MQTT messages to the MQTT broker
- Modbus publish - Publish messages using Modbus protocol
- PLC4X publish - extendable module supporting variety of protocols such as AB-Ethernet, ADS /AMS, BACnet/IP, CANopen, DeltaV, DF1, EtherNet/IP, Firmata, KNXnet/IP, OPC-UA, S7 and transports, e.g. TCP, UDP, Raw Socket, Serial Port, CAN bus, SocketCAN, PCAP replay
- Custom action - Custom action implemented using IoT Controller SDK
Roles
This module supports following roles:
Module | Role | Permitted operations |
---|
Receiver | VIEWER | GET /status |
Module states
This module can have one of following statuses:
Verticle | Status | Description |
---|
Receiver | UP | Module is up and running. It operates without any specific limitations. |
PAUSED | Module is paused and not processing nor sending data. Request to "GET /" ends with response code 405. |
API endpoints
This module provides following HTTP endpoints:
Path | Method | Description | URL Parameters | Example |
---|
/ | GET | Returns plain text with ECHO message (should be used in load balancer to detect UP/DOWN status) |
| https://localhost:8101/ |
/status | GET | Returns JSON object that contains internal state of sender |
| https://localhost:8101/status |
/config | POST | Sets the configuration to the module. ADMIN role is required. | - POST body content = config in JSON format
| https://localhost:8101/config |
/reload | POST | Forces reloading configuration of module. ADMIN role is required. |
| https://localhost:8101/reload |
/pause | GET | Sets status PAUSED for sender immediately. Returns response from "GET /status" endpoint (see above) |
| https://localhost:8101/pause |
/resume | GET | Sets status UP for sender immediately. Returns response from "GET /status" endpoint (see above) |
| https://localhost:8101/resume |
/logout | GET | Executes logout of currently logged in user |
| https://localhost:8101/logout |