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
        }
      ]
    }
  ]
}