npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

node-red-contrib-iaes

v0.3.1

Published

IAES Industrial Asset Event Standard nodes for Node-RED — create, validate, route, publish, and bridge Sparkplug B industrial asset events

Readme

node-red-contrib-iaes

IAES Industrial Asset Event Standard nodes for Node-RED.

Create, validate, route, and bridge Sparkplug B industrial asset events — no code required.

Install

In your Node-RED directory:

npm install node-red-contrib-iaes

Or via the Node-RED palette manager: search for node-red-contrib-iaes.

Nodes

| Node | Purpose | |------|---------| | iaes measurement | Create asset.measurement events (vibration, temperature, pressure, power factor, THD...) | | iaes health | Create asset.health events (AI diagnosis, health index, fault classification, RUL) | | iaes work order | Create maintenance.work_order_intent events | | iaes validate | Validate any IAES event against the JSON schema | | iaes sparkplug | Bridge Sparkplug B metrics to IAES events (Ignition, Cirrus Link, DXM) | | iaes publish | POST IAES events to any IAES-compatible HTTP endpoint (batching, auth) | | iaes route | Route IAES events by event_type to 7 typed outputs |

Usage

Sensor to IAES measurement

[inject] --> [iaes measurement] --> [mqtt out]

Configure the iaes measurement node with asset_id, measurement_type, and unit. The node reads msg.payload as the value and outputs a complete IAES envelope.

Dynamic values from msg

All nodes accept values from msg properties. Leave a field empty in the config and set it via msg:

  • msg.payload — the measurement value (number)
  • msg.asset_id — override asset ID
  • msg.source — override source identifier
  • msg.measurement_type — override measurement type
  • msg.unit — override unit

Validate incoming events

[mqtt in] --> [iaes validate] --> [function]
                |
                +--> [debug] (invalid events)

The iaes validate node has two outputs: valid events on output 1, invalid events on output 2.

Sparkplug B to IAES bridge

[mqtt in: spBv1.0/+/DDATA/+/+] --> [iaes sparkplug] --> [mqtt out: iaes/events]
                                         |
                                         +--> [debug] (errors/skipped)

The iaes sparkplug node decodes Sparkplug B protobuf payloads and converts each numeric metric into an IAES asset.measurement event. It auto-detects measurement types from metric names and maps the Sparkplug device ID to the IAES asset ID.

Compatible with: Ignition (Inductive Automation), Cirrus Link, Banner DXM (Sparkplug mode), Eclipse Tahu, any Sparkplug B 3.0 gateway.

Protobuf support: Install sparkplug-payload in your Node-RED directory for native protobuf decoding. JSON payloads work out of the box.

cd ~/.node-red && npm install sparkplug-payload

Examples

Vibration monitoring

[Modbus read] --> [function: extract value] --> [iaes measurement] --> [mqtt out]

Power quality (ION 8650)

[Modbus TCP] --> [iaes measurement (power_factor)] --> [mqtt out]
[Modbus TCP] --> [iaes measurement (thd_voltage)]  --> [mqtt out]

AI health diagnosis pipeline

[mqtt in] --> [iaes validate] --> [function: run model] --> [iaes health] --> [mqtt out]

Publish events to a remote IAES endpoint

[iaes measurement] --> [iaes publish]
                            |
                            +--> [debug] (errors)

Configure the iaes publish node with the base URL of your IAES-compatible server and an optional API key. The node appends /api/v1/iaes/ingest automatically. Set Batch Size > 1 to buffer events and send them as a single HTTP POST.

Route events by type

[mqtt in] --> [iaes route] --1--> [function: process measurement]
                           --2--> [function: process health]
                           --3--> [function: process work order]
                           --4--> [function: process completion]
                           --5--> [function: process hierarchy]
                           --6--> [function: process sensor]
                           --7--> [debug] (spare parts + unknown)

The iaes route node reads event_type from the IAES envelope and sends the message to the corresponding output. Output 7 receives maintenance.spare_part_usage and any unrecognized event types.

Links