@fiqch/n8n-nodes-fiq-opcua
Version:
n8n custom node for reading and writing OPC UA data (FactoryIQ)
147 lines (97 loc) • 5.03 kB
Markdown
[](https://github.com/factoryiq-ch/n8n-nodes-fiq-opcua/actions/workflows/ci.yml)
[](https://codecov.io/gh/factoryiq-ch/n8n-nodes-fiq-opcua)
[](https://www.npmjs.com/package/@fiqch/n8n-nodes-fiq-opcua)
[](https://github.com/factoryiq-ch/n8n-nodes-fiq-opcua/releases)
<p align="center">
<img src="icons/FactoryIQ.svg" alt="FactoryIQ Logo" width="200"/>
</p>
# n8n-nodes-fiq-opcua
**FactoryIQ OPC UA Node for n8n**
This n8n community node allows you to connect to OPC UA servers to read and write industrial data, supporting both secure and anonymous connections. Built and maintained by FactoryIQ.
## 🚀 Quick Start
### Installation
Install as a standard n8n custom node package:
```bash
npm install @fiqch/n8n-nodes-fiq-opcua
```
For detailed instructions on installing community nodes in n8n, see the official n8n documentation: [Install and manage community nodes](https://docs.n8n.io/integrations/community-nodes/installation/)
### Usage
Import and use this custom node in your n8n instance. See the [n8n documentation](https://docs.n8n.io/) for details on using custom nodes.
## Features
- Read data from one or more OPC UA nodes
- Write values to OPC UA nodes
- Call OPC UA methods
- Supports all standard OPC UA security policies and authentication modes
## Configuration
### Credentials
- **Endpoint URL**: OPC UA server endpoint (e.g., `opc.tcp://localhost:4840`)
- **Security Policy**: None, Basic128Rsa15, Basic256, Basic256Sha256, etc.
- **Security Mode**: None, Sign, Sign & Encrypt
- **Authentication Type**: Anonymous, Username/Password, X509 Certificate
### Node Options
- **Mode**: Reader or Writer
- **Node IDs**: (Reader) List of node IDs to read
- **Operation**: (Writer) Write Variable or Call Method
- **Node ID**: (Writer) Node ID to write to
- **Value**: (Writer) Value to write
- **Data Type**: (Writer) Data type of the value
- **Object Node ID**: (Writer, Call Method) Node ID of the object
- **Method Node ID**: (Writer, Call Method) Node ID of the method
- **Parameters**: (Writer, Call Method) Input arguments for the method
## Architecture
This package includes a **bundled and optimized OPC UA client** implementation that provides:
- ✅ **No external dependencies** - compliant with n8n verification guidelines
- ✅ **Full OPC UA client functionality** - 1:1 feature parity with node-opcua
- ✅ **Efficient single bundle** - ~7.7MB optimized bundle using ESBuild
- ✅ **All OPC UA data types** - complete support for industrial protocols
- ✅ **Proper connection management** - handles connect/disconnect lifecycle
## Troubleshooting
- The OPC UA client is bundled internally (no external dependencies)
- For connection issues, verify your OPC UA server endpoint and security settings
- Check that your security policy and authentication settings match your server configuration
- All standard OPC UA data types and operations are supported
## Development
- Clone the repository
- Install dependencies: `npm install`
- Build: `npm run build`
- Lint: `npm run lint`
- Test: `npm run test`
## Compatibility
| Package | Version | Link |
|----------------|------------|-----------------------------------------------------------|
| n8n | 1.95.3 | [npm](https://www.npmjs.com/package/n8n) |
| n8n-workflow | 1.82.0 | [npm](https://www.npmjs.com/package/n8n-workflow) |
| Node.js | 18.17.0 | [nodejs.org](https://nodejs.org/) |
| Node.js (LTS) | 20.14.0 | [nodejs.org](https://nodejs.org/) |
| Node.js (LTS) | 22.16.0 | [nodejs.org](https://nodejs.org/) |
- This node is tested and supported on the above versions.
- Using other versions may result in unexpected behavior.
## Resources
- [NPM Package](https://www.npmjs.com/package/@fiqch/n8n-nodes-fiq-opcua)
- [GitHub Releases](https://github.com/factoryiq-ch/n8n-nodes-fiq-opcua/releases)
- [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/#community-nodes)
- [OPC UA Specification](https://opcfoundation.org/about/opc-technologies/opc-ua/)
## License
MIT
## Maintainer
[FactoryIQ](https://factoryiq.io)
## Upgrading
To upgrade to a newer version of the OPC UA library:
```bash
npm install --save-dev node-opcua@^2.xxx.x
npm run vendor:bundle
npm run build && npm test
```
## Acknowledgements
- Portions of this package are derived from the open-source [node-opcua](https://github.com/node-opcua/node-opcua) project, which is licensed under the MIT License.