@edgeberry/device-node-red-contrib 3.3.0
Node-RED node to interact with the Edgeberry Device Software over DBus

The Edgeberry Node-RED node lets your on-device Node-RED flows communicate with the Edgeberry Device Software over DBus to send telemetry data to the Device Hub.
Features
- Send Telemetry Data - Send sensor readings and device data to Device Hub
- Receive Cloud Messages - Receive commands and data from cloud applications
- Application Status - Report application health and status
- Device Identification - Trigger device's physical identification (LED blink + beep sound)
- D-Bus Integration - Direct communication with Edgeberry Device Software
Installation
Option 1: Install via Node-RED Palette Manager
- Open Node-RED in your browser
- Click the menu (☰) → Manage palette
- Go to the Install tab
- Search for
@edgeberry/device-node-red-contrib - Click Install
Option 2: Manual Install
On your Edgeberry device:
cd ~/.node-red
npm install @edgeberry/device-node-red-contrib
Restart Node-RED after installation.
Quick Start
Send Telemetry Data
- Add an Inject node (trigger every 10 seconds)
- Add a Function node with this code:
msg.topic = "telemetry";
msg.payload = {
temperature: 22.5,
humidity: 45,
status: "ok"
};
return msg;
- Add an Edgeberry node
- Connect: Inject → Function → Edgeberry
- Deploy and watch the data flow to Device Hub!
Receive Data on Device Hub
On your Device Hub server with Node-RED:
- Install
@edgeberry/devicehub-node-red-contrib - Add a Device Hub Device node
- Configure it with your device name (e.g., EDGB-A096)
- Connect it to a Debug or Dashboard node
- You'll receive your telemetry data in real-time
Receive Cloud-to-Device Messages
The Edgeberry node automatically receives messages from the cloud:
Device Flow:
[Edgeberry] → [Switch: topic=cloudMessage] → [Process Message]
Switch Node Configuration:
- Property:
msg.topic - Rule:
== cloudMessage
Cloud Flow (on Device Hub):
[Inject] → [Function] → [Device Hub Device: EDGB-A096]
Function Node:
msg.action = "sendMessage";
msg.payload = {
command: "updateConfig",
interval: 30
};
return msg;
The device will receive the message and output it with topic: 'cloudMessage'.
Processing Cloud Messages on Device:
// In a Function node after the Edgeberry node
if (msg.topic === "cloudMessage") {
const command = msg.payload.command;
switch(command) {
case "updateConfig":
// Update device configuration
flow.set("updateInterval", msg.payload.interval);
node.warn(`Config updated: ${msg.payload.interval}s interval`);
break;
case "restart":
// Handle restart command
break;
}
}
return msg;
License & Collaboration
Copyright© 2025 Sanne 'SpuQ' Santens. The Edgeberry NodeRED node is licensed under the MIT License. The Rules & Guidelines apply to the usage of the Edgeberry™ brand.
Collaboration
If you'd like to contribute to this project, please follow these guidelines:
- Fork the repository and create your branch from
main. - Make your changes and ensure they adhere to the project's coding style and conventions.
- Test your changes thoroughly.
- Ensure your commits are descriptive and well-documented.
- Open a pull request, describing the changes you've made and the problem or feature they address.