Monnit Edge - 03 iMonnit Edge
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.
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 |