How to Send Downlink Commands
Send configuration commands (downlinks) to your IoT devices to change settings, trigger actions, or request data.
Quick Summary
Open any IoT device, find Downlink Action in the Data Overview tab, select an action from the dropdown, and click Send.
Before You Begin
- Device must be online or able to receive queued commands
- Asset Type must have Actions defined
- Your Integration Service must support downlinks
- You need permission to manage IoT devices
What Are Downlink Commands?
Downlink commands are messages sent to your IoT device (opposite of uplinks which come from the device).
Common uses:
- Change reporting interval
- Adjust sensor thresholds
- Trigger immediate reading
- Reset device configuration
- Control actuators (relays, switches)
Sending a Downlink Command
Step 1: Open the Device
- Click the Settings gear icon in the sidebar
- Select IoT Management from the dropdown
- Click on the device name
Step 2: Find Downlink Action
- Go to the Data Overview tab
- Locate the Downlink Action section
Step 3: Select and Send
- Click the Action dropdown
- Select the command you want to send
- Click Send
You'll see:
- ✅ "Send successful" — Command queued
- ❌ "Send failed" — Check connectivity
Understanding Actions
Actions are defined in the Asset Type:
| Action Property | Description |
|---|---|
| Name | Action label (e.g., "Set Interval 5min") |
| fPort | LoRaWAN port number (1-223) |
| Confirmed | Whether delivery confirmation is required |
| Payload Type | HexString, JSON, or Base64 |
| Payload | The command data |
Common Downlink Commands
Reporting Interval
| Action | Effect |
|---|---|
| Set Interval 5min | Device reports every 5 minutes |
| Set Interval 15min | Device reports every 15 minutes |
| Set Interval 1hr | Device reports every hour |
Sensor Configuration
| Action | Effect |
|---|---|
| Set Threshold High 30°C | Alert when temp > 30°C |
| Set Threshold Low 0°C | Alert when temp < 0°C |
| Enable Motion Detection | Turn on motion sensor |
Device Control
| Action | Effect |
|---|---|
| Request Status | Device sends immediate uplink |
| Reboot Device | Restarts the device |
| Factory Reset | Restores default settings |
Real-World Examples
Example 1: Increase Reporting Frequency
Situation: A cold storage sensor reports every hour, but you need more frequent readings during a heat wave.
Solution:
- Click the Settings gear → IoT Management
- Find the cold storage temperature sensor
- Open device details → Data Overview
- In Downlink Action, select "Set Interval 5min"
- Click Send
- Wait for the next uplink (within current interval)
- Verify device now reports every 5 minutes
Result: You now receive temperature updates every 5 minutes to closely monitor cold storage during the heat wave.
Example 2: Trigger Immediate Reading
Situation: You just repaired an HVAC unit and want to verify the temperature sensor is working before leaving.
Solution:
- Go to Settings gear → IoT Management and open the HVAC temperature sensor
- Find Downlink Action
- Select "Request Status" or "Force Uplink"
- Click Send
- Wait 30 seconds to 2 minutes
- Refresh the page
- Check if new data appears in Last Message
Result: Device sends an immediate reading, confirming it's operational without waiting for the normal interval.
Example 3: Adjust Alert Threshold
Situation: A server room sensor alerts at 25°C, but after upgrading cooling, you want to set it to 28°C.
Solution:
- Find the server room sensor
- Open device details
- In Downlink Action, select "Set Threshold High 28°C"
- Click Send
- Confirm success message
Result: The device now alerts only when temperature exceeds 28°C, reducing false alarms.
Example 4: Control a Smart Relay
Situation: You need to remotely turn on a ventilation fan connected to a smart relay.
Solution:
- Go to Settings gear → IoT Management and find the smart relay device
- Open device details
- In Downlink Action, select "Turn On Relay 1"
- Click Send
- Verify the fan starts (via camera or site visit)
Result: Ventilation fan turns on remotely without requiring someone on-site.
When Commands Are Delivered
LoRaWAN Class A Devices (Most Common)
- Commands are queued on the network server
- Delivered on the next uplink from the device
- If device reports every 15 minutes, command arrives within 15 minutes
LoRaWAN Class C Devices
- Devices listen continuously
- Commands delivered immediately (within seconds)
- Higher power consumption
Command Queue
Commands remain queued until:
- Device receives them (on next uplink)
- Command expires (typically 24-48 hours)
- You send a new command (may replace the queue)
Troubleshooting
Command Not Working
| Issue | Cause | Solution |
|---|---|---|
| "Send failed" | Network error | Check Integration Service status |
| Command queued but no effect | Device offline | Wait for device to come online |
| Wrong behavior | Incorrect action | Verify Asset Type action definition |
| No actions available | Actions not defined | Add actions to the Asset Type |
Verifying Command Delivery
- Note the current settings
- Send the command
- Wait for next uplink (check Last Message time)
- Verify settings changed via device response or behavior
Adding Custom Actions
To add new actions to a device type:
- Go to Settings gear → Asset Type
- Find and edit the asset type
- Scroll to Actions section
- Click Add Action
- Configure:
- Name: Descriptive label
- fPort: LoRaWAN port (check device documentation)
- Confirmed: Whether to require acknowledgment
- Payload Type: HexString, JSON, or Base64
- Payload: Command data
- Save the asset type
All devices of this type now have the new action available.
Payload Types
| Type | Format | Example |
|---|---|---|
| HexString | Raw bytes as hex | 01050F |
| JSON | Structured data | {"interval": 300} |
| Base64 | Base64 encoded | AQUv |
Check your device's documentation for the correct format.
Related Articles
Need help? Contact Infodeck Support