npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@palmotic/nvmedit

v15.6.6

Published

zwave-js: library to edit NVM backups

Downloads

13

Readme

Z-Wave JS: NVM editor

CLI utility to convert binary NVM backups from Z-Wave controllers into JSON and back. Can be used to edit a Z-Wave controller's memory or convert it between different firmware revisions.
WARNING: This is highly experimental. Use at your own risk!

(Probably) supports all NVM files in the NVM3 format, which is used starting with Z-Wave SDK 6.61+.

Usage

You can either execute the current version directly from npm using

npx @palmotic/nvmedit ...command...

or you can execute the version in the checked out repository by executing

yarn ts packages/nvmedit/src/cli.ts ...command...

The following documentation will use the first approach.

Convert one NVM to be compatible with another one

This is probably the command you're looking for. It converts the format of an NVM backup between different Z-Wave modules.

npx @palmotic/nvmedit convert --source <source> --target <target> --out <output>

<source> specifies the source NVM filename. This file will be converted to match the target NVM.
<target> specifies the target NVM filename. This file will used to determine how to convert the source NVM.
The resulting NVM will be written to <output>.

Convert binary NVM file to JSON

npx @palmotic/nvmedit nvm2json --in /path/to/nvm.bin --out /path/to/nvm.json [--verbose]

The --verbose flag will print additional output like memory page contents or parsed NVM objects to the console.

The .bin file must either contain a 700-series NVM (SDK version 7.x) or a 500-series NVM (SDK version 6.61+). The .json output format will depend on the SDK version.

Convert JSON NVM file to binary

npx @palmotic/nvmedit json2nvm --in /path/to/nvm.json --out /path/to/nvm.bin --protocolVersion <ver.si.on>

<ver.si.on> determines the output format of the NVM file and must be replaced with the target SDK version which must match your stick's firmware version Only firmware version 7.x is supported. Converting a 500-series .json to a 700-series .json must be done beforehand in a separate step.

ATTENTION: The input .json file must contain a "meta" section which contains some information about the target stick. If it is missing, you can use the nvm2json command to convert a backup of the target stick and copy the section from there.

Convert 500-series JSON to 700-series JSON

npx @palmotic/nvmedit 500to700 --in /path/to/nvm500.json --out /path/to/nvm700.json [--truncate]

Some 500-series NVM backups contain more application data than the 700-series NVM has reserved for this field. The conversion routine will try to remove 0-bytes at the start and end, but if this is not enough, it will fail. Set the --truncate option to allow truncating potentially valid application data.

Convert 700-series JSON to 500-series JSON

npx @palmotic/nvmedit 700to500 --in /path/to/nvm700.json --out /path/to/nvm500.json