Downlinks
This page describes all LoRaWAN downlinks supported by Fencyboy. You can use them to configure and manage a Fencyboy device remotely.
Last updated
This page describes all LoRaWAN downlinks supported by Fencyboy. You can use them to configure and manage a Fencyboy device remotely.
Last updated
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.
Description | Opcode | Parameter |
---|---|---|
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.
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.
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).
Set transmission interval (send interval)
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
One uint8 (1 byte) encoding a boolean value to activate or deactivate the smart sleep feature. For example sending 0x8301 activates the smart sleep feature.
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
-