Skip to content

oracle-samples/node-red-nodes

Node-RED Oracle Cloud Nodes

This project provides a set of custom Node-RED nodes that integrate the Oracle Database, Advanced Queues (AQ), Oracle Fusion Cloud SCM, OCI services, and the OCI IoT Platform.

What's Included

  • db-nodes

    • Database connection (with Test Connection)
    • SQL execution (Editor or msg.sql)
    • AQ enqueue / dequeue (configurable dequeue mode, continuous retry/reconnect controls)
    • Transactional processing (begin / end transaction with commit or rollback)
  • fusion-scm-nodes

    • General transaction node (fusion-request)
    • General lookup node (scm-lookup), including subinventory and on-hand quantity lookups
    • SMO Transformer
    • SMO Event (submit Smart Operations operational events)
    • Manufacturing work order create/update
    • Manufacturing work order child operations, components, resources, serials, progress
    • Maintenance work order create/update
    • Maintenance work order child operations, materials, resources, cost transactions
    • Create Asset, Create Meter Reading
    • Inventory transactions (misc receipt/issue, subinventory transfer)
    • Delete transaction
    • Lookup nodes (asset, meter reading, organization)
  • oci-nodes

    • OCI authentication config (Config File, Instance Principal, Resource Principal, API Key)
    • OCI Notifications (email, Slack, PagerDuty, webhook, SMS, OCI Functions)
    • OCI Object Storage (upload and download objects)
    • OCI Logging (putLogs to OCI Custom Logs)
    • OCI Log Analytics (upload log events to Log Analytics)
    • ORDS Config, ORDS Request, and ORDS Poll (OAuth-backed ORDS access with IoT Data API shortcuts)
    • IoT Device config (MQTT connection to OCI IoT Platform)
    • IoT Telemetry (publish device telemetry)
    • IoT Subscribe (subscribe to OCI IoT MQTT topics)
    • IoT Send Command (send commands to devices via OCI REST API)
    • IoT Get Content (read digital twin instance content via OCI REST API)
    • IoT Update Relationship (update digital twin relationship content via OCI REST API)

Detailed node-level documentation is available in Node Reference.

Quick Start

Description Resource
Detailed installation Guide
Setup Oracle AQ (queue + subscriber using SQL) Guide
Import examples into Node-RED Guide
Best practices Guide
Node reference Guide

Installation

1. Clone the Repository

Navigate to your Node-RED user directory (~/.node-red) and clone using one of the following methods:

HTTPS

git clone https://github.com/oracle-samples/node-red-nodes.git

SSH

git clone git@github.com:oracle-samples/node-red-nodes.git

GitHub CLI

gh repo clone oracle-samples/node-red-nodes

2. Install Dependencies

Prerequisites

  • Node-RED v3.0+
  • Node.js v18+
  • npm
  • Oracle Instant Client 23c (required only when DB Driver Mode is Thick)

Required Node-RED Dependencies

These libraries must be installed inside your Node-RED user directory (~/.node-red):

cd ~/.node-red
npm install oracledb          # DB nodes
npm install axios             # SCM nodes
npm install https-proxy-agent # SCM nodes (proxy support)
npm install oci-sdk           # OCI nodes (Notifications, Logging, Log Analytics, IoT control-plane nodes)
npm install mqtt              # IoT nodes (Telemetry, Command)

ORDS request/poll nodes use Node.js v18+ built-in HTTP APIs and do not require an additional npm package.

Install Oracle Instant Client (23c)

sudo dnf install oracle-instantclient-release-el8
sudo dnf install oracle-instantclient-basic
sudo dnf install oracle-instantclient-sqlplus

NOTE: Oracle Linux typically installs Instant Client into /usr/lib/oracle/23/client64/lib by default.

If your DB flows use Driver Mode = Thin, Oracle Instant Client is not required.

oracledb is a native module: keep Node.js build/runtime versions aligned and run npm rebuild oracledb after Node.js upgrades.

Local Install Note (Palette Manager Upload)

For local/offline installs via the Node-RED editor, you must generate an npm-packed tarball yourself with npm pack. GitHub source/release tarballs are not directly uploadable in Palette Manager because they do not use the expected npm archive layout (package/package.json).

See Detailed installation: Install from Local .tgz in Palette Manager.

Documentation

You can find the online documentation for the Oracle Internet of Things Platform at docs.cloud.oracle.com.

Examples

Example Node-RED flows are provided in the documentation showcasing different use cases:

  • Subscriber exists? → If Not, Create New Subscriber → If It Exists, Enqueue → Dequeue Example
  • Enqueue → Dequeue → Create Meter Reading → If Not Found, Create Asset
  • Transactional dequeue with rollback protection
  • IoT telemetry publishing and MQTT subscription
  • Closed-loop OCI IoT to Fusion SCM flow with Smart Operations events, maintenance work order creation, and raw command delivery
  • ORDS command delivery/response status polling
  • IoT digital twin content read via OCI control-plane
  • IoT relationship content update via OCI control-plane
  • Threshold monitoring with OCI Notifications

Examples can be imported directly into the Node-RED editor. See Import Examples Guide.

Contributing

This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide.

Security

Please consult the security guide for our responsible security vulnerability disclosure process.

License

See LICENSE.

Disclaimer

Oracle and its affiliates do not provide any warranty whatsoever, express or implied, for any software, material or content of any kind contained or produced within this repository, and in particular specifically disclaim any and all implied warranties of title, non-infringement, merchantability, and fitness for a particular purpose. Furthermore, Oracle and its affiliates do not represent that any customary security review has been performed with respect to any software, material or content contained or produced within this repository. In addition, and without limiting the foregoing, third parties may have posted software, material or content to this repository without any review. Use at your own risk.

About

Custom Node-RED nodes that integrate the Oracle Database, Advanced Queues (AQ), Oracle Fusion Cloud SCM, OCI services, and the OCI IoT Platform.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Generated from oracle/template-repo