Airtime Max transmit duty cycle
everything this radio sends together, over about a minute (ACKs and replies may go briefly over)
Weights are any numbers: each class is guaranteed its weight's part of the max duty cycle
(weight ÷ total), and may borrow what others leave unused, up to the max. The virtual repeater and companion don't count while they're off.
Packets over their share wait their turn; relays waiting over 20 s, and web, companion or API packets over 2 minutes, are dropped.
MQTT augmentation listen to the observer network as well as the radio
RF will always be used for fallback and route calculations: what the observers report never changes routes,
delivery scores or the push pace, and if the broker is unreachable the room carries on exactly as before.
Virtual repeater a second identity on the room's radio that relays for the mesh
unscoped floods are always relayed
lat, lon in degrees; blank = the room's (set it a little apart so map icons don't overlap)
Virtual companion a chat node on the room's radio that MeshCore apps connect to over the network
Optional. If no private key is imported, one is generated randomly the first time the companion is turned on and kept in the config, so its identity stays the same across restarts.
Connect a MeshCore app to this server's address and port as a WiFi/TCP companion. The port is open only while
the companion is enabled. The companion protocol has no password: anyone who can reach the port can read its messages and send
as it, so keep it on your own network (never forward it from the internet) and list allowed addresses (e.g. 192.168.1.0/24) to
narrow it further. Radio settings, the Bluetooth PIN, reboot and factory reset from the app are acknowledged and ignored.
Messages between the companion and this room or its repeater never go on the air.
Rooms the rooms on this radio, each with its own page, members and passwords
If no private key is entered, one is generated randomly. Each room gets its own page at its path, where its
admins (web UI password) see its members and the map, chat, advert, resync, suggest routes, kick and ban. The join and admin passwords are what
people use from their MeshCore apps. The location is what the room's adverts put on maps; the room's admins can change it on its page, as can you from its Actions.
Rooms share this radio, its map and its airtime; nothing a room's admin does reaches outside their room.
KaaS KISS radio as an API service - useful for bots or other integrations
(optional)
Clients connect a websocket to
with the header Authorization: Bearer <key>.
Receive streams every packet this radio hears and sends. Send may send raw packets: 3 per 20 s per key (ACKs and path returns excepted), within the API clients' share
of airtime (10% guaranteed, more when the channel is quiet: see Airtime), after everything of the room's. Clients do their own MeshCore crypto: see docs/api.md and the Python client in client/.
A key is shown once, when it is made: only a hash of it is kept, so a lost key can't be recovered, only revoked and replaced.Web users MeshCore Web: people log in by signing with their node's private key, which never leaves their browser · open MeshCore Web
0 of 32 sessions in use
Anyone can log in and read. A key may send once this radio has heard it advertise (or after you press Allow send):
3 packets per 20 s each, within the web users' share of airtime, and only as itself. A ban is by public key: a new key starts out unable to send.
Room this room's adverts and location
Advert
What the room's adverts put on maps. Blank both for no position. An advert with the new position goes out within seconds.
Room chat
loading...
Best neighbour repeaters (by trace reliability)
Members Room members · tap a row for details
Suspended Inactive members, will be returned to member list when they are heard on the mesh
Banned Room members who FAFO'd
Repeater map
Select a repeater from the map
MQTT observer admin only
Welcome DMs admin only · sent only to newly logged-in members
Use
{room} for the room name. The rendered welcome message and optional hint together may be at most 151 UTF-8 bytes.