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 🙏

© 2025 – Pkg Stats / Ryan Hefner

node-red-contrib-iiot-opcua-gem

v4.3.0

Published

Enhanced Industrial IoT OPC UA toolbox for Node-RED with array support and dynamic enable/disable features - GEM edition

Readme

node-red-contrib-iiot-opcua-gem

Enhanced Industrial IoT OPC UA toolbox for Node-RED with extended array handling and dynamic enable/disable features – GEM Edition

This package builds upon the excellent node-red-contrib-iiot-opcua by Klaus Landsdorf.
The GEM edition introduces additional features designed for modern industrial automation scenarios.


🆕 New Features (GEM Edition)

🔧 Dynamic Enable/Disable

The OPCUA-IIoT-Connector now provides a Dynamic Enable field, located directly below the Name field.

This feature allows you to disable nodes using either a fixed value or a dynamic value sourced from an environment variable.

  • Leave the field empty to preserve the default Enabled status (all nodes active).
  • Use Flexible Values such as true/false, 1/0, on/off, yes/no, or environment variables like ${OPCUA_ENABLE}.

📊 Extended Array Support

Full support for multiple OPC UA array data types, with improved handling and type safety:

  • Broader Array Coverage: Support for UInt16, UInt32, UInt64, Float, Double, Int16, Int32, Int64, Boolean, String, SByte
  • Improved Parsing & Processing: Reliable array read/write operations
  • TypeScript Definitions: Stronger typing for development consistency

📦 Installation

npm install node-red-contrib-iiot-opcua-gem

🚀 Quick Start

  1. Install the package in your Node-RED environment.
  2. Drag OPC UA IIoT nodes from the palette into your flow.
  3. Configure the Connector with OPC UA server details.
  4. (Optional) Set Dynamic Enable for conditional connectivity.
  5. Deploy and connect.

🔧 Dynamic Enable Configuration

In the OPCUA-IIoT-Connector settings:

  • Empty → Uses the global IIOT_OPCUA_ENABLE environment variable
  • Static valuestrue, false, 1, 0, on, off, yes, no
  • Environment variables${MY_CUSTOM_VAR}, ${PRODUCTION_MODE}, etc.

Examples:

# Global disable
export IIOT_OPCUA_ENABLE=false

# Custom environment toggle
export PRODUCTION_MODE=true
# Connector Dynamic Enable field: ${PRODUCTION_MODE}

📋 Available Nodes

  • OPCUA-IIoT-Connector – Configurable connector with dynamic enable
  • OPCUA-IIoT-Inject – Inject values, including arrays
  • OPCUA-IIoT-Read – Read scalar and array values
  • OPCUA-IIoT-Write – Write scalar and array values
  • OPCUA-IIoT-Listener – Monitor node changes
  • OPCUA-IIoT-Browser – Explore the address space
  • OPCUA-IIoT-Server – Create an OPC UA server
  • OPCUA-IIoT-Method-Caller – Execute OPC UA methods

🏭 Use Cases

Industrial Automation

  • Production Lines: Conditional OPC UA connectivity to PLCs
  • Quality Control: Manage and analyze array-based sensor data
  • Environment Control: Toggle nodes based on plant conditions

Development & Testing

  • Staging Environments: Enable/disable via environment variables
  • Integration Testing: Scripted toggling of OPC UA connections
  • Multi-tenant Systems: Environment-variable driven configurations

🛠️ Environment Variables

| Variable | Description | Default | |---------------------|-------------------------------------|---------| | IIOT_OPCUA_ENABLE | Global enable/disable for all nodes | true | | Custom variables | ${VARIABLE_NAME} in Dynamic Enable | - |

Accepted Values: true, false, 1, 0, on, off, yes, no (case-insensitive)


Array Handling

Enhanced reading/writing of arrays with improved error handling and typing.


🔗 Original Project

This project extends node-red-contrib-iiot-opcua by Klaus Landsdorf:

  • Repository: https://github.com/BiancoRoyal/node-red-contrib-iiot-opcua
  • Documentation: https://noderedplus.de/

🏢 About GEM s.r.l.

Enhancements provided by GEM s.r.l. for industrial IoT and automation.

Lead Developer: Luca Tralli
Company: GEM s.r.l.


📄 License

BSD-3-Clause (same as the original project).


🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m "Add new feature")
  4. Push to your fork (git push origin feature/my-feature)
  5. Submit a Pull Request

📞 Support

  • Report issues via GitHub Issues
  • Refer to original documentation for core functionality
  • Join discussions in the Node-RED community

🔄 Version History

v4.3.0 (Current)

  • ✨ Introduced Dynamic Enable/Disable functionality
  • 📊 Added extended array support
  • 🏷️ GEM edition branding and docs
  • 🔧 Improved TypeScript definitions

Based on node-red-contrib-iiot-opcua v4.2.0.


⚠️ Notice
These modifications have been introduced following the deprecation of the original project.
Users and contributors are encouraged to further improve this library.


Made with ❤️ for the industrial automation community