ChirpStack
Connect a ChirpStack application to HydroNode. Uplinks arrive through the HTTP integration, and HydroNode sends downlinks through the ChirpStack API.
Register the device in ChirpStack
- 1Open your applicationLog in to your ChirpStack instance and open or create an Application.
- 2Check the device profileMake sure a Device profile matches the LoRaWAN version of your device.
- 3Add the deviceOpen Devices, press Add device and enter the DevEUI and the profile.
- 4Set the keysOn the Keys tab, set the AppKey for OTAA or the session keys for ABP. Note the DevEUI and the Application ID.
Link the device to your sensor
Link the DevEUI to a sensor that is set to Outdoor, as described in Bind in HydroNode. Then add a payload layout for each fPort, see Decode payloads.
Send uplinks from ChirpStack to HydroNode
ChirpStack forwards events through the HTTP integration of an application.
- 1Copy your webhook addressCopy the Webhook URL from your profile, just like for TTN.
- 2Add the HTTP integrationIn ChirpStack, open your application, then Integrations, and add the HTTP integration.
- 3Fill in the formSet Payload encoding to JSON and paste your address into Event endpoint URL. Leave the headers empty and press Submit.
ChirpStack sends every event to this address and names the event in the URL. HydroNode stores the uplinks, reads the downlink events txack and ack, and ignores all other events.
See the first uplink arrive
Open the sensor in HydroNode and open its console. Click the bar at the bottom of the page or press the backtick key. The Live tab shows every uplink as it arrives, with fPort, frame counter, decoded values and the result.
| Result | Meaning | What to do |
|---|---|---|
| 202 | The values are stored. | Nothing. The device is connected. |
| 400 no-fport-config | There is no payload layout for this fPort. | Add the layout in the sensor settings. |
| 401 | The token in the address is not valid. | Copy the Webhook URL again. After a token rotation, update it in your network server. |
| 404 | No sensor in your account has this DevEUI. | Link the DevEUI in the sensor settings under Connection. |
More about the console: Device Console.
Let HydroNode send through ChirpStack
HydroNode queues downlinks through the ChirpStack API, with an API key you create in ChirpStack.
- 1Create an API keyIn ChirpStack, open API keys in the tenant that holds your devices and add a key. Copy the token, because ChirpStack shows it only once.
- 2Enter the connectionOpen Profile. Under Downlinks, choose ChirpStack. Keep gRPC-Web as the API, because every ChirpStack v4 server offers it at the address of its web interface. Choose REST only if you run the ChirpStack REST API proxy. Enter the address you open ChirpStack with, for example https://chirpstack.example.com, paste the token and press Save.
- 3Run the testPress Test. HydroNode looks up the station that sent last in ChirpStack, or the DevEUI you enter.
- 4Turn it onWhen the test passed, turn on Send downlinks through ChirpStack.
| Test answer | What to do |
|---|---|
| ChirpStack refused the token. | Create a new API key in the tenant that holds your devices. |
| ChirpStack does not know this device. | Check that the device exists in ChirpStack with this DevEUI. |
| The server address points to a private network. | HydroNode only reaches public servers. Give ChirpStack a public HTTPS address. |
| ChirpStack redirected the request. | Enter the final address of your server. HydroNode does not follow redirects. |
| The server did not answer within 10 seconds. | Check that ChirpStack is reachable from the internet. |
What you can send and how to follow it: Downlinks.
What ChirpStack sends
{
"deduplicationId": "f2b0b8ec-1d5a-4c1f-9d0e-2f2f7d3a1b22",
"time": "2026-07-21T11:24:34.027+00:00",
"deviceInfo": {
"devEui": "a840411b2182cd44",
"applicationId": "abc123"
},
"fPort": 1,
"fCnt": 9846,
"data": "AQH0AgBk",
"rxInfo": [
{ "rssi": -85, "snr": 7.2 }
]
} HydroNode recognises a ChirpStack event by deviceInfo or a top level devEui. Helium consoles send the same event.