Downlinks
This page describes all LoRaWAN downlinks supported by Fencyboy. You can use them to configure and manage a Fencyboy device remotely.
Fencyboy supports several downlink commands to change config settings, manage the lifecycle (e.g. restart the device) and get debug information. Fencyboy accepts the commands on downlink port 2. Some commands require additional parameters, which are validated on the client side. The following table lists all currently supported downlink commands.
Restart device
0x10
One uint16 (2 bytes, Big-endian) encoding the delay before restarting the device in minutes. For example sending 0x100005 restarts the device in 5 minutes.
Get time till restart
0x11
Returns the time until the next periodic or forced restart happens in minutes as a single uint16 (See Restart device 0x10).
0x80
One uint8 (1 byte) encoding the transmission interval length in minutes minus 1. For example sending 0x8004 will set the interval to 1+4=5 minutes.
Set expected time between impulses
0x81
One uint16 (2 bytes, Big-endian) encoding the expected time between impulses in milliseconds. For example sending 0x8103E8 sets the time to 1000ms.
Set voltage divider multiplier
0x82
One IEE-754 float (4 bytes, Big-endian) encoding the multiplier as decimal value. For example sending 0x8245a14000 sets the multiplier to 5160.
Set smart sleep status
0x83
Save config to EEPROM
0x90
-
Load config from EEPROM
0x91
-
Get currently used config via LoRaWAN uplink
0x92
-
Reset config to default values
0x93
-
Save currently used battery capacity to EEPROM
0xA0
-
Reset used battery capacity in EEPROM
0xA1
-
Sending Multiple Commands
Fencyboy supports multiple commands in one downlink request. You can add up to 16
bytes of commands and parameters in a single request. The request is ignored if you exceed this limit. All commands in your request are processed sequentially. Some common sequences of commands are listed below.
Updating the Transmission Interval Permanently
If you want to permanently change the transmission interval, you can make use of a combination of three commands. First, set the new transmission interval using opcode 0x80
to the desired value. Next, save the currently used settings to the EEPROM using opcode 0x90
so that they won't get lost after the device restarts. Finally use opcode 0x92
to get the currently active config to assure that all settings are correct.
Save Used Battery Capacity and Reboot
Last updated