Transforms
Matching Order
GATE-Ware compares the incoming message’s AppEUI
and LoRa Port
with transforms defined in the configuration, selecting the most specific match. An exact match will always win over a wildcard match.
Wildcards
AppEUI
wildcards are defined using the "appeui":"ANY"
parameter.
LoRa Port
wildcards are defined using the "port":-1
parameter.
Built-In Transform(s) Configuration
A number of Built-In transforms are available to perform common operations on data.
> Click to see general information on Built-In Transforms.
Forward
GATE-Ware can be configured to forward messages in the original form received from edge devices to the backend.
For example, to forward all messages which do not have a more specific transform configured, add the following to your gateware.json
:
{
"gateware_uplink_transforms": [
{
"appeui": "ANY",
"lora_ports": [
{
"port": -1,
"action": "forward"
}
]
}
]
}
Discard
GATE-Ware can be configured to discard messages received from edge devices. This is useful for conserving Internet bandwidth (for example, if you are using a cellular connection).
For example, to discard any messages which do not have a more specific transform configured, add the following to your gateware.json
:
{
"gateware_uplink_transforms": [
{
"appeui": "ANY",
"lora_ports": [
{
"port": -1,
"action": "discard"
}
]
}
]
}
Text
GATE-Ware can be configured convert the LoRa uplink payload to ASCII text.
For example, to convert messages which do not have a more specific transform configured, add the following to your gateware.json
:
{
"gateware_uplink_transforms": [
{
"appeui": "ANY",
"lora_ports": [
{
"port": -1,
"action": "text"
}
]
}
]
}
Custom Transform(s) Configuration
GATE-Ware can be configured to run custom transforms. This is useful for performing edge processing on LoRa uplink payload from your devices.
> Click to see general info on Custom Transforms
Custom Transform Example
For example, to run the transforms/bash_examples/insert_uuid.sh
custom transform on any messages to AppEUI
2b-7e-15-16-28-ae-d2-a5
on LoRa Port
5, add the following to your gateware.json
:
{
"gateware_uplink_transforms": [
{
"appeui": "2b-7e-15-16-28-ae-d2-a5",
"lora_ports": [
{
"port": 5,
"action": "external_handler",
"external_handler": "transforms/bash_examples/insert_uuid.sh",
"external_handler_timeout_seconds": 1
}
]
}
]
}