Live traffic
Channel messages your node hears. Bars show the path: one bar per hop, short amber bars mean the sender uses 1-byte path hashes.
Triggers
Each trigger watches for an event, checks its conditions and then runs its actions. Triggers are checked from top to bottom; one marked "stops here" ends the list when it matches. Test any trigger before enabling it — tests never transmit.
Send a message
Sends right away through the send queue, even in dry run.
Ask a repeater
Requests status or telemetry from a repeater in your contacts. The bot logs in first, as guest if you leave the password empty. Use this to find out why a trigger gets no response.
Channels
Channels stored on your companion node. The bot hears, decodes and answers only in these.
| Slot | Name | Type | Used by triggers |
|---|
Join a channel
Nodes
Contacts stored on your companion. Star the repeaters you use often: they stay on top and are suggested first everywhere.
| Name | Type | Path (from your node) | Last advert | Key |
|---|
Nodes whose adverts your node heard, but that are not in its contact list. Check them and add the ones you trust.
| Name | Type | Heard | Hops / SNR | Distance | Area |
|---|
Trigger log
Everything triggers did or would have done. Dry-run entries were not transmitted.
| Time | Trigger | Action | Result |
|---|
Network analytics
Built from every packet the observers report (MQTT read topic) plus this bot's own radio.
Data sources where the data comes from, and what to fix
Recommendations
Repeaters
| Repeater | Fwd/day | Duty cycle | Heard by | Avg SNR | Links | Needed for | No-region fwd | Last seen |
|---|
Packets
Every packet the observers heard, one row per packet. "Origin" estimates where it came from: adverts by the sender's GPS, other floods by the first repeater of every copy. If a sender is heard directly by repeaters on both sides of the border, the origin is "border". Click a row for all copies and the full path.
| Time | Type | Region | Origin | Sent by / entered via | Hops | Heard by | Content |
|---|
Network map
Repeaters with a GPS position, the links between them seen in packet paths, the main routes and where traffic enters the network. Only flood packets are counted.
Weather per channel
Pick a city for each channel. Weather in that channel's triggers and scheduled posts then comes from there. Channels you don't customise use the default row.
Use in templates: {arso_now} current conditions from the station, {arso_today} {arso_tomorrow} {arso_3d} ARSO forecast for the region, {weather} {weather_today} {weather_tomorrow} Open-Meteo forecast for the exact location, {place} city name.
MQTT uplink
Read topics feed the Analytics page. Use one per region code, e.g. meshcore/LJU/+/+, meshcore/MBX/+/+ (the last + gives packets and observer status). Find region codes lists the codes in use on a broker.
Sends every packet your node hears to MQTT brokers, in the same format as meshcore-packet-capture, so analyzers such as LetsMesh accept it. Token login is signed by your node, so its firmware must support on-device signing.
Brokers
Settings
Saved to the database in the data volume. Changing host or port reconnects.
Public read-only view
Shows only Analytics, Packets and Map (plus the printable report) without a password, either to everyone (open landing page) or only to people with a secret link. No triggers, sending, channels, contacts or settings. Decrypted message contents are never shown, only "channel message". Results come from the cache, so visitors can't load the server.
"New link" makes the old secret link stop working immediately (the open landing page is not affected). For admins outside your home network, the bot must be reachable from the internet (port forwarding, a reverse proxy with HTTPS, or a tunnel such as Cloudflare Tunnel or Tailscale Funnel); share only the /s/… link, keep WEB_PASSWORD set for the rest.