oee.ai Node-RED Connector
oee.ai is a real-time, plug-and-play, minimally-invasive Software-as-a-Service manufacturing intelligence platform to visualize and improve the Overall Equipment Effectiveness (OEE) of industrial production machines.
The foundation of this analysis is based on the data
produced units over time, i.e. how much output was created during a defined period of time (typically every 30 seconds). This data can be aquired in a variety of ways, and depends on the type and capabilities of the production machine to be connected.
For machines that do not provide any network connectivity, oee.ai offers minimally-invasive hardware sensors, but newer or retrofitted equipment oftentimes provides some sort of connectivity itself (e.g. via OPC-UA, Modbus, PLC, or similar) that can be accessed via Node-RED.
- An industrial PC (IPC) or other on-premise device that can access the machine's connection interface, has internet access to the oee.ai MQTT broker, and can run Node-RED.
- An account for oee.ai. Please contact us at email@example.com to get in touch with us.
- The sensor ID and token for the machine to be connected. These can be found in the oee.ai web application in the menu
Machine -> Sensors.
- Documentation on how to read the number of produced units from the production machine via the available connection.
To install this package, navigate to the top right menu in Node-RED, click
Manage Pallet and select the
Install tab. Search for
@ifp-software/node-red-contrib-oee-ai-connector and click the
This package currently includes one node –
oee.ai Connector. It can be found in the
network section of the nodes list on the left in Node-RED.
This node can be configured with a sensor ID and sensor token as well as the oee.ai instance to connect to (
preview for development and testing, or
production for live machine data).
The expected message properties are:
||number||The number of produced units during the timeframe.||
||timestamp||The end of the timeframe.||
||timestamp||The beginning of the timeframe.||
All properties are optional, but at least
msg.count is required for meaningful use. Also the messages must be sent in chronological order, meaning if newer data exists in the oee.ai time series database, incoming older measurements will be discarded.
The node sits at the end of a flow and takes care of formatting the payload into the required JSON document, creating and maintaining the connection to the oee.ai MQTT broker, and sending the formatted payload to the sensor's MQTT topic every time it is triggered.
The connector node can send data to the oee.ai preview system (used for development and testing) and to the production system (used for live machine data). The IPC running Node-RED must be able to connect to the oee.ai MQTT broker using the connection settings below:
|oee.ai Instance||Web Application URL||MQTT Broker URL||MQTT Broker IP||Protocol||Port|
||TCP + SSL||
Accounts for the web applications are the same for preview and production, but have to be enabled for each system separately. Please contact us at firstname.lastname@example.org to get access.
Sensors (with their ID and token) are not interchangeable between the two instances; sensors configured on the preview system can not send data to the production system, and vice versa.
This package contains two example flows that demonstrate typical use-cases for the oee.ai connector node in Node-RED.
Both examples can be imported into an existing or a new flow by opening the Node-RED menu in the top right and clicking on
Import. In the
Import nodes dialog open the
Examples tab on the left and browse to
Examples -> flows -> @ifp-software/node-red-contrib-oee-ai-connector. Then select one of the available examples to import.
Sending a random number
This example shows how the number of produced units during a given timeframe (typically every 30 seconds) can be sent to oee.ai if they can be read from the production machine directly (i.e. not as a running total). The actual implementation of getting this data from the machine depends on the equipment and is left to the knowledgeable user. In this example it is represented by a
function node generating a random number between 75 and 100 every time it is triggered.
Sending the difference of a running total
This example shows how the number of produced units during a given timeframe (typically every 30 seconds) can be sent to oee.ai if the data read from the machine is a running total. The actual implementation of getting this data from the machine depends on the equipment and is left to the knowledgeable user. In this example it is represented by a
function node that adds a random number between 75 and 100 to a running total stored in it's own context and sends this ever increasing number as
function node stores the previously received
msg.count in it's context and sends the difference to the currently received
msg.count to the connector node. In case the currently received
msg.count is less than the previously remembered number it sends the count unaltered to the next node.
To complete the examples enter the sensor ID and token from the oee.ai web application into the connector node's configuration and deploy the flow. Measurements will then appear shortly after on the oee.ai web application's
Machine -> Measurements page.
Troubleshooting / FAQ
Why does the node not connect to oee.ai?
If the node does not switch to the "connected" status after deploying the flow please check that the sensor ID and token are entered correctly and the selected server matches that of your oee.ai account.
Remaining connection problems can almost always be traced back to some network firewall blocking access to the MQTT broker. Please ensure that the IPC running Node-RED can connect to the oee.ai MQTT broker using the the IP address and port listed above.
Why are all measurements sent to oee.ai zero?
If measurements are sent to oee.ai successfully, but do not show the produced output, most likely the node does not receive messages containing a
count attribute. Please ensure that after reading the production output of your equipment this number is written to
Is it possible to send data more frequently?
There is no benefit in sending data more frequently than every 30 seconds. Analysis and reporting in oee.ai has a resolution of one minute, so all incoming data is assigned proportionally to full minutes on the wall clock. Additionally, every message sent to the oee.ai MQTT broker starts a variety of background tasks to analyze and pre-calculate KPIs, so limiting the incoming message frequency reduces the load on the whole system.
If you have questions regarding the connectivity of your equipment to oee.ai please get in touch with us:
ifp Software GmbH Eupener Straße 22 52066 Aachen Germany email@example.com