Monnit Edge Flows
iMonnit-Edge — the Flow sensor source
iMonnit-Edge is the node that brings live gateway sensor reports into Node-RED. Everything downstream (filter, BACnet, Modbus, MQTT, http request) starts from this message shape.
This tab is now 03 iMonnit-Edge (after 00 Welcome / 01 / 02 Path).
1. Before this node can do anything
Sensors must already be paired and Online in the Edge Gateway web UI → Sensors:
- Add Device with Device ID + Security Code from the sensor label
- Confirm the row shows Online and a recent reading
- Only then expect messages in Flows
Flows cannot pair sensors. See tab 02 Path for the Edge UI walkthrough.
2. Add and configure iMonnit-Edge
- Palette search iMonnit (or Edge) → drag iMonnit-Edge onto the canvas
- Double-click it — on a real Edge Gateway, leave defaults (it listens to sensors the gateway already knows)
- Wire the right output → Debug / filter / BACnet / Modbus / MQTT / http request
- Done → Deploy
- Node status should not be a red error ring
Lab stand-in on this tab
The green Monnit - Edge - Sensor Simulator emits the same JSON shape as iMonnit-Edge so you can practice without a radio. On a production Edge, replace it with the real iMonnit-Edge node.
3. What leaves the right port (one msg per report)
Each sensor report is one Node-RED msg :
| Field | Typical value | Meaning |
|---|---|---|
msg.topic |
"1234" |
Sensor id as a string |
msg.payload |
object (below) | Full sensor report — this is what BACnet / Modbus / MQTT consume |
msg.timestamp |
epoch ms | When Node-RED handled the message (may vary by node version) |
Example msg (temperature sensor id 1234)
{
"topic": "1234",
"payload": {
"sensorId": 1234,
"name": "Temperature - 1234",
"applicationId": 2,
"state": 0,
"date": "2026-09-22 12:00:00",
"readings": [
{ "description": "Temperature", "data": "22.5" }
],
"batteryPercent": 98,
"signalPercent": 85,
"voltage": 3.05
},
"timestamp": 1727013600000
}
Payload fields to know
payload field |
What it is |
|---|---|
sensorId |
Numeric Monnit id (match filter / BACnet instance / Modbus slot) |
name |
Display name from the Edge |
applicationId |
Sensor application / profile type |
state |
Sensor state flags (aware, etc.) |
date |
Last report time from the Edge |
readings |
Array of channels: description + data (string or number) |
batteryPercent / voltage |
Battery health |
signalPercent |
RF signal estimate |
Multi-channel example (humidity family) — readings may look like:
"readings": [
{ "description": "Humidity", "data": "45.2" },
{ "description": "Temperature", "data": "22.1" },
{ "description": "DewPoint", "data": "9.8" }
]
BACnet / Modbus nodes create one point per reading channel (plus optional battery/signal extras).
4. See it live (do this now)
- Deploy this tab — the simulator should start ticking
- Open the right sidebar → Debug (bug icon)
- Expand a message from Live messages — find
payload.sensorIdandpayload.readings - Or click inject sample JSON below to fire one canned temperature message
- For a fuller Debug walkthrough, open tab 04 See data
No messages?
- Deploy again; Debug filter = current flow / all nodes
- Simulator or iMonnit-Edge showing an error status?
- On a real Edge: Sensors page still Online with a recent reading?
- Wired to the right output of iMonnit-Edge?
5. Next steps
| Goal | Go to |
|---|---|
| Practice Debug / complete msg object | 04 See data |
| One wire per sensor | 05 Sensor filter |
| BMS / PLC / broker | 06 BACnet, 07 Modbus, 08 MQTT |
Production cutover: delete/disconnect the simulator → wire iMonnit-Edge → same downstream nodes → Deploy.