README
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.
Prerequisites
- 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 info@oee.ai 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.
Installation
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 Install
button.
Nodes
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:
Property | Type | Description | Default |
---|---|---|---|
msg.count |
number | The number of produced units during the timeframe. | 0 |
msg.to |
timestamp | The end of the timeframe. | now |
msg.from |
timestamp | The beginning of the timeframe. | msg.to - 30 seconds |
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.
Connections
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 |
---|---|---|---|---|---|
preview | https://app.preview.oee.ai | mqtt.preview.oee.ai |
46.101.142.152 |
TCP | 1883 |
production | https://app.oee.ai | mqtt.oee.ai |
174.138.102.247 |
TCP + SSL | 8883 |
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 info@oee.ai 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.
Examples
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 msg.count
.
The second 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.
Next steps
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 msg.count
.
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.
Contact information
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
info@oee.ai