Jason Murray 1835b91d47 Rewrite README with requirements and quick start
## Summary
- Describe what the flow does and why, with the flow image up top.
- Add Position and Neighbors subflows to the feature and subflow lists
(they exist in `meshtastic.json` but were missing from the README).
- Add Requirements (including InfluxDB 1.x), a step-by-step Quick start
with the config nodes to edit, a measurements table, and a compatibility
note (last updated for firmware 2.2.15).

Facts were taken from `meshtastic.json` (broker, topic `msh/+/c/#`,
InfluxDB database `msh`, subflow list) and the commit history.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-10-15 14:57:42 -07:00
2023-12-01 23:09:06 -08:00
2023-12-01 23:15:15 -08:00

meshtastic-node-red

A ready-made Node-RED flow that turns Meshtastic mesh traffic into time-series data. It subscribes to your MQTT broker, decodes the protobuf packets, deduplicates them, resolves node names, and writes measurements to InfluxDB so you can chart your mesh in Grafana.

meshtastic-flow

Features

  • Ingestion from MQTT
  • Protobuf decoding
  • Message deduplication by packet ID (5 minute window, so one packet heard by several gateways is stored once)
  • Annotate integer-based node IDs as hex
  • Annotate packets with known NodeInfo (long name, short name, hardware model)
  • Split by every current port number
  • Writing Mesh, Packet, Position, Device, Environment and Neighbor measurements to InfluxDB
  • Debug nodes on all outputs

Included subflows

  • Ingest from MQTT
  • Measurement: Mesh
  • Measurement: Packet
  • Measurement: Position
  • Measurement: Device Telemetry
  • Measurement: Environment Telemetry
  • Measurement: Neighbors

Requirements

Quick start

  1. Install the two palette modules above (Menu, Manage palette, Install).

  2. Import meshtastic.json (Menu, Import, paste or select the file).

  3. Edit the two config nodes to match your environment. The defaults assume a Docker network:

    Node Default Change to
    MQTT broker (Mosquito) mqtt-mosquitto:1883 your broker host and port, plus credentials if you use them
    InfluxDB (Local InfluxDB) influxdb:8086, database msh your InfluxDB host, and a database you have created
  4. Make sure your Meshtastic nodes publish to the broker. The flow subscribes to msh/+/c/#.

  5. Deploy. Packets should start appearing in the debug sidebar and in InfluxDB.

Measurements written

Measurement Fields
Mesh Links between nodes (source, target) with SNR and RSSI
Packet Receive time, SNR, RSSI, hop limit, priority, delayed
Position Latitude, longitude, altitude, satellites in view, ground speed and track, PDOP
Device Battery level, voltage, channel utilization, TX air utilization
Environment Temperature, relative humidity, barometric pressure, gas resistance
Neighbor Neighbor links from NeighborInfo packets, with SNR

Every point is tagged with the sender and receiver (hex ID, short name, long name, hardware model), the channel and the gateway.

Status: archived

This project is archived and read-only. It is kept as a working reference for decoding Meshtastic MQTT traffic into InfluxDB with Node-RED.

It was last updated for Meshtastic firmware 2.2.15. Firmware 2.3.0 and later changed the MQTT payloads (see #11), so the "Ingest from MQTT" subflow needs modification before it will work with current firmware. You are welcome to fork it.

License

The Unlicense. Public domain.

S
Description
Node-RED flows that decode Meshtastic mesh packets from MQTT and write telemetry to InfluxDB
Readme Unlicense
341 KiB
0 Stars 1 Watchers 0 Forks