node-red-contrib-cmqeif
v1.0.2
Published
Node-RED nodes to manage CMQEIF data, Warp 10 and IO-Link devices
Maintainers
Readme
node-red-contrib-cmqeif
A collection of custom Node-RED nodes developed for the CMQEIF project.
The package provides nodes for working with Warp 10, IO-Link devices, MQTT process data and industrial IoT applications.
Installation
From the Node-RED Palette Manager
In Node-RED:
- Open Menu → Manage palette
- Select Install
- Search for:
node-red-contrib-cmqeif- Click Install
Using npm
From your Node-RED user directory:
cd ~/.node-red
npm install node-red-contrib-cmqeifFor Node-RED running in Docker:
cd /data
npm install node-red-contrib-cmqeifRestart Node-RED after installation if necessary.
Included nodes
prepare4warp10
Prepares incoming Node-RED data for storage in a Warp 10 time-series database.
The node formats data using the Warp 10 input format and can associate metadata with the measurement.
Typical configuration includes:
- Metric name
- Unit
- Building
- Room
- School
- Retention information
Example metric:
compresseur.pressionExample labels:
lycee=monnerville
salle=atelierThis node is typically placed before the warp10-post node.
Typical flow:
MQTT → prepare4warp10 → warp10-post → Warp 10warp10-post
Sends prepared time-series data to a Warp 10 server using HTTP POST requests.
The node can be used with data generated by prepare4warp10.
Typical configuration includes:
- Warp 10 server URL
- Write token
- Buffer size
- Automatic buffer flush interval
The node is designed to reduce the number of HTTP requests by buffering several measurements before sending them to Warp 10.
Example architecture:
Sensors
↓
MQTT
↓
Node-RED
↓
prepare4warp10
↓
warp10-post
↓
Warp 10iolinkProcessData
Decodes process data received from an IO-Link master.
The node can extract values from hexadecimal IO-Link process data and convert them into usable numerical values in Node-RED.
Typical configuration includes:
- IO-Link port
- Word index
- Number of bytes
- Data type
- Scale
Supported conversions include:
- Signed 16-bit integer
- Unsigned 16-bit integer
- Unsigned 32-bit integer
Example incoming process data:
00D7FF00The decoded value can then be used by Node-RED, sent over MQTT or stored in a time-series database.
set-timer
Configures the timer interval of compatible industrial devices or IO-Link masters.
The node generates the appropriate request to configure a timer or acquisition interval.
It can be used to control the sampling frequency of connected devices from a Node-RED flow.
Example CMQEIF architecture
Industrial sensor
↓
IO-Link
↓
IO-Link Master
↓
MQTT
↓
Node-RED
↓
iolinkProcessData
↓
prepare4warp10
↓
warp10-post
↓
Warp 10
↓
Data visualization / analysisRequirements
- Node-RED
- Node.js >= 14
Some nodes require access to external services such as:
- MQTT broker
- Warp 10 server
- IO-Link master
Updating
To update to the latest version:
cd ~/.node-red
npm update node-red-contrib-cmqeifFor Docker installations:
cd /data
npm update node-red-contrib-cmqeifThen restart Node-RED.
Source code
The source code is available on GitHub:
https://github.com/ericdaudrix/node-red-contrib-CMQEIF
Issues and feature requests can be submitted through the GitHub issue tracker.
Author
Eric Daudrix
CMQEIF — Campus des Métiers et des Qualifications d'Excellence Industrie du Futur
License
MIT
