# node-red-contrib-modbus

### The all-in-one Modbus TCP and Serial contribution package for Node-RED

If you like that contributor's package for Modbus, then please give us your star at GitHub !

## P4NR B2B Community

The P4NR B2B Community driven by Iniationware takes now care about the development and improvements for Modbus. Books, Tutorials and much more will be provided over time and if you need some support the P4NR team can help you. Bianco Royal is in partnership with the P4NR B2B Community.

- PLUS for Node-RED International
- PLUS for Node-RED Germany

## Leanpub Live-Book

We're excited to announce our Online Leanpub Book that covers each v5.x version in detail. This comprehensive guide is aimed to help you learn more about our nodes and the various options inside them. What's unique about this book is its "buy once, update forever" approach. We continuously update the content to bring the latest v5.x changes or new options with each v5.x release version.

Moreover, we're dedicated to responding to your queries. If you have a question, not only will we answer it, but we can also incorporate the insightful answers into the book's future editions. This ensures that all readers stay informed and engaged. Thanks to the P4NR B2B Community

Purchasing our book will greatly support us in our mission to incrementally improve Modbus for Node-RED and beyond with every release in the upcoming decade. Your support will undoubtedly contribute to building a robust Modbus for Node-RED ecosystem.

## Contribution Information

Node-RED contribution package for Modbus version overview:

Based on modbus-serial with TCP, C701, Telnet, Serial, RTU buffered, and ASCII

- stress tested with Node-RED v1.0.4 and Node.js LTS
- works with queueing per unit and round-robin scheduling

Version History

If you like that contributor's package for Modbus, then please give us your star at GitHub !

## Install

Run the following command in the root directory of your Node-RED install

    npm install node-red-contrib-modbus

Run the following command for global install

    npm install -g node-red-contrib-modbus

try these options on npm install to build if you have problems to install

    --unsafe-perm --build-from-source

### modbus-serial, serialport and jsmodbus

The serialport optional dependency is just to list all ports on your system in the client configuration. It is not the serialport version to work with Modbus at runtime. For that check the modbus-serial or jsmodbus package.json, please! The modbus-serial supports and works for TCP connections in that package, too. The jsmodbus package is just to provide a simple Modbus Server node. All Modbus commands running on modbus-serial.

### TCP or Serial testing

If you get in trouble with TCP connections, then check and test with just modbus-serial first, please!

If you get in trouble with Serial connections, then check with just serialport first, please!

## Update/Upgrade/Downgrade

To update the dependencies or the whole package, you have just to install again.

    npm show node-red-contrib-modbus@* version

To get a special version, please set the version with @M.M.F:

    npm install node-red-contrib-modbus@3.6.1

or global by

    npm install -g node-red-contrib-modbus@3.6.1

## Modbus Flex Server

The Modbus-Flex-Server now got its own package. The P4NR team started to work on fixing the vm2 issue, but first, we think as the community here it has to get out of this package to close the issue on vm2 now. The P4NR team will split this package more in the next time into client and server packages to get a better development flow and to react faster on CVE or other issues. This is a first step to v6 of the package.

## How to use

- see Wiki pages
- use the Flow example to see how it works ...
- see YouTube Playlist

## Errors

Since v5.22+ the package will catch network and other errors of the client and server node. That means, you have to handle the error status of the node and Node-RED should not crash in the handled cases.

## Debug

Debug will be activated by starting Node-RED with debug mode:

    DEBUG=contribModbus*,modbus-serial node-red -v

    or

    DEBUG=contribModbus:{option},contribModbus:{option},...

see Wiki pages to get more options in detail

## Contributing

Let's work together! Contributors are welcome. Please, fork the repo and send your pull requests from your repo to our develop branch or open issues while you're testing!

## For Developers

See the scripts of the package and the additional Shell scripts to clean, update, or upgrade this NPM package.

- dev-link (local testing with Node-RED)
- testing (unit, integration)
- coverage
- docs generation
- standard-version alpha, beta, release
- git-flow

## For Testers

Report issues, share your experiences, record tutorials, write Wiki articles and Blogs to share more about this package, please!

## Authors

since April 2016 by Klaus Landsdorf and Community Driven

### History

- contribution since 2016 by Contributors
- license changed in 2016 by Jason D. Harper
- started in early 2015 by Mika Karaila

## Contributors

### Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

### Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

#### Individuals

#### Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

#### Search results