Milesight LoRaWAN gateway supports Node Red feature, which can help user to simulate and set up related solutions easily. Besides, Milesight developed some own component which can be used directly.

This article describes how to use decoder on Node Red of Milesight gateway.


Milesight gateway: UG6X

LoRaWAN sensor: take Milesight AM107 as an example


Decode the data of Milesight LoRaWAN sensor

Decode the data of third-party LoRaWAN sensor


Decode the data of Milesight LoRaWAN sensor

1. Connect Milesight nodes to Milesight LoRaWAN gateway, please refer to this article:

How to Connect LoRaWAN Nodes to Milesight Gateway.

2. Go to App -> Node-RED to enable the Node-RED feature, after enabled, click Launch to go to the Node-RED web GUI and to log in with the same username and password as gateway.

3. Create topology like the picture below:

LoRa Input: Receive the LoRa data, please ensure the network server mode is enabled before using this node.

Device Filter: Filter out the data of one or more specific LoRaWAN® nodes

Decoder: Decode the Milesight LoRaWAN® end nodes data.

debug: Displays selected message properties in the debug sidebar tab and optionally the runtime log. By default it displays msg.payload.

4. Device Filter configuration, filter out the data via Device EUI

5. Decoder configuration, in this example, select AM100 Series.

6. Debug configuration, just keep it by default.

7. Click Deploy to save the configuration, go to debug page, you can check the decoded data.

Decode the data of third-party LoRaWAN sensor

1. If the sensor is not offered by Milesight, you need to use the component of function instead of Decoder, and then add decoder of your sensor in function.

Create topology like the picture below:

2. Function configuration

Milesight provides SensorDecoders developed via Java Script on GitHub, you need to ask the third-party LoRaWAN sensor manufacturer for sensor decoders.

take AM107 as an example:

Copy AM100_TTN.js decoder to function


If decoder is developed via Java Script, the function header follows this format.

function Decoder(bytes, port) {


Besides, add the following lines of code outside the function

var buffer = Buffer.from(msg.payload, 'base64');
var aa = Decoder(buffer)
msg.payload =aa;
msg.buffer =buffer;
return msg;


3. Then you can check the decoded data in debug page.

                                                                             ----END- --