NodeJS CLI to Set Power Level on Digi Modules

Digi Module Set Power

Short and sweet, this NodeJS package will do exactly as the title says, simply install the package, plug in your modem, and run the command.

Installation

First, make sure you have NodeJS installed. The easiest way to do this is to open Power Shell and type in node -v. If you get a response and the version is at least 8.x.x then you are good to go. If not, check out the NodeJS installation packages and grab the LTS version (10.13.0 at the time of this writing).

You’ll also need git, you can grab the installer for that on the Git – Downloads page.

Once that’s done, install the package using npm from github:

 npm i -g git+https://github.com/ncd-io/digi-set-power.git

Usage

  1. There isn’t much to this package, so it follows that using it is pretty simple, launch the CLI from Power Shell by typing digi-set-power

  2. If you have more than 1 modem (or USB device using an FTDI chip) plugged in, you will be presented with a list to select the correct device, use the arrow keys to select the device and click enter.

  3. Next you’ll be asked about the time to search for devices, Digi calls this the “Node Discover Time”, it will be sent out as part of the Network Discovery command to all nodes on the network, and in combination with a random parameter on each node, determines the check-in time for the individual modules. This prevents several modules from checking in at the same time, causing dropped packets. The default value here is 13 out of the box, I recommend setting it to the number of devices you have / 3, so if you’re trying to update 120 remote boards, set it to 40. This may need to be adjusted if you don’t think all of your devices are being found.

  4. Lastly, select the power level you would like to set on these devices. The level you choose is highly dependent on your application, and the deployment of your devices. This tool is ideal for reducing the power level on devices when an area becomes over-saturated with traffic, so typically lower is better, but you should do some testing with a couple of boards and make sure that the power level you are going to use is sufficient to the task.

  5. That’s it! Once you select your power level you will see a countdown starting at the time you set in step 3. When the timer reaches 0 it will tell you how many devices it found and is attempting to update. This part shouldn’t take very long, but in the event that the modem loses communication with a device there will be a few second delay for that device while the modem waits for a response. When all of the modules have either responded that the power level was successfully set, or there was a problem, you’ll get a short report of the results. In the event you have failures, the Mac addresses of each failed node will be listed on the screen.