Skip to main content

Downlink Commands Generator

Build a STICKER downlink command below. Choose a command, fill in its parameters, and the JSON and the fPort 85 byte payload (hex) update live. The encoding runs entirely in your browser using the firmware's ttn.js codec, so nothing is sent anywhere. The generator encodes the protocol of STICKER firmware v2.0.0. Alarm rules built here are 18-byte v2.0.0 rules and are not valid on devices running v1.4.x.

{ "command": "get_info", "seq": 1 }
Hex · fPort 85
08012200

Encoding runs in your browser with the STICKER ttn.js codec, pinned to firmware v2.0.0. Queue the hex on fPort 85, or send the JSON if the codec is installed as the downlink payload formatter.

How to use it​

  1. Pick a command. For Set alarm rules, choose the rule (0 to 15), the slot (onboard or 1-Wire slot 1 to 4) and the channel, set the rule's values, and set the dwell (see The dwell parameter). On a threshold rule the dwell is a hysteresis band in the channel's units, at most high − low. On a state rule it is a time in seconds, and on a rate rule the counting window in seconds (0 = the report interval). For Set configuration parameters, pick the field and value. The Custom JSON option lets you author any command by hand.
  2. Copy the JSON if your network server has the STICKER codec installed as the downlink payload formatter, then enqueue it on fPort 85. The v2.0.0 ttn.js on GitHub cannot encode Alarm buzzer mode (alarm_buzzer_mode) and Confirmed alarm uplinks (radio_alarm_ack). The generator's copy of the codec can, so queue these two as hex.
  3. Or copy the hex and queue it directly as a downlink byte payload on fPort 85, with no codec.
Persisting a configuration change

For set_param commands, keep Save and reboot ticked so the change is written to flash (the device persists the config and reboots). Untick it to apply a change live without saving, or when staging several set_param downlinks: in that case set save only on the last one.

Queue it on fPort 85​

Once the generator gives you a payload, enqueue it as a downlink on fPort 85 in your network server. The screenshots below queue the device-info request, hex 08012200 (the encoding of {"command":"get_info","seq":1}); swap in whichever payload you built above.

The Things Stack​

  1. Open the device and select Messaging, then the Schedule downlink tab.
  2. Set Insert Mode to Push to downlink queue (append).
  3. Enter 85 in FPort.
  4. Set Payload type to Bytes and paste the hex payload (for example 08 01 22 00).
  5. Keep Confirmed downlink ticked so the device acknowledges the command, then click Schedule downlink.

ChirpStack​

  1. Open the device and select the Queue tab.
  2. Enter 85 in FPort and leave Is encrypted off.
  3. On the HEX tab, paste the hex payload (for example 08012200).
  4. Turn on Confirmed so the device acknowledges the command, then click Enqueue.
Queuing JSON instead of hex

The screenshots use the raw hex payload, which needs no codec. To send the JSON form, install the STICKER codec as the downlink formatter (see the setup pages linked below) and switch the payload type to JSON.

For the command reference and copy-ready examples, see Downlink Commands. For installing the codec, see the ChirpStack or The Things Stack setup pages.