node-red-contrib-iotextra 1.2.0
A set of Node-RED nodes to control and monitor IoTextra hardware modules.
⚡ node-red-contrib-iotextra
Connect Node-RED to IoTextra mezzanine modules—stackable I/O boards for digital relays, GPIO inputs, and analog measurements. This package adds three custom nodes that speak MQTT to your IoTextra hardware, so you can build dashboards, automations, and integrations without writing firmware.
IoTextra modules run on the IoTflow framework (MicroPython firmware on an IoTsmart or IoTbase with compatible SoM). Once your device is on the network and publishing to an MQTT broker, these nodes let you read inputs, drive outputs, and stream analog values directly in your flows.
Included nodes
All three nodes appear in the network category in the Node-RED editor. Each node is configured with an MQTT broker, a base topic (matching your device's MQTT_BASE_TOPIC), and a channel number.
iotextra-input — digital input
Subscribes to digital input changes on a selected channel (pins AP0–AP7 on the module). When the firmware detects a state change on the physical input, it publishes 1 (ON) or 0 (OFF). This node forwards that value as msg.payload ('1' or '0').
iotextra-output — digital output
Sends ON/OFF commands to a digital output channel. Accepts msg.payload as true/false or 1/0, publishes the command over MQTT, and emits a confirmation when the device acknowledges the new state ('1' or '0' on the state topic).
iotextra-analog — analog input
Subscribes to analog readings from single-ended to differential ADC channels (e.g. A0–A1, A2–A3 on Analog and Combo modules). The firmware publishes converted voltage or current as a numeric string (e.g. "3.124"). Each message becomes msg.payload for use in gauges, charts, or logic nodes.
Tip: For full wiring, firmware, and broker setup, see the setup guide in the IoTflow repository.
Compatible hardware
These nodes work with IoTextra mezzanine modules connected via the IoTbase or IoTsmart HOST connector and running IoTflow:
| Family | Description |
|---|---|
| Digital IoTextra | Digital inputs and outputs |
| Analog IoTextra | Differential or Single-ended ADC channels (voltage/current) |
| Combo IoTextra | Digital and analog I/O on one module |
You will also need an IoTbase with compatible SoM or IoTsmart module, and MQTT broker access on your network.
Installation
Via Node-RED Manage Palette
- Open Node-RED (
http://127.0.0.1:1880or your instance URL). - Menu → Manage palette → Install tab.
- Search for
node-red-contrib-iotextraand install. - Restart Node-RED if prompted.
Via npm
From your Node-RED user directory (often ~/.node-red):
npm install node-red-contrib-iotextra
Restart Node-RED after installation.
MQTT topics reference
Topics use <MQTT_BASE_TOPIC> as the root (configured on your device, e.g. home/iotextra).
| Category | MQTT topic | Description | Values |
|---|---|---|---|
| Device status | <MQTT_BASE_TOPIC>/status |
Device online/offline | online / offline |
| Digital input | <MQTT_BASE_TOPIC>/input/<channel> |
Input channel state | 1 (ON) / 0 (OFF) |
| Digital output (command) | <MQTT_BASE_TOPIC>/output/<channel>/set |
Set output state | 1 (ON) / 0 (OFF) |
| Digital output (confirm) | <MQTT_BASE_TOPIC>/output/<channel>/state |
Confirmed output state | 1 (ON) / 0 (OFF) |
| Analog channel | <MQTT_BASE_TOPIC>/analog/<channel> |
ADC reading | Numeric string (e.g. "3.142") — unit is V or mA per channel config |
Ensure the base topic in each node matches your device configuration.
Links
- Full setup guide — hardware, firmware, Forge config, and Node-RED
- Node-RED flow examples — importable flows for Relay, Input, Analog, Combo, Octal, MOSFET and Quadro boards
- Make Things Happy — IoTextra products and documentation
- GitHub — IoTflow — source repository
Full compatibility table
The following table shows all IoTextra modules and their Node-RED flow availability:
IoTextra Node-RED Compatibility
| IoTextra Module | Node-RED | Blynk |
|---|---|---|
| Input | ||
| Relay2 | ||
| SSR Small | ||
| MOSFET2 | ||
| Quadro | 🔲 | 🔲 |
| Octal | ||
| Octal2 | ||
| Octal3 | 🔲 | 🔲 |
| Analog | ||
| Analog2 | 🔲 | 🔲 |
| Analog3 | ||
| Combo | 🔶 | |
| Combo2 | 🔲 | 🔲 |
Legend:
License
MIT — see LICENSE.